What is programming, Programmers and Developers?

People often talk about Programming, Programmers, Developers but lots people don't have a clear understanding about those terms . Generally when people talk about programming they think about computer programming but computer programming is one of the best way to practice programming . Programing is all about better ideas, better organizing with new and optimize problem solving technique than previous . A programmer can be a Doctor, an Architect, wedding planner or may be shopkeeper, in short a better organizer . Then what about Developers? A developer is persons who execute or build something according to the programmer plan . For an example In a wedding the wedding planner is programmer and his practice is programming and those people who organize it in according to the wedding planner is developer .

What is computer programming?

In short computer programming is a magic and programmers are the magician and the programming languages,Compilers whatever they using is the tools of magician . Computer programming is not all about doing codes all day long but it is all about how well you organize your codes and how much efficient it is! In short computer programming is all about problem solving . A problem can have multiple solution, an ordinary programmer can pick random one but a good programmer always choose optimal one and this is the main difference between a good and ordinary programmer . Good programming is not over night process . It improve day by day . Problem solving ability enhance our thinking ability which makes you better and better programmer by day by day practice. That is why computer programmer is the best programmers in the world .

What is the best programming language and Which one i should choose?

This a very common question beginners are often asked . But programming language is just a tool it is not define how good programmer you are . Only problem solving ability will make you different than others . If someone ask me the question i will suggest him / her to start with C Programming . Now lots of people can be disagree with me . I am suggesting because if you want to be a very good software engineer then you must have very good idea about memory management . Why you need to know memory management? for an example you and you friend make same app but your friend's app loading very fast but your app loading slowly this is because of proper memory mangement . Now most of the modern language like python , JavaScript are skipped the memory management but in C exist, some people will say Then Why not Java? C is more easier than java to learn and main reason is C has low level access to the memory like pointer but it not available in Java The concept of memory management will help you a lot when you are started to work in software development domain.

What is the ideal way of learning Programming language?

Different people can have their own ideal way to learn programming language but according to me the best way of learning programming is learn a topic and solve the related problem in different Online Judge . For an example you learn if_else then solve the if_else related problem from different online judge as much as you can . Once complete learnt C programming completely that means you are master of using loops, conditional statements , arrays etc However the concept of loop, conditional statements, arrays is same for almost all the language so you know 60% concept of other programming languages but may be little change in syntax .

Now you should jump into Learning Data Structure and Learn Algorithm because these will help to pick the optimal solution of a problem . In here Also you should apply the same way that you did when you were learning C programming . For an example you learnt DFS solve the relevance problem from different online judge and participate different online contest like CodeForce, Hackerrank etc

[Note: You must store all the solution where ever you want]

I have learnt all these things Now what should I do?

This is a crucial moment for all programmers . Before explain everything i want to mention one thing the main concept of all programming language is conditional statements, loops, arrays etc is same. However you have learnt those topics while you was learning C programming so that i can say you are covered 60% of any programming language and you have better understanding these topics than others because C is structural programming language . So It is comparatively easy to learn and analyze the code .

Now............

Differnt people can have different goal like may be someone want to be a Data Scientist, someone Web Developer or someone want to get a job in big tech company like google,facebook. See the following table and match your interest and start learning today .

# Interest You should do
1 If your target is big tech company like google, facebook Start to Learn Python or Learn C++, Learn Data Structure and Learn Algorithm stay tune with problem solving .Try to participate codeJam, ACM ICPC, HackerCup contest . Side by side make you own project . Because most recruiters wants better problem solver in big tech companies .
2 If your target is Data Science , Machine learning , AI Start to Learn Python and its libraries related to Data Science , Machine learning , AI . Because it is easier to implement in python.
3 If want to be a Web Developer. Then you should start to lean following:
For Front-end:
  1. Learn HTML & CSS
  2. JavaScript
  3. Learn React.js or Learn Vue.js
For backend: learn any of one
  1. Learn Node.js(JavaScript framework)
  2. Learn Python
  3. Learn PHP
  4. Learn C#
  5. Learn Java
I will suggest you to learn JavaScript because it is supper easy to learn . If you learn JavaScript Front-end and backend both will cover.
5 If want to be an Android app/ Ios app Developer For Android :
  1. Learn Java or Kotlin
For Ios:
  1. Learn Swift
6 If want to be a game Developer Start to learn Lean C#