Skip to main content
7 answers
9
Asked 1413 views

How many programming Languages should I learn?

#Programming-language
#computer-programming

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you

9

7 answers


1
Updated
Share a link to this answer
Share a link to this answer

Tuhin Subhra’s Answer

Interesting question! When I started my Engineering, I first encountered with a programming language (that was C). Later I encountered with multiple programming language like Java, PHP, Perl, C# and Python in my career. Python being the latest addition. Till now I found Python most interesting and easy-to-learn. Having said that, experience in my previous programming language helped me largely to easily grasp Python.
So my suggestion would be, learn one programming language proficiently (C/C++/Java/Python). When there is a need to learn another language, you can pick it up very fast.
All the programming languages were designed considering some challenges which other programming languages can't solve. So, every programming languages have certain pros and cons. So, be a master in one of the language you prefer, and learn others when the need comes.
Happy learning!
1
0
Updated
Share a link to this answer
Share a link to this answer

Carlos’s Answer

I don't know if there is a right amount of languages to learn. I think learning at least 2 shows employers that you are capable of learning a programming language and can pick up another one. This increases your marketability since you are showing you can learn whatever they need you to learn. This minimum amount of languages to learn is also probably industry dependent. I am in analytics so knowing at least R/Python and SQL is pretty good. But other industry/fields might require just one or might need up to even 3-5!
0
0
Updated
Share a link to this answer
Share a link to this answer

Rachael’s Answer

A good place to start for application development is C++ and VB.NET. For web development, start with Java, PHP and ASP.NET. Mobile development will take you to C#, Java and XML. Learning about databases is important too, as every good application will have a database behind it. You can start with Microsoft Access, mySQL or SQLite. Once you learn one programming language and object oriented concepts, it's easy to pick up other languages as needed.
0
0
Updated
Share a link to this answer
Share a link to this answer

Thomas’s Answer

There is no specific number of languages you should learn. It is best to be well rounded in your developmental skills.


Personally, I have experience in C, C++, C#, Java, HTML, CSS, Linux, MSDOS, Oracle, Teradata, and a few others. There are many languages out there. It is best to get as many as you can while in school and understand each of their principles. The more languages you learn, the easier it will be to pick up the next one that comes around.

0
0
Updated
Share a link to this answer
Share a link to this answer

Jeff’s Answer

Hi Somkid,

Great question! When I was working on my bachelor's degree back in the stone age, I wrote programs in 20 different languages, all of which are now obsolete! My thought was that every language you learn makes the next language easier to learn.

In this time and age, I would recommend that you learn C++ and JAVA, both very similar and object oriented languages. I would also recommend Python, a scripting language and JavaScript, a web language. You should also look into SQL, a database language.

This group would give you most of the necessary skills. Just remember that you can always learn another language if you need to. Even though I learned 20 languages in college, I was hired by IBM to code in PL/1 and PL/s, neither of which I had ever seen. IBM figured that since I knew 20 languages, the 21st and 22nd would be easy to pick up! It's all about learning the basics and adapting.

Best of luck!

Jeff
Thank you comment icon You should learn all that you can, it will help so much in the future, KalebBlake
0
0
Updated
Share a link to this answer
Share a link to this answer

Hanish’s Answer

I would say having a solid grasp on at least two programming languages is necessary. There are different types of programming languages. There are strong typed and weak typed, object oriented and prototype based, etc. For someone who is starting out in programming, I would suggest a weak typed languages like python! What do I mean by types? Programming languages have data types which are variables that store data of various types like characters, integers, etc. python doesn’t have this that’s why it’s called a weak typed language which makes it easier to understand and code with.
0
0
Updated
Share a link to this answer
Share a link to this answer

Brian’s Answer

The above answers should show you that there is no right or wrong answer to this. There are a ridiculous number of languages to know and the "important" ones change depending on your goal. The languages you might prefer for mobile will differ from the ones you lean towards for good AI programming and you might not want either if you are getting into embedded systems or legacy programming. Some of the languages are compiled and others are interpreted while others are markup or style definition languages. So, the first question you need to ask yourself is what are you trying to accomplish. One of the biggest mistakes developers make is to take their favorite language and try to use it to solve every problem. I've worked on composite systems that lacked cohesion because every few years a new senior engineer rolled on and had to add a major functional component and just used what they liked with no regard for the existing elements.

So, instead of identifying languages, let's talk about a toolkit. You need to pick up an object based language for sure. This can be C++, Java, or even Object Oriented Python. The important thing is to understand the concepts of an OO language and its benefits. Once you have that, there will be minor differences between the other languages, but that's just syntax that you can Google.

Knowing a markup/data presentation language and how to traverse it like XML or XHTML or JSON will be very useful because it is how information is passed and stored for many online applications.

Some form of SQL is also important because with it comes at least a basic understanding of databases. MS-SQL and Oracle are pretty dominant in enterprise environments, but they don't have the stranglehold they once did. A caution here. Relational databases are still important, but big data and unstructured databases are significant as well.

I'd also include a command line scripting language in the toolkit. This can be something for when you need to orchestrate a bunch of processes together, want to manipulate OS processes, or some quick interaction with the OS or file system. Some interpreted languages have an OO version and can perform double duty here. The nice thing you will discover is that the OO syntax and concepts will be largely identical here. There will just be a few tips and tricks that make it different.

That should cover your bases unless you are going into embedded or legacy systems, or high performance computing task like image or video processing. In those cases you will need assembly language and maybe and old language like COBOL or FORTRAN (for legacy).

You can usually do an internet search to see which languages are trending at any given moment. As of Fall 2020, Java, any .Net, javascript, and Python are all things that are highly marketable.

Hope this helps!
0