Skip to main content

What is Programming?


    We knowingly, as well as unknowingly use many apps or software many times a day, and for almost any task. If you ask for examples, then they are difficult to count. Ever heard of WhatsApp? I bet you have. Along with such online chat software, you might have encountered social media applications like Facebook, Instagram, Twitter, etc., or maybe news applications, even a web browser on which you are probably looking at this post! These all are examples of some Applications and Softwares, and you cant probably imagine life without using any app of any kind these days.


        Due to the COVID-19 pandemic, we all have relied on various apps and websites to keep us connected and to entertain ourselves in this unpredictable situation. Schools started using various platforms like ZoomGoogle Meet, or Microsoft Teams for conducting online classes, usage of apps like Adobe Scan grew to send official documents, homework or assignments, and whatnot. Various businesses started moving online because physically reaching out to someone was not at all safe, and was prohibited by the governments of almost all countries.


     Now, the question comes, "How are these apps made?", to which, the answer is by Programming. There are people who program and make these apps functional and keep them updated to keep up with changing trends. These people are often referred to as Developers, Software Developers, or Programmers. These are sub-categorized based on what they make, into Web Developers, Android Developers, or iOS Developers. There are even more subcategories but let's not talk about it here.



What is Programming?

        In basic terms, Programming is a way to “instruct a device to perform a specific task”. Programming includes various steps like Planning, Coding & Designing, Testing, Debugging, and Deployment. All of these steps need to be performed very carefully and properly, as they are equally vital for the performance of the app, and to make the user more attracted towards using this app rather than other competitors. Here, Planning means to find an issue/situation where one thinks that improvement can be done by the use of Information Technology, and to think of a possible and achievable solution to it (By achievable, I mean not to think of a goal that you cannot reach, for example, time travel using a smartphone 😅). 


    Coding and Designing include creating a good user interface that would impress your customers, and make it functional and as efficient as possible. Coding, as well as designing, are done using different Programming languages, and different languages are used depending on the purpose of the application or based on the developer's capability. These programming languages are made to simplify the development process for a developer or to enable rapid integration of new and better features into an application. There are many different programming languages used for developing different applications, but let's talk about that in another post someday.


    Testing is an important phase in an application's development which assesses the application in real-world conditions to ensure that a user can use the application freely without getting stuck anywhere, which is important to know so that the user does not get frustrated and choose another app instead. Automated testing is done to find technical flaws and manual testing is done for ensuring the comfort of using the app, as well as identifying functionality issues. Debugging is done to remove any bugs or issues found out during the testing phases and/or the coding phase. 


    Deployment is done at the end and is the final stage of app development. Deployment means to make the product publicly available to the target audience, either free of cost, or a paid access, or even with a subscription. For web developers, the deployment stage includes purchasing a server, a domain name and to host the website, and for the Android or iOS developers, it is to publish it on the major app stores of the respective operating systems, i.e., Google Play Store for Android, and App Store for iOS. After the deployment stage is completed, the app is publicly available for use.


Why should you learn to program?

  • It's simply fun! You can learn programming to create some of your own games, your personal social profile page, your own social media networks like Facebook or Instagram, or even an online E-commerce store like Amazon!
  • It's the key to start a Multinational Tech Corporation! The backbones of today’s technology companies like Google, Facebook, Microsoft, Apple, Amazon, and many others, are huge computer programs written by thousands of skilled programmers. So, if you already have a business plan, learning to code would be a good way to turn your dream into reality!
  • Pretty good salary! Programmers are paid extremely well almost all across the world. Top programmers in Silicon Valley make millions every year. A few companies offer salaries as high as ₹70 Lakhs Per Annum.
  • A good exercise for your brain Coding exercises can activate the brain's learning centers. It can improve your memory, problem-solving skills, and cognitive skills as well.
  • Less investment, high returns You don't need anything much to get started, but the returns can be awesome. If you already have a computer, and an Internet connection, you can just start learning and develop a good app, which can give you high returns.
  • Many career options You can put yourself up for hiring on LinkedIn or yourself apply for a job, or hire others by creating your own startup, or work as a freelancer, or teach coding to others, there's a lot many opportunities for you and you won't want to miss any such opportunity.
  • Many things to explore Ever noticed that Google searches give fairly accurate results on every search query? YouTube suggests videos like the ones you've previously watched? Amazon shows advertisements of products related to your past purchases or searches? How do they do that? That's all by programming. You've got a lot of things to explore and this would be an excellent journey for all the curious minds.

Conclusion

    Computer Programming is a huge field and there is a lot to explore further. Keep learning and keep exploring. Feel free to post your questions in the comments section. Don’t worry if you feel that your doubt is maybe silly. Every question is important. 

    If you want to learn to program, stay tuned with this blog, as I would soon be posting content that would be helpful for you to learn to code, and soon you will be able to create some masterpieces!

    If you want to know more about me or my work, you can check out my website www.nalinangrish.me. See ya next time!

Comments

Popular posts from this blog

Programming Languages

      In my previous post, I discussed the importance of apps in our lives, how they are made, and why should you learn to make them. I mentioned that the apps are made up using various kinds of Programming Languages, and in this post, I will show you the key differences between some of the most popular Programming Languages, which will help you compare between different languages you would want to start learning for initiating your career in the cyber world.     Let's get started! Python     Python  is an interpreted, high-level language, and was first released in 1991 as Python 0.9.0, and Python 3.9 is currently the latest stable version of the language available. Python is the most developer-friendly programming language because of its easy-to-read syntax and a comprehensive set of built-in utilities. This much-loved design of the language is based on the Zen of Python  which is a collection of 19 principles for writing computer programs. According to the  StackOverflow Develope

Welcome!

            Hi Guys and Girls! Welcome to my blog!           I am Nalin Angrish, a student from India who loves to code. Being a student, I like to learn things and apply those learnings in some real-life projects. I learn and code in Python, Java, HTML, CSS, and JavaScript, and have good knowledge about Front-end, Back-end, and Database technologies. I focus on building some real-world projects so that I can compete with, and learn from some of the veterans in this industry.       I love to make many different kinds of programs, including mobile apps, desktop apps, and even websites. My ultimate aim is to make products and services that can help everyone, and I wish to contribute my part to improvise the future of this tech world, by collaborating on and building open-source projects.     I often spend days finding simple solutions and documentation for something I want to make or learn, and I know that it's not just my case but there are many other people too. This blog is intend