Monday, February 3, 2020

Python vs JavaScript - Which Technology is Better to Learn Programming in 2020?

A couple of years ago, I have blogged about Python vs Java and which programming language a beginner should learn or which programming language is better to get started with programming, but now the question has changed. It's no more about Java but its about JavaScript. Now the choice is between Python or JavaScript. Don't get me wrong, I am still a Java developer and still love Java most but as an author, blogger, and technical guy I keep exploring new technologies so that I can advise and support people in their learning and I have seen things has changed in last a couple of years. Python has come a long way from just being a scripting language it was.

Python has explosive growth in the last couple of years at the expense of Java, C#, Ruby, PHP, and many other programming languages. It is also the fastest-growing major general-purpose programming language and also the highest-paid technology but JavaScript is also not far behind, it is also the only language that allows you to develop a web application from front-end to back-end.

Let's explore the landscape of Python and JavaScript to come to a logical conclusion:

1. Ease of Learning

Both Python and JavaScript are very easy to learn. They are both Object-Oriented Programming language and even if you don't have any programming background you can easily learn them.

Compared to Java, both are also free from any setup issue as JavaScript runs on the browser while you can download and install Python 3, but you don't need to worry about Classpath issues like beginners do when they learn Java.

2. Learning Resources

Both JavaScript and Python have a massive amount of resources, both free and paid available on the Internet. You just search for a JavaScript course, book or tutorial and you will get millions of results. The same is true for Python.

There are a lot of great courses to start learning Python in 2020 like The Python 3 BootCamp by Jose Portilla which has taught close to million developers Python. This is an amazing course and if you want to learn Python, I highly recommend this course on Udemy. It's also very cost-effective as you can get this course on just $10 to $12 on Udemy flash sales which happen every month.

best course to learn Python online

Similarly, there are a lot of great JavaScript books and courses available online which you can take to learn JavaScript by yourself. If you ask me, I would recommend The Complete JavaScript Course 2020: Build Real Projects by Jonas Schemdtmann on Udemy.

This is a project-based course which is probably the best way to learn a new programming language or technology and you will build not one but several real projects while using modern ES5 and ES6 JavaScript syntax.
More than 270,000 students have benefitted from this course which talks about its quality and you can get it in just $10.  I highly recommend this course to anyone learning JavaScript in 2020.

best course to learn JavaScript online

So resources are definitely not a problem but if you are looking for some more curated resource then you can check out this list of best Python courses and best JavaScript courses.

3. Community

Again, both JavaScript and Python has a huge and strong community on the Web. You can get help in StackOverflow where thousands of Python and JavaScript developers are always online to help you at any hour of the day.

The same goes for other community websites like Reddit which has big JavaScript and Python subreddit for discussion, help, and guidance. What this means is that even if you stuck somewhere in your journey, you are not alone, they are people and community there to help you out.

4. Tools

When I learn a new programming language, one thing I always look for is the tools around that. For example, just assume if you have to work without Eclipse or IntelliJIDEA in Java, it will be a nightmare, even for developers like who have started learning Java wit Notepad and DOS editors.

These IDEs plays a massive role in software development and learning, and fortunately, both JavaScript and Python are lucky on the tool side.

You can use IDEs like Visual Studio Code and Sublime for JavaScript and IPython/Jupyter, PyCharm for writing Python programs.

5. Frameworks, Libraries, and APIs

Apart from tools, Libraries and APIs are another things that makes a programming language usable and popular. One of the main reasons for Python's explosive growth was the kind of library it posses. Just imagine Python without Pandas, TensorFlow, Django, Flask framework.

They will not just help you to become productive and deliver quickly but also prevent you from re-inventing the wheel. I still remember those days where every single project I have worked in Java had their own proprietary API, doing the same thing again and again.

Open-source libraries have helped a lot, so choose a programming language that has rich API and library support.

At this point, I feel, Python just edged ahead with JavaScript because it has better library support across functional areas but JavaScipt is also not behind and frameworks like Node.js, React, Angular and jQuery still rules the Web.

Finally, which one to choose? Python or JavaScript

As you have seen, both Python and JavaScript are an amazing programming language and they are also suitable for beginners. They are also easy to learn, mature has a strong community and a huge number of the popular library which will allow you to do all the things you want to develop.

So the choice is difficult but like many things, in life,, the choice really depends upon your goal. If you can answer questions like why are you learning Programming? do you want to create a mobile app or want to develop a web application? Do you want to learn Programming to explore Data Science, Machine Learning, Artificial intelligence, and other sunrise technologies, etc?

As per my thoughts, if you want to become a Web Developer then there is no better programming language than JavaScript. Just learn it. It has the best front-end frameworks like Angular, React, and Vue.js but also strong backend support in form of Node.js.

On the other hand, if you want to learn Data Science and Machine learning then choose Python because it is more evolved in that space and has a bigger community and popular libraries to support you.

And, if you are a mix of both like you want to do Web Development now and Machine learning later than learn Python. IMHO, Python is the best major programming language and every software developer should learn it.

And, this image from Felixx sums it nicely with advice that "If you want to get into programming do not start with JavaScript"

Python vs JavaScript - Which Programming Language Beginners Should Learn?
If you want to get into programming do not start with JavaScript

Learning Resources

So, if you want to learn Python, here are some of my recommended resources, which includes books and courses :
  1. Python 3  BootCamp
  2. Automate Boring Stuff with Python
  3. 10 Free Python Courses
  4. 10 Free Python Books
  5. Python Fundamentals on Pluralsight

And if you want to learn JavaScript, you can check these resources:
  1. The Web Developer BootCamp
  2. JavaScript BootCamp
  3. List of Free JavaScript Courses
  4. Free JavaScript Books
  5. JavaScript Fundamentals on Pluralsight

Whatever you decide to learn just to be honest with that. Don't leave your goal in between and you will reach there. Both Python and JavaScript are awesome but it just that one suits better than others for some situations like JavaScript is the Emperor of Web Development while Python is the King of Machine Learning and Data Science.

That's all about Python vs JavaScript - which programming language beginner should learn. As I have said, both Python and JavaScript are a great and major general-purpose programming language and there a lot of opportunities with each of them, but if your goal is to become a web developer and create web applications then I suggest you should start with JavaScript.

On the other hand, if you want to explore sunrise technologies like Machine Learning, Deep Learning, Data Science, Artificial Intelligence, Blockchain, and Cloud Computing then I suggest you start with Python.

It has a very interesting, powerful and hugely popular library which gives it a stronghold in this area and learning Python not only makes you more productive but it will also help you to reach your goal quickly.

Other Programming Articles You may like
10 Programming languages You can Learn in 2020
The 2020 Web Developer RoadMap
10 Tools Every Java Developer Should Know
10 Reasons to Learn Java Programming languages
The 2020 DevOps RoadMap
10 Frameworks Java and Web Developer should learn in 2020
10 Tips to become a better Java Developer in 2020
Top 5 Java Frameworks to Learn in 2020
10 Testing Libraries Every Java Developer Should Know
10 Reasons to Learn Scala Programming Languages

Thanks for reading this article so far. If you like this article then please share it with your friends and colleagues. If you have any questions or feedback then please drop a note.


Nganthoi Moirang said...

I'm learning Java Programming. But is it very important to learn Java programming to learn Machine learning and deep learning and data science.? I'm a beginner and i don't know which programming language should i learn. Everyone says learn Java first and go for python. But it seems like i'm wasting time learning Java programming. So please suggest me what i need to do and which programming language should learn.

Unknown said...

You are not wasting time learning java, it will teach proper explicit way to program which will help you alot when you move on to dynamic/implicit language like Python/JavaScript (you will know better what is going on behind the scene). Java is old in the game so there is rarely a thing that cannot be done in Java from desktop to mobile to web apps there are mature frameworks all round for it. You might play with Android programming for a while or desktop until the verbosity hits you then try kotlin, Python and whatever leaner syntax language you like. I am happy I tried C# before attempting Python. Wishing you all the best.

Post a Comment