Which modern programming language is strong? You should probably know these seven programming languages in 2020

If we think of modern human civilization as a car, then the software development industry is like the engine of a car, and the programming language is like the fuel of the engine. So here’s the question, what programming language should you learn? Learning a new programming language is hugely invested in time, energy and brainpower, but it can improve your software development skills and improve your career, as I wrote in another blog:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Blog: https://media.com/@md.kamaruzzaman/5-reasons-to-learn-a-new-programming-language-in-2020-bfc9a4b9a763

In general, you should choose a programming language that will help your career development. In addition, you can learn a language that is gaining popularity.

I have a lot of respect for mainstream programming languages. But here, I list modern programming languages that can increase your productivity and make you a better developer. In addition, I will cover a wider range of areas: system programming, application development, network development, scientific computing.

The term “modern programming language” is ambiguous. Many people think that languages like Python and JavaScript are modern programming languages. But at the same time, they think Java is an old programming language. In fact, they all appeared at the same time: 1995.

Most of the mainstream programming languages developed in the last century, mainly in the 1970s (e.g. C), 1980s (e.g. C? ) and 1990s (e.g. Java, Python, JavaScript). These languages are not designed to take advantage of the modern software development ecosystem. Although many of these languages have improved features, such as concurrency and self-tuning, they also provide backward compatibility and cannot discard old, outdated features.

At this point, Python does a good job of making a clear distinction between Python 2 and Python 3. These languages typically provide 10 ways to do the same thing, without concern whether it is convenient for developers to use. According to StackOverflow developer, most of the mainstream old programming languages topped the list in the “scariest language” category:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo credit: Stackoverflow

I’ll use the first iPhone to be released, June 29, 2007, as the point in time between old and new programming languages. Everything changed after the iPhone was released. In this list, I mainly consider programming languages after 2007.

First, modern programming languages were developed to take advantage of modern computer hardware (multicore CPUs, GPUs, TPus), mobile devices, large data sets, fast networks, containers, and clouds. In addition, most modern programming languages are easier to use, mainly in:

Clean code

Built-in concurrency support

Empty pointer security

Type inference

Simpler feature set

Low cognitive load

Mix the best features of all programming paradigms

Second, many of the programming languages in the list are disruptive and will change the software industry forever. Some of them have become mainstream programming languages, while others are waiting for a breakthrough. It is wise to learn them at least as a second programming language.

In a previous blog post, “20 Software Trends Forecasts 2020,” I predicted the breakthroughs in many modern programming languages in 2020:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Article: https://sdatascience.com/20-predictions-about-software-development-in-2020-afb8b110d9a0

Rust

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo: Thoughtram

System programming languages are dominated by C, C, and so on, and although they have complete control over programs and hardware, they lack memory security. Even though they support concurrency, writing concurrent programs in C/C is challenging when you guarantee concurrency security. Other popular programming languages are interpretable languages, such as Java, Python, and Haskell, which provide security but require a lot of runtime or virtual machines. Because of the size of the runtime, a language like Java is not suitable for system programming.

Many people have tried to combine the features of C/C with the security of Haskell, Java, but rust is currently the first product-level programming language to do this.

Graydon Hoare first developed Rust as a by-product. He was inspired by the research programming language Cyclone. Rust is open source, and Mozilla works with many other companies and communities on language development. Rust was first released in 2015 and quickly attracted attention from all walks of life. In a previous article, I delved into Rust and demonstrated why it would be a better choice to use Rust instead of C? and Java in the big data domain:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Article: https://sdatascience.com/back-to-the-metal-top-3-programming-language-to-develop-big-data-frameworks-in-2019-69a44a36a842

Key features:

Provides memory security and concurrent security through the concepts of ownership and borrowing.

Memory security and concurrent security compilation time guarantee, that is, if a program code compiles, then it is both memory-safe, there is no data competition. This is Rust’s most attractive feature.

It also provides a representation of ML, Haskell. Rust has unchanging data structures and functional programming features, providing functional concurrency and data concurrency.

Rust is very fast.

Since there is no runtime, Rust provides full control over modern hardware (TPU, GPU, multicore CPU).

Rust is supported by LLVM.

Popularity:

Since its debut in 2015, Rust has been a favorite of developers and has been named the most popular language in the StackOverflow Developer Survey for four consecutive years (2016, 2017, 2018, 2019):

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo credit: Stackoverflow

According to GitHub Octoverse, Rust is the second-fastest growing language after Dart:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo credit: Octoverse

The popular programming language website PyPl also ranked Rust in 18th place and is on the rise:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo: PyPl

Comparing the feature set it offers, it’s no wonder that tech giants like Microsoft, Amazon and Google have finally announced Rust as a long-term system programming language.

Rust’s appeal has increased every year for the past 5 years:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo: Google Trends

The main use is in:

System programming

Serverless computing

Business applications

Key competitive languages:

C

C++

Go

Swift

Go

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo: Wikimedia

Google is one of the largest internet companies. At the beginning of this century, Google faced two expansion problems: development extensions and application extensions. Development extensions mean they can’t add more functionality by adding developers, and application extensions mean they can’t easily develop an application that can scale to a “Google”-level machine cluster. Around 2007, Google began creating a new “practical” programming language that could solve both problems. In Rob Pike (UTF-8) and Ken Thompson (UNIX operating system), two of the world’s most talented software engineers have created a new language.

In 2012, Google released the first official version of the Go programming language. Go is a system programming language, but different from Rust. It also has a runtime and garbage collector (several megabytes), but unlike Java or Python, this runtime contains the generated code. Finally, Go generates a native binary code that can run on a computer without attaching dependencies or runtimes.

Key features:

Go has first-class concurrency support. It does not provide “shared memory” concurrency through threads and locks because programming is much more difficult. Instead, it provides CSP-based messaging concurrency. Go uses Goroutine (lightweight green thread) and “Channel” for messaging.

Go’s most lethal feature is simplicity, the simplest system programming language, and a budding software developer can write efficient code in a matter of days. Some of the biggest cloud-native projects (Kubernetes, Docker) are written in Go.

GO also has an embedded garbage collector, which means that developers don’t have to worry about memory management issues like C/C.

Google has invested a lot of money in Go, so Go has a lot of tools to support it. For new Go developers, there is a vast ecosystem of tools.

Typically, developers spend 20 percent of the time writing new code and 80 percent of the time maintaining existing code. Because of its simplicity, Go excels in language maintenance. Today, Go is widely used in commercial applications.

Popularity:

Since Go first came out, the software development community has embraced it. Go was inducted into the Programming Language Hall of Fame with the TIOBE Index in 2009 (debut) and 2018. No wonder Go’s success has paved the way for a new generation of programming languages like Rust.

Go is already a mainstream programming language. Recently, the Go team announced its “Go 2” initiative to make the language more solid.

Go ranks high among almost all popular programming language comparison sites, surpassing many existing languages. Here are the December 2019 TIOBE index ratings, with Go ranked 15th:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo credit: TIOBE

According to Stackoverflow, Go is one of the top 10 most popular programming languages:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo credit: Stackoverflow

Go is also one of the top 10 fastest growing languages, according to GitHub Octoverse:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo credit: Octoverse

Google has also shown that Go’s appeal has grown over the past five years:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo: Google Trends

Key use cases:

System programming

Serverless computing

Business applications

Cloud native development

Key competitive languages:

C

C++

Rust

Python

Java

Kotlin

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Java is the undisputed king of enterprise software development. In recent years, Java has come under fire for being long, requires a lot of boilerplate coding, is complex, and prone to accidents. However, there is little debate about Java virtual machines (JVMs). JVM is a masterpiece in software engineering, providing a time-tested runtime. In the previous article, I discussed in detail the benefits of JVM:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Article: https://sdatascience.com/programming-language-that-rules-the-data-intensive-big-big-data-fast-data-frameworks-6cd7d5f754b0

For years, JVM languages like Scala tried to answer the shortcomings of Java and wanted to be a better Java, but failed. Finally, Kotlin appears, and the journey to find a better Java seems to be over. Jet Brains, the company behind popular IDE IntelliJ, developed Kotlin, which runs on JVM, addresses Java’s shortcomings and provides many modern features. Unlike Scala, Kotlin is much simpler than Java and provides Go or Python-style development efficiency in the JVM.

Google announced that Kotlin is the first-class language to develop Android and increased Kotlin’s acceptance in the community. The equally popular Java Enterprise Framework Spring has also supported Kotlin in the Spring ecosystem since 2017.

Key features:

Kotlin’s USP is its language design. I always think of Kotlin as Go/Python on the JVM because its code is concise. As a result, Kotlin is highly productive.

Like many other modern languages, Kotlin provides features such as empty pointer safety, type inference, and so on.

Because Kotlin runs in JVM, you can use the large ecosystem of existing Java libraries.

Kotlin is a leading language for android applications and has overtaken Java to become the first language to develop Android applications.

Kotlin is supported by JetBrains and open source. So Kotlin has good tool support.

There are two interesting projects: Kotlin (compiling Kotlin into native code) and Kotlin.js (Kotlin converted to JavaScript). If they succeed, Kotlin can be used outside of the JVM.

Kotlin also provides a simple way to write DSLs (domain-specific languages).

Popularity:

Since its first release in 2015, Kotlin’s popularity has soared. According to Stack Overflow, Kotlin is the fourth most popular programming language of 2019:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo credit: Stackoverflow

Kotlin is also one of the fastest growing programming languages, ranking fourth:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo credit: Github Octoverse

The popular programming language ranking site PyPl ranks Kotlin as the 12th most popular programming language and has a high upward trend:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo: Pypl

Since Google announced that Kotlin is the first-class language to develop Android apps, Kotlin’s popularity has grown rapidly, as shown in the following image:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo: Google Trends

Key use cases:

Enterprise applications

Android app development

Key competitive languages:

Java

Scala

Python

Go

TypeScript

Which modern programming language is strong? You should probably know these seven programming languages in 2020

JavaScript is a great language, but JavaScript until 2015 had many drawbacks. Even Douglas Crockford, a well-known software engineer, has written a book, JavaScript: The Good Parts, and suggests that JavaScript has many bad parts. Because there is no modularity and “callback to hell”, developers don’t like to maintain particularly large JavaScript projects.

Google has even developed a platform to convert Java code into JavaScript code (GWT). Many companies or individuals are trying to develop better JavaScripts, such as CoffeeScript, Flow, and ClojureScript, but Microsoft’s TypeScript is undoubtedly the most prominent. A team of Microsoft engineers, led by Anders Hejlsberg, the founder of Delphi, created TypeScript as a modular superset of static types of JavaScript.

During compilation, TypeScript is compiled as JavaScript. Since its first release in 2014, TypeScript has quickly attracted social attention. At the time, Google also planned to develop a static type of JavaScript superset. Google was impressed with TypeScript, which did not develop new languages, but worked with Microsoft to improve TypeScript.

Google uses TypeScript as its primary programming language for the SPA framework Angular2 plus. In addition, the popular SPA React framework provides support for TypeScript. Another popular JavaScript framework, Vue.js, declares that they will use TypeScript to develop a new Vue.js 3:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo: Vue.js Roadmap

In addition, The founder of node.js, Ryan Dahl, decided to use TypeScript to develop a secure node.js alternative, Deno.

Key features:

Like Go or Kotlin in the list, The main feature of TypeScript is language design. With its clear and clean code, it is one of the most elegant programming languages. In terms of developer productivity, it is comparable to Kotlin or Go/Python on the JVM. TypeScript is the most efficient JavaScript superset.

TypeScript is a strongly typed superset of JavaScript. It is particularly suitable for large projects and is correctly referred to as “large-scale JavaScript”.

The “Big Three” one-page application frameworks (Step, Step, Vue.js) provide excellent support for TypeScript. In Angular, TypeScript is the preferred programming language. TypeScript is becoming more popular in React and Vue.js.

Two of the biggest tech giants, Microsoft and Google, are working together to develop TypeScript, which is supported by a vibrant open source community. Therefore, tool support for TypeScript is one of the best.

Because TypeScript is a superset of JavaScript, it can run everywhere in JavaScript. TypeScript can run on browsers, servers, mobile devices, IoT devices, and the cloud.

Popularity:

Developers love TypeScript’s elegant language design. In the Stackoverflow developer survey, it ranked second in the most popular language category with Python:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo credit: Stackoverflow

TypeScript is one of the fastest growing web programming languages, ranking fifth on GitHub Octoverse:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo credit: Octoverse

TypeScript also made the top 10 (7th) based on GitHub contributions:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo credit: Octoverse

TypeScript has attracted more and more attention over the past year, as reflected in Google Trends:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo: Google Trends

Key use cases:

Web user interface development

Server-side development

Key competitive languages:

Javascript

Dart

Swift

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Steve Jobs refused to support Java (and JVM) in iOS because he believed that Java would no longer be a major programming language. We now know that Steve Jobs misjudged Java, but iOS still doesn’t support Java. Instead, Apple chose Objective-C as the mainstream programming language in iOS. Objective-C is a difficult language to master. Moreover, it has the high development efficiency required by modern programming languages.

At Apple, Chris Lattner and others developed Swift, a multi-paradigm, universal, compilable programming language that provides an alternative to Objective-C. Swift’s first stable release was released in 2014. Swift also supports the LLVM compiler toolchain (also developed by Chris Lattner). Swift has good interoperability with the Objective-C code base and has become the primary programming language for iOS application development.

Key features:

One of Swift’s fatal advantages is its language design. It uses simpler, concise, and cleaner syntax, providing a more efficient alternative to Objective-C.

Swift also offers features in the modern programming language: null security.

Swift is a compiling language that’s as fast as C.

Swift supports the LLVM compiler tool chain. Therefore, we can use Swift on the server side and even in browser programming (using WebAssembly).

Swift provides Automatic Reference Count (ARC) support to limit memory mismanagement.

Popularity:

Like many other modern languages, developers love Swift. According to StackOverflow, Swift ranks sixth among the most popular programming languages:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Swift has risen to 10th place in tIOBE’s programming language rankings in 2019. Considering that the language is only 5 years old, this is a remarkable achievement:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo credit: TIOBE Index

Google trends also show that Swift’s popularity rose sharply first, then slightly in the final saturations:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo: Google Trends

Key use cases:

iOS app development

System programming

Client development (via WebAssembly)

Key competitive languages:

Objective-C

Rust

Go

Dart

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Dart is also the programming language published by Google. Google is a key player in the web and Android world, and it’s no surprise that it’s developing its own programming language in web and application development.

Dart is a common programming language that supports strong types and object-oriented programming. Dart can also be converted to JavaScript and can run anywhere (e.g. web, mobile, server) where JavaScript runs.

Key features:

Like Go, Dart is very focused on developer productivity. Dart is popular with developers for its clean, simple, and concise syntax, which greatly increases productivity.

Dart also provides powerful classes and object-oriented programming.

Dart is one of the few languages that supports JIT compilation and AOT compilation. As a result, Dart can target the JavaScript runtime (V8 engine), and Dart can compile into fast native code (AOT compilation).

Cross-platform native app development platform Flutter selects Dart as a programming language to develop iOS and Android apps. Since then, Dart has become more and more popular.

Like Go, Dart has great tool support and a huge ecosystem of Flutter. The growing popularity of Flutter will only increase the popularity of Dart.

Popularity:

According to Github Octoverse, Dart is the fastest growing programming language in 2019, and its popularity has increased fivefold last year:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

According to TIOBE, Dart is ranked 23rd and in just four years it has surpassed many other programming languages:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo credit: TIOBE index

It is also one of the 12most most popular programming languages in the StackOverflow Developer Survey:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo credit: StackOverflow

In addition to Flutter, Dart’s popularity has improved dramatically over the past two years, as is evident in Google:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo: Google Trends

Key use cases:

Application development

Front-end development

Key competitive languages:

Javascript

TypeScript

Julia

Which modern programming language is strong? You should probably know these seven programming languages in 2020

The programming languages listed above were developed by large companies, but Julia is not. In technical computing, dynamic languages such as Python and Matlab are often used. These languages provide easy-to-use syntax, but are not suitable for large-scale technical computing, and they use c/C?libraries to handle CPU-intensive tasks. Because code is converted between two languages, there are always some performance penalties.

To solve this problem, a team of MIT researchers plans to create a new language from scratch that takes advantage of modern hardware and combines the best parts of other languages. They did the work at the MIT Innovation Laboratory and made the following statement:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Source: Julia Presentation

Julia is a dynamic, advanced programming language that provides best-in-class support for concurrent, parallel, and distributed computing. Julia’s first stable release, released in 2018, quickly gained traction with the community and industry. Julia can be applied to many fields, such as scientific computing and artificial intelligence, and ultimately solve the problem of “two languages”.

Characteristics:

Like Rust, Julia’s main feature is the language design. It attempts to combine some of the best features of existing programming languages in high-performance and scientific computing without sacrificing performance. So far, it’s done well.

Julia is an optional type of dynamic programming language. As a result, Julia is easy to learn and efficient.

It is centered on the multi-assignment programming paradigm.

It has built-in support for concurrency, parallel, and distributed computing.

It also provides asynchronous I/O for I/O-intensive tasks.

It is very fast and can be used for scientific calculations that require millions of threads.

Popularity:

In many areas, Julia competes primarily with Python. Since Python is one of the most popular programming languages, it will be a few years before Julia becomes mainstream.

Julia is relatively young (only one year old) but still ranks 43rd in the TIOBE index:

Which modern programming language is strong? You should probably know these seven programming languages in 2020

Photo credit: TIOBE

Google Trends also shows that programmers have been interested in Julia’s stability in the past.

Which modern programming language is strong? You should probably know these seven programming languages in 2020

But given the set of features and the number of companies behind Julia, such as NSF, DARPA, NASA, Intel, it’s only a matter of time before Julia makes the breakthrough.

Key use cases:

Scientific computing

High-performance computing

Data Science

Visualization

Key competitive languages:

Python

Matlab

via: https://asdatascience.com/top-7-modern-programming-language-to-learn-now-156863bd1eec