Which Is The Right Programming Language For You?

Priyanshu Saraf
7 min readSep 26, 2020

Choosing a programming language is by far the hardest thing that a beginner programmer needs to do, and I hope that this article makes life easier for junior developers…

The number 1 thing which you have to do before even starting programming is defining WHY you wanna learn to code. Do you wanna make web applications or games or Machine Learning bots or just wanna automate some boring stuff?

This article will ONLY be helpful to you if you have an end goal. If you do not have an end goal, i’d say that as long as you are not into app development or game development, learn python. It is simple to learn, has an English-like syntax, and is also capable of doing a TON of things, and you will be seeing it’s reference in this article quite a bit. So now, let us start.

1. Website development:

If you are into website development, my personal recommendation is going to be to firstly learn HTML and CSS, which ARE NOT programming languages, and you can pick them up in a week or two’s time. After that, learn JavaScript. It will be harder than HTML and CSS, although not that hard that you can not learn it at all. It might take you 30 days to learn the basics, and then make some really basic web apps. After learning the basics of JS, learn the principles of object-oriented programming and EcmaScript 6. This means learning stuff like fetch API, async await, arrow functions, and more. Then, make a project involving some sort of an external API. This will strengthen whatever you learn quite well. After this, learn a front end framework/library. My favorite one is React JS. Learn anything that you want, but react is a really good one which I highly recommend over angular. You can even try Vue, its also a really good framework. Make some projects which might challenge you, and get your concepts clear. Then, move on to the back end. For back end, you should learn something like node JS and express, combined with MongoDB. If you learn all this, you can be called a Full-Stack Developer. Express is used for making the API and for handling the server. MongoDB is used as the database. A database is a store house of all the data that we get from the user, and we use it for storing the activities or the data of the user. Although, you will need some amazing projects. You can try to make some clones like Instagram clone, snap chat clone, etc-. This will boost up your portfolio like anything. Make sure that you are using your entire skill set to make these projects. The resources which I would recommend you to go through for learning web development are: YouTube, W3Schools, and freecodecamp.org

2. Mobile App Development:

If you want to be a mobile application developer, my personal recommendation to you would be to learn flutter. Even though it is a relatively new language, it is just amazing in my opinion. With flutter, you can have a single code base and make cross platform applications! That means that you do not have to write separate code for Andriod and iOS. This is a HUGE advantage, and even though it did exist with React Native before the release of flutter, the problem with react native is that you have to learn react before learning react native. With flutter, you only have to learn Dart, which is a programming language having a syntax similar to C. Do not worry about the language itself because It is not that hard to learn. One of the best parts about flutter is it’s reusable widgets, which are exclusive to flutter itself. They are beautiful and you can really make amazing looking apps with them. Flutter has a family-tree like structure with it’s code, that means that there’s one parent component, and then each child of the component has another child component, and so on. The resources which I recommend you to go through for learning app development with flutter are: YouTube and the official documentation of flutter.

3. Game Development:

For all of you guys who like to play video games, well, you might like this one. The best technologies which I would recommend you to use for game development are C# and Unity. Learn the basics of C# and then combine it with unity to make amazing games. Also, with C#, you can make websites and apps, although I do not recommend using it for that purpose because we have better technologies for that. C# best fits in the category of game development because you can make 2D as well as 3D games with it. From anywhere between making a game as simple as flappy bird to making games as complex as PubG, C# can do the job. Some people might say that C++ and Java can do the job too, and they are right. You can use any of these 3 languages for game development, although I would personally go with C# because it is not that hard to learn. For game development, I recommend you to go to YouTube and look up game development tutorial, and you should find some really good videos. I really do not know much about game development, and hence I cannot recommend anything other than the tech stack and YouTube.

4. Data Science and Analytics.

This is one of my favorites. Data science is the skill to manipulate raw data to sort it, remove duplicate data, and express it in the form of charts or graphs. The tech stack which I would recommend using for this is going to be python and the libraries — numpy, pandas, and matplotlib. The reason for choosing python over R is that python is REALLY simple to learn and can also be used in SEVERAL different places, as we will discuss below. Numpy helps you make 2 dimensional or 3 dimensional lists and arrays, which can be really helpful for you. Pandas is for the manipulation of data and for the juicy stuff. You sort, add to, or change the data using pandas and it is super simple to do that. The last one here is matplotlib, which essentially lets us plot the data which we have and represent it graphically in charts and graphs. Keep in mind that you do need to have a little understanding of advanced mathematics. I highly recommend going through coursera for learning data science because here you will find some really good courses on data science straight from the colleges.

5. Machine Learning and A.I.

Again, this is one of my favorites, and also, this goes hand in hand with data science. Make sure that you learn both data science and machine learning to excel in this field. The tech stack which I would recommend you to use would be Python, and libraries like TensorFlow, openCV, Keras, and Sci-Kit learn. TensorFlow is one of the BEST libraries for python, and it is partially the reason why python gained so much popularity among developers. You can make some AMAZING bots with this tech stack. Sci-Kit learn is basically a really good library for clustering purposes, and I highly recommend you use it. Keras is also a library, although I do not know much about it. Open CV is a library in python which deals with images and you can make some really cool image recognition projects with it. With the help of Sci-Kit learn, you can make bots which cluster the input data, and give some output based on that data. For example, you can make a bot which can tell whether the given image is a dog or not. TensorFlow can be used for making stuff like chat bots and trading bots which you might have to give some algorithms to effectively trade for you. This is my own favorite library because of all that you can do with it. If you want to, you can even try to make something like a clone of Siri with it’s own set of functionality, like opening your mail, or making a file at your command. It is really powerful, and you should definitely give this library a try. Keras can do some good deep learning stuff, and to be honest, It might take a lot more time to make an entire section about deep learning. I will be covering A.I. soon, so stay tuned! The top resources which I would recommend you to learn machine learning are the course lecture series by MIT on EdX, and the official documentation for TensorFlow. Note that machine learning does require you to know calculus for a very clear and deep understanding on how the algorithm works or how the machine actually works, but if you want a straight forward answer, I would say that its basically this: You give the machine some data, you make an algorithm for the machine to do something with that data, and the machine gives you some output, and this is the reason why you need to have an understanding of Data Science before starting off with machine learning.

That is going to be it for this blog post.

Thank you! I hope that you found it valuable!

--

--

Priyanshu Saraf

Blogger, freelancer, and Tutor! Let’s connect on instagram! Here’s my handle: @saraf_priyanshu_