DEV Community

Muhammad Wasif
Muhammad Wasif

Posted on

I want to learn a new programming language. What should I learn?

I'm a front end developer. Now, moving to cloud native and nodejs but I want to learn a new programming language. Which one should I learn?
I would like to explore field of Robotics and AI. So, please suggest!

Oldest comments (86)

Collapse
 
tetri profile image
Tetri Mesquita

python 🐍

Collapse
 
nestedsoftware profile image
Nested Software

Yup. I think for things like AI and machine learning, Python is the way to go. I don't know much about robotics. I would expect that you can probably use Python libraries for that too, thought you may wind up having to learn some C at some point as well for lower-level stuff.

Collapse
 
isaacfink profile image
isaacfink

You could definitely use python to control a microcontroller like Arduino and as far as low level stuff python allows for c extensions to be included so it's definitely a good choice

Thread Thread
 
budprager profile image
BudPrager • Edited

MicroPython might be the answer here, it has support for ESP8266 Aarduino) and ESP32 (Arduino with built in WiFi) chipsets.

So having learnt python OP would be able to leverage the ai and machine learning libraries or use off the shelf microcontrollers.

Edit: docs : docs.micropython.org/en/latest/

Collapse
 
tsturzl profile image
Travis Sturzl • Edited

I work at a robotics company. All the control systems are written in C++, and then the robotics code is a mix of python and C++. Used to work at an ML company and all the data scientists used python.

Collapse
 
jamesthomson profile image
James Thomson

This is next on my list to learn as well. From the little bits that I've read it has a lot of similar concepts as JS which helps with the learning curve.

Collapse
 
manan30 profile image
Manan Joshi

I would suggest Haskell. It is a functional programming language and will completely change the way you think about programming.

Collapse
 
mateiadrielrafael profile image
Matei Adriel

Finally a nice suggestion

Collapse
 
dough654 profile image
douggerhardt

Agreed. Try it. You'll never be the same.

Collapse
 
nozil profile image
Nicolas Zilli

Cloud Native => Go.
Otherwise I had a great time discovering Elixir.
You should try exercism.io/ for finding some exercises and mentors there is a lot of languages supported ;)

Collapse
 
ghost profile image
Ghost

depends on what you want to do, "Robotics" is somewhat broad; to program microcontrollers nowdays is C, you can do it in Python but is too heavy, limits you too much; Rust in the future, has the power for it but the embedded ecosystem is not very mature yet; you can do robotics with more horsepower tho, farther from Arduinos and closer to Raspberry Pi. As far as I've seen from afar, Python is the way to go for AI and ML.

For general purpose I'm beting for Rust; learning it for a while and loving it. But is very new, and although have very mature libraries, sometimes you find lack of libraries of some specific area.

Collapse
 
toordog profile image
toordog

Java is great, growing more every day, in fact the market for java programmers to hire just for replacing python code is crazy, kotlin isnt bad too learn also, but its definitely not on a level like java. I know 12 different languages, and for the salary out of the gate if you're into money (I'm not) isn't too bad, top dollar on replacing python code for enterprise design is all over the market now with all the kids from college scripting up a lot of bad python and other languages.

Collapse
 
mateiadrielrafael profile image
Matei Adriel

Any functional language (haskell, f#, elm etc)

Collapse
 
hokutosei profile image
jeanepaul

Erlang, scala, or elixir

Collapse
 
shrpereira profile image
Silvio Pereira

Clojure!

Collapse
 
mateiadrielrafael profile image
Matei Adriel

The deal breaker for me was the dynamic typing, I just can't live without the safety type systems give me...

Collapse
 
gekod profile image
Helder Araujo Carneiro

Kotlin

Collapse
 
codenutt profile image
Jared

Kotlin is dope.

Collapse
 
kingtomi profile image
Ayodabo Oluwatomisin

Python is the right choice for you

Collapse
 
thewasif profile image
Muhammad Wasif • Edited

Does it work in iot as well?

Collapse
 
calyce8 profile image
Calyce

Somewhat, search for micropython.

Collapse
 
mrzviad profile image
Zviad Gabroshvili

Python and C/C++

Collapse
 
mixmastoras profile image
mixmastoras

Like most people mentioned, Python appears the most used for AI and maybe C/C++ for robotics.

One favorite of mine that is used a lot in science stuff is Julia. I really like the community and the quality packages for Math, machine learning, optimization. But it tries, just like python to work on a higher level.

There are cool new languages under development/growing like Rust (backed by Mozilla) that target C performance.

I've also heard people in many startups adopt Go for microservices.

Erlang was used to build CouchDB, and many cool stuff that we use daily. I know only a few things about this language but you should take a look deeper if you're curious.

Collapse
 
paurakhsharma profile image
Paurakh Sharma Humagain

Python is a no brainier here 😊

Collapse
 
ma3yta profile image
Andrii Maksymets
Collapse
 
aelentel profile image
Aelentel

Cobol, Ada and maybe fortran 77.

Haha joking. Maybe Java, Seems counter intuitive but all in all it's a robust language for backend. dotNet for going Microsoft shop. Cpp if you want to do pointer everywhere and memory management. Else if you want to get arcanic Lisp, Logo, Prolog, Forth, Lambda. The rest either lack a bit of stability or is just the Nth attempt at being different.

Else just take the one that is getting you a bit outside the frontend world πŸ¦„

exploring-data.com/vis/programming...

Some comments may only be visible to logged-in visitors. Sign in to view all comments.