• Coding
  • Programming Language To Learn | Advice

Hey there,

I've taken C++ and Java courses earlier in my life when I was following my undergraduate studies. I am looking for a programming language to learn nowadays and thinking to go for Python which can help in cyber security, raspberry pi ... Although I've always liked to go for some front-end programming.

Any advice or tips? Tried any course in Coursera/Edx/any other MOOC?

Thank you in advance.
If you choose the front-end then the choices are abvious, but i would suggest ES6 when writing javascript.

I would also add python as well, can be used for back-end using django and many others things like machine learning using tensorflow (i don't know machine learning but i heard many good things about this library), for writing one-off script files and so on...
My approach to learning something new is to choose a small thing that I would like to build and slowly figure it out using the new language/framework/tool that I am trying to learn. I find learning for the sake of learning to be boring and this approach has kept me motivated most of the time.

One exception is when I find very entertaining programming books (they exist!). Here are two that I've come across:
- Javascript Allongé
- Why's (Poignant) Guide to Ruby
12 days later
Thank you guys for the advice and feedback !!
Locha wrote... Although I've always liked to go for some front-end programming.
Then by any means, do so! Not everyone likes front-end programming, some people hate it (understandably). It can get quite messy. Front end changes a lot, there are many concerns, some can seem trivial but still restricting. This can make the code disorganised and make system/api programming appear neater, more freeing and rewarding.

So since you are interested in it, I encourage you to look into that. We need more people like you!

On the frontend, around the web stuff, JavaScript is the king. There are also many interesting systems built on top of JavaScript such as ClosureScript, that let you use other languages and styles of programming - and they will be transpiled into JavaScript.

Learning JavaScript is not a total loss, I have seen at least one way to run JavaScript on an embedded platform, and you can use it on the server too (node.js).

I believe that there is a trend to build using web-centered tookits (I'm thinking React Native) and then have mobile apps automatically built from that. In this scenario you can also write JavaScript that will end in a mobile app.

So if you decide to learn Python that's cool as well. It's a good thing.

I'm just bringing up JavaScript because you said front-end.

I believe that it's a good language to learn, especially as a start. It's a bit of a bastard language - but that's a good thing as it might make you curious about other languages. It's flexible, and interesting to work with, in my opinion, and has a big, active "ecosystem".

Finally you can start with any language and switch depending on your needs, if you want to learn there is no need to get stuck on which language to start with.

I wish you fun and good luck.
2 months later
I might be the only one here but, functional programming is really fun, really elegant, and will teach you a lot. Haskell is a good language to start with.
You might never use it, but it will give you skills that you will find very useful and can be applied to any language, moreover many of the modern languages have some sort of support for lambda functions.
http://learnyouahaskell.com/chapters
EzikMezik wroteI might be the only one here but, functional programming is really fun, really elegant, and will teach you a lot. Haskell is a good language to start with.
You might never use it, but it will give you skills that you will find very useful and can be applied to any language, moreover many of the modern languages have some sort of support for lambda functions.
http://learnyouahaskell.com/chapters
Kotlin combines the best of both world too, functional and object oriented that is.
EzikMezik wroteI might be the only one here but, functional programming is really fun, really elegant, and will teach you a lot. Haskell is a good language to start with.
You might never use it, but it will give you skills that you will find very useful and can be applied to any language, moreover many of the modern languages have some sort of support for lambda functions.
Functional programming is amazing, but the concepts are hard to grasp and alienating, especially for someone coming from Imperative and OOP background (Which OP is, with his/her knowledge of Java and C++)

If OP wants to delve into functional programming. I'd advise him/her to learn ES5 Javascript, which is easy to learn for someone of a Java background. Move to ES6 and learn some basic Functional programming concepts. And then from there, OP can jump to elm (personal favourite) PureScript/any of the functional languages that compile to js or learn something like Haskell or Erlang.

Modern Javascript is a great gateway drug to functional programming