Choosing a programming language as a Computer/I.T Engineering Student.

Rohan Chavan
7 min readMay 15, 2020
creds- mkdev.me

You are a computer engineering student and jumbled which programming language you should choose? You (probably) learned some of these (C, C++, JAVA, Python, JS) languages in these your college portion but still, you are confused about which to choose as your primary programming language. Or if you don’t know any and want to know about a starting point to learn, then this article is for you, keep reading

About Me:- I am a final year B.E student and hobby programmer, I am working as an intern full-stack developer from the last 6 months. I have done some freelance web development and being a cybersecurity enthusiast I have also written some exploits and automation tools. Teach programming at Coders Arena on weekends.

Why should you learn a programming language?

In your course of Computer Engineering, you would most likely come across various problems that you have to solve, so a programming language is just a tool through which you can solve a particular problem. Secondly, if you want to get a job you should know at least know one programming language through which you can explain various concepts to the interviewer.

How to choose a programming language?

As mentioned above a programming language is just a tool, to solve a problem. So which language you should choose depends on the problem. You can see it like cutting an apple, you can cut an apple using a knife or a sword as well. But would it be wise to cut an apple with a sword ? its a different case if you are a swordsman. There is also a factor of self-interest which plays a major role in choosing a programming language. But you should at least know one system programming language i.e c,c++, java, python. If you want to be a competitive programmer c++ or java is your goto languages, if you want to learn a language with which you could easily do pretty much anything then it would be python. If you are planning to make a programming language, compiler or even an operating system c is only the solution.

Will it help me in the future?

You will get the answer to this question if you ask yourself what sort of developer or engineer you want to be, or which field in IT excites you the most? If you want to be a web developer and make awesome websites then maybe c++ isn’t for you. If you want to make android apps or IOS apps, is there any reason investing time to learn python? you understood what I meant right?

But hey I don’t want to be a developer, then why/what should I learn? I have answered this question at the end of the blog.

Deciding the career path and suitable language.

1. Web Development

If you want to be a web developer there are a lot of options for you, trust me this could be just another article. But which language to choose as a web developer depends on the project and a lot of factors are taken into consideration. But in this blog, we will focus on choosing programming which is student-oriented and could be used in academic projects.

HTML IS NOT A PROGRAMMING LANGUAGE !!!!
HTML IS NOT A PROGRAMMING LANGUAGE !!!!!!!

You should compulsorily know — HTML, CSS, JS

BACKEND

  1. PHP — PHP is a comparatively easy language and is an old language, which means there are a lot of available guides on the internet. Also, it is very easy to host a PHP based project on shared hosting FREE of cost. But if you are thinking to use PHP as your primary backend web dev language then you should consider learning frameworks like CakePHP, laravel, etc. But the interviewer won’t be much impressed to see PHP in your resume, its sadly not the buzz word anymore, But its surely worth it to learn as your first serverside language.

2. Python Django — Django is a python web framework that is trending today. You can make awesome web apps easily which is also easy to host and deploy, thanks to Heroku. You can make rest API, there are a lot of plugins that you could use with Django and can make your life easy.

3. Node Js — Node js is the most common js framework which you will see in the current market. You must have often heard people saying MERN stack, MEAN stack, etc, where N stands for node. If you learn node you are guaranteed to get a job.

4. Java Spring — I am not a java developer and I haven’t worked extensively in java, but java is used to make enterprise-level Softwares, you won’t most likely see it in startups you would see it in MNC tech giants, mostly service-based companies.

Other options are ASP.NET, GO, Ruby, etc which are not that beginner-friendly but are damn good.

FRONTEND

  1. BOOTSTRAP — Bootstrap is the most popular CSS framework for developing responsive and mobile-first websites.
  2. React/Angular/Vue — These are js frameworks that are used for frontend development and are currently trending. Honestly, these are not that tough if you know HTML and js then you can easily understand these frameworks.

DATABASE

Most of the recent programming frameworks use ORM (object relation mappers). If you don’t know what an ORM is then you should read this article (After you complete this )

  1. Mysql
  2. Postgresql
  3. MongoDB

2. Mobile App development

Mobile app development can be classified into three parts,

  1. Android — Java,kotlin
  2. IOS — swift
  3. Hybrid — Flutter, react native

The biggest benefit of learning flutter is that the same code base is used in android as well as IOS, which is a huge benefit for companies. Instead of hiring one Android developer and one ios developer for a single project the company would hire one hybrid developer. So learning a hybrid language would get you going.

3. Networking/DevOps

This is a field that will require you to have strong knowledge of Linux, or windows. And yes programming is also an essential skill you need to possess if you want to excel in this job. These sort of jobs needs you to automate things a lot, so you need to learn a language which could be let you easily automate something such languages are also called scripting languages.

  1. python
  2. shell scripting (bash scripting)
  3. Powershell

4. DataScience/Data Analytics

It is a set of disciplines and practices that handle data in a scientific manner. The foundations of data science are mostly Mathematics and Statistics, sometimes Software Engineering would play a role as well.

  1. Python
  2. R — (Yes it is a programming language)

5. System Programming

If you love making desktop apps, then you will have to learn C, C++, C# to the very core.

6. Cyber Security

Cybersecurity is a big concept, you could learn to hack/secure something by using a particular tool, but if you will work as a professional penetration tester or a malware analyst, or a malware developer you should know to program. You should learn how to quickly automate things, you should be able to make a Proof of concept exploit, you should know basic networking. But to start professionally below is what I feel you should know

  1. python — To write automation tools, exploits
  2. shell scripting — Automation
  3. c,c++ — Malware/virus development
  4. PHP — write web-based exploits

Nobody said being a hacker is easy ‘\_(^^)_/’

7. Game Development

I am not so familiar with this field but I’m well aware that c++ and c# are used to make games, so those are a good starting point if you want to develop games.

Hey, I hate coding !!!

You could work as a software tester which is also a good field if you don’t want to spend your entire life coding things. But still, if you want to do good in this field you will need to learn something called automation testing. You could search on google regarding selenium which is used for automation testing. Selenium can be used with python or java, but using it with python is very easy, and you should consider learning it.

My Programming Journey

Just like many other students I had never written a single line of code until I wrote hello world in C in my first year. After then I learned a bit of java as it was in portion. But I was never overwhelmed with it, meanwhile, I had started learning PHP on my own. I practiced a lot and made a lot of projects in PHP, bootstrap which helped me build a solid foundation of how server-side programming languages work. Then I learned python and started using Django, the learning curve was quite tough but the understanding of PHP helped me through it. After that, I decided to explore js frameworks to improve my front-end skills and learned react. I am currently using GO which has also become my favorite programming language.

That’s it, folks !!! I hope this article will help you to choose a programming language. These are my thoughts, and I completely understand that yours might be different. If you have any doubts please feel free to respond below, I would be happy to answer your questions. Best of luck, Happy coding !!!

--

--

Rohan Chavan

Python Full Stack Dev | GO | Security Enthusiast | Bug Bounty | Automation