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!

Latest comments (86)

Collapse
 
rokath profile image
Thomas Höhenleitner

Go is an universal language, very productive, has understandable modern concepts, uses composition instead of inheritance for objects, is typed and as compiled language fast in execution. Not running on very small microcontrollers but easy to learn.

Collapse
 
daniel13rady profile image
Daniel Brady

If you want to tie your decision to a language that a lot of people use for similar purposes, I find StackOverflow's annual developer survey to be a useful resource when considering this question.

For AI, machine learning, and data science, Python is the reigning monarch of programming languages at the moment, and has been for awhile.

For robotics, I don't have much experience to draw from. But I was told while at university to start by looking at languages often used in embedded systems and rule-based systems; to me, that means some variant of C, Rust, and Lisp (my personal favorite Lisps are Racket, Clojure, and Scala).

If you're mainly interested in personal growth, rather than how applicable a tool might be to your programming practice, I recommend designing/choosing a project and then doing that project in a language vastly different from the one(s) you're comfortable with in some way. (For me, this would probably be something with strict typing and/or DIY memory management.)

I see this a bit like traveling to a place with a vastly different culture from your own: the things you take for granted will start slapping you in the face, your world views about "the way something is done and why" will be turned upside down more than once, and you'll come back home with a valuably different point of view.

Collapse
 
tomaz_on profile image
Tomaz, Osvaldo Neto

ML.NET and F# / Python ...

Collapse
 
srinivasav22 profile image
Srinivasa V

Hi
If you're Interested in Robotics then you have to take Raspberry pi along with python programming then start for AI

Collapse
 
arshadnadeem9 profile image
ArshadNadeem9

Thanks

Collapse
 
dag72 profile image
Dave Gordon

Python is a good choice that you can leverage for Robotics and AI! Python is used across diverse fields from web development to machine learning and AI and it is easy to learn!

Collapse
 
startupsandcode profile image
John Mann

Python. No doubt.

Collapse
 
euler2718 profile image
John Corley

I see a lot of suggestion for python for obvious reasons. But why not Julia? Syntactically this language is pretty beautiful with native data structures python doesn't have without libraries. Plus it's fast, and easily works across your cores.

Haskell is also a great choice in theory...

I think if your goal is to learn a new lang and think differently, these are probably great choices.

Collapse
 
lucbarr profile image
Luciano Barreira

It depends on what you want to do. I participated in robot soccer competitions for years and never heard of anyone using python successfully at it, mostly because in my specific use case the game is very dynamic and multi agent so AI has to run very fast.

I suggest you to research on what are people using for what you want to do and don't care too much about the programming languages, the concepts that comes before the code arrives are more important. I suggest to grasp into any little project and learn the language as you go. Since you must have some programming experience, if the language shares paradigms with what you already know, your efforts will be merely to translate your thoughts into that specific language.

Collapse
 
kchawla_pi profile image
Kshitij Chawla • Edited

A lot of suggestions here for Rust ♥️ and Haskell and they are great. For professional use, first master Python, Docker, Kubernetes for a few years.Then learn Rust or Haskell.

Collapse
 
kchawla_pi profile image
Kshitij Chawla

Since you haven't decided your niche yet, Python. It opens doors to the backend and APIs, and all data and automation related stuff.
A lot of companies use Flask to build their backend and APIs and add queuing, then deploying new or pretrained ML models in Docker containers orchestrated by Kubernetes.And this often starts at a company from Python.
JS is primarily a frontend thing and will remain so for several years. The benefits of nodejs are a specific niche,most servers don't get extra benefit from it.

Collapse
 
wahabshah23 profile image
Abdul Wahab Shah

Python.. And you will also be exploring AI and robotics so python is going to be pretty beneficial.

Collapse
 
gideon_ngk profile image
Gideon Kamau

Simple answer, Golang

Collapse
 
marknicoli profile image
Mark Nicoli

Look into python or c++. It can be used with ROS for some interesting robotics projects!

Collapse
 
pascal360 profile image
Pascal360

Python can help you alot

Collapse
 
kumarvarun1987 profile image
kumarvarun1987

Hi
I am working last 2 years in RPA(Robotic process Automation) and AI domain, personally I suggest start learning on RPA and ML.
Below are the new RPA and ML language
Workfusion: if you know Java easy to learn
Uipath :
Blueprism
Pega
Blockchain

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