In my previous "Ask a Dev" blog post, I posed the question, "What is the Best Programming Language for Beginners?".
But as you know, that was my SOLE opinion. So as a part of the "Ask a Dev series", I will also be releasing blogs where I get opinions from developers other than myself on the questions I answer.
So with that being said, here are few other perspectives on "What is the Best Programming Language for Beginners?".
Personally, I'd want people to choose their first language the same way I choose a language for a project - by picking the right tool for the job.
Do they want to build web apps? Start with JS. Do they want to do machine learning? Python! Do they want to build back-end apps? Go with Java. I realize there's actually more choices for each domain than I mentioned here, but finding your niche is a good place to start narrowing down the options.
Peter (Replying to Simple Geek)
I think you're right that finding what you actually want to use the language for and starting with that.
If you have nothing to build at the end of learning the basics you won't get much further with that language.
I would approach it differently, what TYPE OF COMPUTING are you interested in, then once you decide learn the best language for that platform. In Software development, the language is really based on what type of computing platform [you're] coding for. For example.
OS/Kenerl : C/C++
Server side : C/C++, GoLang,Python
Mobile: Android (Java or Kotlin), IoS (Swift)
Data science/ML: Python , R
Corporate systems: Java, C#
Sure learning a generalist language like Python is a good start but it's not going to help you if you want to code mobile apps , for that you need to learn Swift | Java | Kotlin.
Second it's really hard to predict 15 years out what the technology may be like. Here again I would focus on what areas of computing are likely to be popular in the future.
It's complicated. Python has been steadily growing for ~20 years and it seems to be the main scripted language of choice. The wealth of libraries that are available for it and the popularity of machine learning mean that it will continue to be big for a while Java has fallen behind other languages a bit, but is catching up slowly. It has taken some features from Kotlin and C#, so I don't think Java will be going any time soon.
C# is still [Microsoft's] flagship language and with the open sourcing of .NET Core it has gained a lot of popularity. I'd say it's one of the most advanced languages right now in terms of features, so it's not going any time soon
C++ will continue to be one of the most performant languages out there and no language appears to be competing in that area. That gives it an edge over other languages, so it will continue to be used
Pick any of these 5 and you'll be safe for at least a decade
Python, fun [and] easy to catch on. I use it to automate things at work. My co-workers who know nothing about programming think I'm a genius.
I know nothing.
If you decide to start with python. The book I use to help me get stated, 'Automate the boring stuff with python'. Google it it's free online.
Personally, I started with Java. I would recommend doing this if you want the shortest route to getting a job (at least in my area this is the case).
Do a course, get your certification, make a couple of simple APIs, start applying for traineeships/junior positions. So much stuff has been built using Java and its related technologies so there is a ton of work.
Python is probably the best language to start learning with a minimum of frustration, and you can use it for pretty much anything.
Lastly, I would recommend learning at least the basics of html/css/js if you are planning on doing anything web-based. That way you can build some pretty front-end stuff to visualize whatever you built in your 'real' programming language.
I’m pretty biased I guess but I think Go has a lot going for it from a beginner standpoint. Its package management is probably the biggest weakness but they’re doing a good job of fixing it.
I like it because it’s strongly typed and also strongly opinionated which I think is helpful for beginners. There’s typically a 'right' way to do things that makes a lot of sense and is obvious. There aren’t a lot of high level gotchas.
Go has a really great online tutorial (which I suppose other languages might also have). Its approach to concurrency is simple and powerful: You can run any function as an asynchronous thread by saying go doThis() and you can define channels to communicate between threads. And the mascot is a gopher.
And frankly I think async/promises/await and all that are pretty hard to get your head around.
As you can see, there are tons of perspectives on what the best programming language is for beginners and there is no Right or Wrong answer.
If you are someone pursuing learning programming or starting out in your development career, I encourage you to consider the opinions given above and just go for it. Find what language seems to resonate with you and start. Don't overthink it, just start coding!
Thanks to everyone who shared their opinion on this topic and I look forward to sharing my thoughts and the thoughts of the community in my next "Ask a Dev" blog.
Deploying your first ReactJS application into the Cloud
Read Blog Here
==== FOLLOW ME ON SOCIAL MEDIA ====