What makes a programming language popular? Is it available libraries, maturity, syntactic sugar? While such qualitative answers may not be easy to answer, one can look at usage data to help describe popularity.
What better source to confer usage data from than GitHub? Each year, GitHub publishes The State of the Octoverse (SOTO)—a comprehensive analysis of user data. This annual report looks at things like geographics, gender, usage data, and tons more.
Most Popular Programming Languages
Amidst the SOTO report is a listing of the most popular programming languages—determined by total repository accumulation—measured over the past 6 years (2014-). While there are hundreds of languages out there the top 10 programming languages are always insightful.
10. Ruby/Objective-C (tie)
Tied in tenth place are Ruby and Objective C. Ruby, as many know, is a language popularized by its data-science libraries and its web framework Ruby on Rails (a.k.a. Rails.)
Objective-C is a thin-wrapper atop the C language, and the primary language used for OSX and iOS development. Objective-C is a superset of the C-language, meaning that any code written in C can be compiled in an Objective-C compiler.
9. Shell (scripts)
Powershell, Ba$H, batch files—these are the types of code that fall into the Shell language category. Given the broad binning of the “language”, it’s no surprise usage data puts it firmly within the domain of the most popular languages list.
Over the years, there have been almost too many variations of “shell” to list. Windows CMD provides command-line interfacing, its Powershell provides a more familiar terrain for Linux users, the new Windows 10 Linux Subsystem provides direct access to Born-Again-SHell (BASH) interfacing, and OSX users have access to several including tcsh, ksh, and also BASH.
8. C Programming Language
The darling of the programming world—the C Language has been around since the early 1970’s. It provides low-level access to hardware, serves general-purpose programming directives, recursion, custom data types, and powers software across nearly ever field where digital information is relevant.
C++ was created as an extension of the C-programming language as a means to offer classes. Since its inception, C++ has evolved considerably and now provides most all modern programming language constructs such as generics and objects while still allowing low-level access to memory.
C++ is standardized by the ISO with the most recent standard (C++20) having been published in December 2020. C++ is the industry standard for resource-limited systems such as embedded systems, real-time applications, and game engines. It comes with a learning curve but there isn’t much this language can’t do. There’s little wonder as to why it’s popularity remains solid.
PHP was developed as a web-scripting language to connect server-side processing to client-side (web browser) rendering. The popular web framework WordPress is built using PHP and the enormous ecosystem of themes and plugins it’s produced is undoubtedly a contributor to PHP’s continued popularity.
PHP originally acronymized Personal Home Page in the declaration of its intended purpose of supporting website usage. As such, early versions of PHP were not intended to be a full-fledged programming language. Modern PHP remains popular among web applications and has seen considerable performance enhancements in recent releases.
C# was developed by Microsoft in the early 2000s as part of their .NET program. It’s a full-fledged software framework that runs in the Microsoft Common Language Runtime software interface (similar to the Java Virtual Machine). It provides features like generics, object-oriented constructs, and functional programming paradigms.
C# was designed to provide a simple, modern, and general-purpose programming language with strong type checking, automatic garbage collection, and support enterprise-level performance demand. C# is written to provide high-level programming support but can still provide access to lower-level memory if desired. The letter “C” in C#’s name has no literal implications with either C or C++.
Java was released in 1995 by Sun Microsystems (now Oracle) and is a write-once-run-anywhere language—facilitated by the Java Virtual Machine. It features a class-based, object-oriented design with strongly typed syntax similar to both C and C#—but without access to low-level memory management. Java powers such as popular web frameworks as Spring but is suited for a wide range of applications.
Java’s main claim to fame is its robust accommodation of portability while maintaining the high-performance architecture. Java compiles into an intermediate code—bytecode—that is executed by the JVM which translates the code into machine-native code. All users need to do to facilitate this has the latest version of the Java Runtime Environment installed for their platform.
Python is a high-level programming language that prioritizes code readability and rapid-application development (RAD). It’s intended for general purpose use, has an object-oriented design (everything is an object in Python), is dynamically typed, has garbage collection, and—unlike many other languages listed here—is an interpreted language. Python was first released in 1991 and has evolved considerably since then.
Python is built using the C programming language and provides a robust standard library and has characteristic language features such as list comprehensions. Python’s surge in popularity can be partially explained by its vast ecosystem of mature libraries such as TensorFlow (machine learning), Django (web applications), Requests (http requests), and SQLAlchemy (Database ORM). Many Python libraries are written in lower-level languages such as C and integrated into higher-level APIs.
There is no clear-cut approach for qualifying what makes the “best” programming language. Use-cases, application-specific requirements and developer knowledge all play paramount roles in determining which language one should approach a new task with.
Language popularity on the other hand—that’s something for which insights from code-centric sources like GitHub can provide. The programming languages listed here were determined in such a way by referencing a total number of language-tagged repositories hosted with GitHub. Certainly to be taken with a grain of salt—but also certainly interesting to consider!