Picking the right coding language in 2021

How important is it to pick the right programming language when learning to code for the first time?

More than half of all developers use JavaScript. It’s vital to front-end web development and increasingly relevant for back-end development. JS is also rapidly expanding into areas like game development and the Internet of Things.

Python is followed as the second most used object-orientated programming (OOP) language and Ruby is far below on the list at less than 10% usage.

Does this mean that Ruby is a useless or outdated language? We will explore the advantages and disadvantages of each coding language below.

Many various factors may motivate an individual to learn a specific programming language. Four factors to be discussed below include:

  • Factor 1: Job Market Demand. We can see that Python, Java, and JavaScript rank as the top languages to have in your tech stack when applying for a developer role.
  • Factor 2: The long-term prospects. Most prospective developers start by learning a primary object-orientated programming language that may include JavaScript, Python, or Java and then learn Ruby secondary once they have a strong comprehension of their primary language. More tools in a developers’ belt will only contribute to their long-term career prospects however a strong fundamental base in a primary language is important as well.
  • Factor 3: Difficulty to learn (JS, Python, Ruby). High-level scripting languages are easier to learn as more resources are readily available and more dedicated coding katas built around real-world application and production.
  • Factor 4: Projects you can build the language. JavaScript runs where you have access to a web browser making it one of the most easily accessible coding frameworks to learn.

Let's dive into comparing the Pros and Cons of using three different coding languages => Ruby, Python, and Javascript:

Ruby:

Pros:

  • Time efficiency: Ruby on Rails is commonly associated with achieving the MVP (Minimum Viable Product) in less time than other languages in the process of software development
  • Well-Developed Community: The community of Ruby developers on Github has been growing where snippets created known as “gems” can be used to save time on projects
  • Convention over Configuration: Ready-made models are provided so that the initial necessary configurations will be minimized
  • Promotes the use of web standards, better engineering practices, and design patterns that can be easily integrated with front-end frameworks
  • High Level of Security Standards: Ruby on Rails has built in securities and functionalities that allow the application to protect against some of the most common web application attacks (XSS, CSRF, and SQL injection attacks)

Cons:

  • The lack of flexibility towards building non-web applications: If the goal is to create non-standard features that are not related to building web applications, the entire development process will be more difficult to configure the routes, database migrations, and other important tasks at hand
  • The lack of popularity: seen by the wider community as a niche programming language. Not the primary choice for back-end developers where it is more common to find people who have tech stacks in Python, Java, or Javascript

Python:

Pros:

  • Easy to Learn and Use: The core syntax style is similar to the English language, allowing ease of use and readability towards the code. Python syntax will relatively require fewer lines of code to perform the same operations done in other programming languages
  • Vast Amount of Available Libraries: Python’s standard library is wide allowing the user to find the packages they need to complete any given task at hand. This makes Python independent of external libraries where the core library may be enough to satisfy production needs.
  • Integration with Other Programming Languages: Python has the unique feature that allows it to integrate with other programming languages that include Java, C, and C++ for cross-platform development.

Cons:

  • Issues with Low Speed: Python is a dynamically-typed and interpreted language. This means that the code will be executed on a line-by-line basis which is great for debugging and learning purposes, but bad for the actual execution speed of large production-ready programs.
  • Lack of performance on mobile devices: Python is primarily used by developers for server-side programming and not mobile or client-sided programming. Due to Python having slow processing speeds and memory efficiency, it is very lackluster when it comes to rendering applications on the mobile platform.
  • Database Layer Difficulties: Python has an underdeveloped and primitive database layer compared to more popular technologies including Open Database Connectivity (ODBC) and Java Database Connectivity (JDBC). This makes it hard for developers to use Python to interact with complex data in an easy and accessible manner.

JavaScript:

Pros:

  • Real-world Relevance: JavaScript is one of the most in-demand languages that can be learned for anyone interested in working with web applications and development in 2021. JavaScript serves as a very good object-oriented programming (OOP) language and an amazing first language for a person to learn and master that will allow them to contribute to relevant open-source projects and build front-end web applications
  • Full Stack Integration: It is possible to develop a whole application on JavaScript from the back-end to the front-end using only tools found in JavaScript. This can include developers using a combination of React.js and Node/Express to service the application through the whole process.
  • High Execution Speeds: Javascript will always get executed on the client environment to save on a lot of bandwidth room and make the execution process faster compared to line-by-line languages including Python

Cons:

  • Modern Web Browser Support: Although JavaScript may support all modern web browsers, different browser versions may process the JavaScript code differently to show an inconsistent viewing experience to the user when the front-end is rendered.
  • Ease of Client-Side Exploits: Although JavaScript has high execution times by running on the client-side, this acts as a double-edged sword that allows deep-rooted bugs to be exploited for malicious purposes if the proper security implementations were not developed before the application is pushed to production.
  • Lack of Data Science Packages: JavaScript does currently not have built-in functionalities that support a comprehensive range of data science packages compared to other languages including R and Python. Although web development is great with Javascript, data science-driven development is not supported as much.

Most used web frameworks

Some of the most used web frameworks today include jQuery, ReactJS, Angular, and Express. If you are an aspiring developer in 2021, one of the best tools to learn early on is how to utilize ReactJS by using state hooks and conditional rendering to create dynamic front-end web applications.

In Summary

Ruby is often used for cost-effective solutions when it comes to the fast development of a projects’ minimum viable product (MVP), a minimum viable state that can be presented to potential investors and shareholders. Ruby is also used for prototyping and mocking, introducing updates, and testing different versions of products before deploying a fully functional app into production.

Python and JavaScript are great to learn if you are looking to land an entry-level developer job. Both these languages are popular in the startup world where many startups will use backend frameworks in Python including Django or flask and backend frameworks in JavaScript including NodeJs.

Java and PHP are popular in the corporate world where they are still used in many backend frameworks to date. R and MATLAB are used mainly in the Data analytics field. If you are looking to get into data analytics or data science, these would be good languages to learn.

There is no golden egg when it comes to the best coding language to learn. There are recommendations for more popular languages that include JavaScript and Python. Learning one of these languages will allow you to engage with many developers alike and will help you grasp a deeper understanding of web applications used every day.

Image Sources:
https://www.codeplatoon.org/best-paying-most-in-demand-programming-languages-2020/

https://insights.stackoverflow.com/survey/2020

Full Stack Developer — JS, React, Node/Express

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store