Skip to main content
7 answers
9
Asked 1912 views

Programming Language

What kind of programming languages should I learn as a programmer? #software-engineering #computer-science-phd

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

9

7 answers


4
Updated
Share a link to this answer
Share a link to this answer

Eric’s Answer

Best of the Village

In general, the more you learn, the better a programmer you will be. Especially, the more with different approaches that you learn.


Start with a language that works for something you are interested in doing.


If you want to write command-line programs, I'd probably start with Python (it is also useful for writing servers, which will come up in some of the other cases).
If you want to write Web programs, learn JavaScript (HTML and CSS aren't "languages" in the usual sense, but you'll need them to lay out the pages where the JavaScript runs). Learn Python for more advanced Web programs with server-side pieces.
If you want to write Android apps, learn Java.
If you want to write iOS apps, learn Objective C or their new language, Swift.
If you want to program microcontrollers like the Arduino, then I think you would use C.


Once you've learned a first language, learn a second. You'll be able to begin to think in terms of how to solve problems with a computer, instead of how to do something with the particular language (many students learn Java, and then the first question they ask themselves when approaching something new is "What objects do I need for this?", which is a very different question from how to actually solve it. Maybe you just need a series of functions).


Once you've learned a few languages, start to seek out ones with radically different paradigms. Lisp and Haskell are two good ones that will likely challenge how you are thinking about programs, and improve how you write in any language.


Most good professional programmers can pick up most new languages in the matter of a few hours, because of knowing enough other languages that they can see how the new one just expresses the same ideas they've seen before.


The end result of all this is, as I said, pick a language that will let you do something you want (either because it would be useful for a project, or because it's something you would have fun doing, which is always great motivation), and then branch out however you can from there.


Is there anything in particular you would like to be able to program?

Thank you comment icon Great answer! I suggest registering with freecodecamp and knocking out a ton of "challenges" to find out your strengths/weaknesses/interests. Plus, joining Git-Hub and linking to the general chat group for their input. Laura D. Brown, M.B.A., P.M.P., C.S.M.
Thank you comment icon It should be "GitHub" John Vu
Thank you comment icon Thanks John! Laura D. Brown, M.B.A., P.M.P., C.S.M.
Thank you comment icon Thank you Keerthana
4
2
Updated
Share a link to this answer
Share a link to this answer

John’s Answer

Any language really. A tough but widely used language is JavaScript.

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

Wichian’s Answer

Many programming languages are similar. There is only thing that is difference is their syntax. However, it is almost impossible to lean all programming languages and be very good with all of them. If I have to pick that programming language that I could be very good with, I would pick either "java" or "C".

Thank you comment icon I suggest exploring this a bit deeper through Git-Hub and the like. Build a "total immersion" strategy to learn more about the most popular languages. For instance, download apps on your phone, listen to programming language tutorials and intros on audible and podcast, join programming chats and get notifications related to the languages you are drawn to. Laura D. Brown, M.B.A., P.M.P., C.S.M.
1
1
Updated
Share a link to this answer
Share a link to this answer

Amey’s Answer

I would suggest start learning a backend language like Java or Python. It will help you learn about the internals of computer as well. Although learning internals is not necessary but it will help you in long run to understand some difficult concepts.
Javascript is another language which you can start with as it will more engaging than a back end language.
Both ways there are many programming languages and you won't come across all of them in your life.
But you won't be sticking to a single language for the whole time.
My ideal path would be: java-- to understand object oriented paradigm(very important currently)
then jump on javascript and then decide for your self what domain you like more and start exploring.


Good luck

Thank you comment icon i prefer a deep dive into the back-end languages and development strategies; however, it's not for everyone. I suggest registering with freecodecamp and Git-Hub and knocking out the challenges that are free. This portal is a brilliant way to find out the areas in which you're best suited and learn what's trending. Good Luck! Laura D. Brown, M.B.A., P.M.P., C.S.M.
1
0
Updated
Share a link to this answer
Share a link to this answer

Jesse’s Answer

Why are there are many languages to choose from?


Much like spoken languages, they all can communicate the same ideas. But they have different strengths, different weaknesses, different rules. These can make one language better for a task than another.


Clearly some tasks will require a specific language. So perhaps you want to start from the job you'd like to have, and work backwards. But whatever you pick, it will have tremendous value to compare it to the other languages to compare and contrast.


C#, Java, Python, Ruby. What do they use most in your desired field?

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

Laura D.’s Answer

I'd suggest first building a broad understanding of the various career paths offered in Computer Engineering. Understand the differences between an "architect", software developer, coder/programming, and tester, for instance. Get connected to blogs (like this and others) to computer professionals who are building their career doing what you are passionate about doing. I highly recommend freecodecamp. This is such a brilliant online community and learning tool - free to anyone with the desire to learn. Once you've gone through all the "challenges" in the various languages provided, you can get certified to program and build experience donating your time coding for non-profits. It's a win-win deal for everyone. At freecodecamp, students and professionals are encouraged to get connected to others through Git-Hub chats and really immerse themselves into the world of programming. Total immersion will naturally lead each person to evolve in the areas where they have the most desire and strengths while building valuable skills and experience for paid work and careers doing what they love to do. I'm walking my talk, doing just that -- and loving it!

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

Kenneth’s Answer

As Eric Willison mentioned different programming languages are suited for different purposes, and whichever language you choose depends on what you are interested in doing. However, choosing a programming language isn't nearly as important as sticking with it and building up experience over time. At their heart programs are just instructions for solving problems, and as you learn to solve certain problems you'd be surprised to see how similarly different languages tackle the same problem. Part of being a good programmer is being able to adapt to new languages as they evolve and your own needs change. Fortunately as long as you keep at it you will find this process becoming easier over time. Good luck!

0