What is the best programming language nowadays? | Coursera Community
Coursera Header

What is the best programming language nowadays?

  • 9 November 2018
  • 40 replies

Show first post

40 replies

Userlevel 7
Badge +12
Thank you for your comments @hamster but I don't like your tone, using the words"frat boys" and "pointless" which undermines everyone's valuable efforts and contributions here. If you read the original post of this thread, the idea was indeed to give room to discuss what language, for what purpose and what it depends in a comparative way. And everyone has been doing that with their contributions to a degree.
Userlevel 3
Badge +1
Those interested in this topic may like this article on programming paradigms and the underlying book chapter.

The link is to an entry in The Morning Paper, a blog by Adrian Colyer, where several days each week he reviews a paper he considers important. His blog is well worth attention.
Userlevel 6
Badge +4
Thank you for your comments @hamster but I don't like your tone, using the words"frat boys" and "pointless" which undermines everyone's valuable efforts and contributions here. If you read the original post of this thread, the idea was indeed to give room to discuss what language, for what purpose and what it depends in a comparative way. And everyone has been doing that with their contributions to a degree.

My tone was deliberately antagonistic. But, to be fair, it was more a reaction to the threads title than the content. Nonetheless, I also went on to answer your question.

Frankly, I think topics like these do need a good shaking up; academic argument about whether static or dynamic languages are better distract from the real purpose of code, which is making things.

For a professional developer "language agnosticism" is a valuable trait to have.
Userlevel 3
Badge +1
@hamster: When I submitted, I was hoping to get some discussion going, there had been little activity in the forum. Your "deliberately antagonistic" comment is likely to cause even less discussion, because nobody wants to be the recipient of such comments.

I'd welcome a constructive posting by you that will promote contribution.
Userlevel 7
Badge +12
I've just added Go, Erlang, Elixir, JSON, Smalltalk, Forth and C# to the key words too, many thanks to you @Gordon . Wow, so many new names to be aware of! 🙂 I had not heard of most of them. I remember many people being so fond of C and C++ for a long time around me. I guess all these languages have their prime time for a season until a better one comes along for a different purpose? It's great that you mentioned that C has been your favorite all these years. A language to learn for sure I suppose from some of the other responses here as well for a programmer since it serves many purposes?

If others have more comments on these languages shared here or discuss about new ones and their purposes, please feel free to contribute further. Thank you.
I've been learning Kotlin for a few months and I have to say I like it. Why Kotlin? Why not. I'm retired and have the luxury of exploring without worrying about some work environment. Besides, learning is fun, right? This is from a recent blog post I wrote:

"If you see something that peaks your curiosity, jump in and have a look. The key thing is you’ll be learning. It doesn’t matter if you actually use any of that new found knowledge. Learning is not always about the knowledge. What matters more is that you’re exercising your mind. It’s like a workout for the brain. The more you work your mind the more your mind works for you."

As far as what's the best, it depends on your environment. Personally, I don't think there's any one "best" language. Besides, almost all programming languages for probably the last forty or fifty years were created because some user didn't like the one they were using so they decided to hack the language. None of them really offer any new paradigms.

As far as the whole language agnostic argument goes, I'll just say this. Pseudo-code is language agnostic. And I might argue that it's the best way to teach programming logic and design. But note the keyword "design". You can't actually "make things" with pseudo-code. To do that, you need a language. And that's entirely dependent on your development environment. If it's job related, the job dictates the language. Or perhaps the final product dictates the language. For example, desktop, web services, mobile applications, etc. And honestly, I don't really understand the value of a "language agnostic" argument considering the actual topic is about languages.
Userlevel 7
Badge +12
Thank you so much @Al.W for shedding more light into this topic. I was travelling over the Easter holidays, only getting a chance to look at this platform now. I love the quote you shared, agree with it too.

Kotlin is a very new language term for me. I must read more on it. Thank you for highlighting it here.

Yes, I was trying to highlight which programming language would be best for what purpose through this thread as you mentioned. From consulting a few friends around me as well, most of them prefer Python for many different things. Python is rather better developed version of C and C++ , which were derivatives of Fortran apparently. As you say, new programmers came and fixed what was missing in Fortran, leading to C and then to C++ and now Python. C and C++ are less tolerant for mistakes compared to Python as I understand.

I am told that the speed of Python can vary depending on how good the programmer is. A well skilled programmer could write a speedy functioning programs in Python for many different applications apparently.

I wonder if others agree with that? 🙂
Pharo is very good programming language, it is from Smaltalk. You all should learn this language if you really want to understand how Object Oriented programming is
Userlevel 7
Badge +12
Thank you so much @BenRavin for your valuable input. I had not heard about Pharo yet. I will definitely check it out. Has anyone else used Pharo as well? How was your experience with it?

Thank you.
This is a very difficult question to answer...
It totally depends of what are your plans.

If someone pretend to learn, deal with data science, machine learning... I would recommend: Python!
Badge +1
I wouldn't say there is a best language in my case as all languages as their pro and cons.
Completely depend on what you want to do, and how for your knowledge is.

Some languages can't be compared to other languages.

Like you can't really compare Python and C/C++ : Python is an interpreted language so you can't work with memory but it is an extremely simple language. Coding graphics in python would be a huge waste of ressources.

In C you can work with memory and it is a lot more near assembly language.
Of course you can't compare assembly language to C though.

If you want to design and analyse new projects you should probably go OO and learn Java

I believe everyone in CS should chose to learn at least one interpreted language and one compiled language. And probably SQL since you can't really work without databases nowadays.

And probably a minimum of web languages too. As today a lot of app are done on the web.

Assembly and old languages like COBOL not really unless you want a job of someone who just do maintenance... (new projects are almost always done in the most recent languages)
Badge +1
I also like java due to its OOP concepts and its framework like spring boot which is also useful in building highly scalable web apps and other android apps.
So What you will get in java path:
  1. Android apps
  2. Web apps
  3. Micro-services
  4. Web-services
  5. Cloud based development
  6. Desktop applications
  7. full-stack and much more.
Userlevel 7
Badge +12

@helderc  , @HansLowell  , @sardarahmedkhan  : Thanks very much for your valuable input. I did not get notifications somehow, I only noticed them just now. I will ponder on your suggestions indeed. Thanks.


Hi everyone!

I have been wondering about which is the best programming language to start learning to code.

I’m new to programming. I began with Scratch and Snap which are visual programming languages made out of blocks for teaching children how to program, without bothering about complex syntax.

Then I moved on to Python, which is very simple and straightforward.

Now I am approaching Java that is more difficult to grasp, due to its syntax and all those curly braces.

I’m still a beginner, but I like when I manage to give instructions to the computer, and as by magic it does what I intended, and what it was supposed to do.  I love when it appears on the screen some drawing, created by an algorithm that I can understand.


Userlevel 7
Badge +12

Hi @Scarlett3000 ,

It sounds like you are off to a good start with Scratch, Snap and Python. I just came across this website that lists best 9 programming languages with their details: https://www.fullstackacademy.com/blog/nine-best-programming-languages-to-learn which might help.

In addition, if you review the earlier posts in this thread, some posters provided good details for additional languages. 

I hope these help. Wishing you all the very best.

If others have more to contribute on this, please feel to share. Thanks.