Back in September 2013 we carried an article showcasing 11 newfangled programming languages, each of which sought to approach programming in a fresh, modern way. The languages are: Dart, Julia, Clojure, Haxe, Fantom, OpenCL, Elixir, Go, Rust, Ceylon, and Harlan.
We acknowledged that it was unlikely many of the 11 newfangled languages would displace the established languages, but noted that a few could become mainstream.
What happened to these 11 programming languages? Have they become central to the development of open source software, have they stayed on the fringes, or are they only remembered like fingerprints on an abandoned handrail?
Go is a compiled, statically typed programming language that makes it easy to build simple, reliable, and efficient software. It’s a general purpose programming language with modern features, clean syntax and a robust well-documented common library, making it a good candidate to learn as your first programming language. Go has a long list of things in its favor which accounts for its popularity among developers. There’s lots of high quality open source projects written in Go. A few of our favorites include Kubernetes (a production-grade system for managing containerized applications across multiple hosts), Gin (a HTTP web framework), Gogs (a self-hosted Hit service), and fzf (a command-line fuzzy finder).
Rust is a systems programming language that runs fast, prevents segmentation faults, and guarantees thread safety. It accomplishes these goals by being memory safe without using garbage collection. The language enables developers to write programs with the performance and control of a low-level language, but with the powerful abstractions of a high-level language. Like Go, Rust has seen strong adoption among the open source community, in part because of its strong ecosystem, focused on performance and safety, particularly safe concurrency.
Julia is a high-level, high-performance dynamic programming language for technical computing. Created in 2009 and released to the public in 2012, Julia was designed to improve on deficiencies in Python and other languages and applications used for scientific and numerical computation. It’s notable for being just-in-time compiled, offering the ability to call C, Python and Fortran libraries, and excellent parallelism. Julia has been touted as having the potential to unseat Python, but that’s not on the cards any time soon. But it’s an excellent language for many types of projects.
In Top 100
Clojure is a modern, dynamic, and functional dialect of the Lisp programming language on the Java platform. Notable open source projects using Clojure include Metabase (business intelligence and analytics) and Riemann (a network event stream processing system).
Elixir is a dynamic, functional language designed for building scalable and maintainable applications first released in 2011. Its gaining popularity particularly for microservices and cloud computing. There’s some notable companies that use Elixir in their architecture. Examples include Pinterest, Moz, and Discord. The latter chose two main languages to build their infrastructure: Elixir and Python. From day one, Discord has used Elixir as the backbone of their chat infrastructure.
Clojure and Elixir haven’t received as much popularity as Go, Rust, Dart, or Julia, but they are still contenders to breakthrough.
We’ve compiled the finest free resources to master these programming languages.
GPU programming languages
OpenCL (Open Computing Language) is an industry standard for doing number crunching on GPUs. It’s one of the most common languages for developing code for GPUs and features in the Top 100 in the TIOBE index. OpenCL is a trademark of Apple Inc., used under license by Khronos.
Harlan is a domain specific language for programming GPUs. Harlan requires an OpenCL implementation as well as a compatible Scheme. Harlan remains in obscurity.
Ceylon was created by Red Hat and donated to the Eclipse Foundation in September 2017. There haven’t been any updates to the language since then. Clojure’s adoption by software developers using the Java platform has continued to increase, but hasn’t broken into the top 100 in the TIOBE index.
Fantom is a portable language that runs on the JVM and modern web browsers. It features a familiar Java-like syntax, static (and dynamic) typing, elegant system library, closures, immutability, actor concurrency, and much more. Like Ceylon, Fantom doesn’t feature in the top 100.
But Go, Rust, Dart, and Julia show that new languages can quickly make significant inroads in open source projects.
All the articles in this series:
|Now and Then - See How Promising Open Source Software Has Fared|
|Programming Languages||Go, Rust, Dart, Julia, Clojure, Elixir and more|
|File Managers||SpaceFM, gentoo, Marlin, Eagle Mode, and Beesoft Commander|
|Distributions||The fate of 15 distributions|
|Lean Desktop Environments||Xfce, ROX Desktop, LXDE, FVWM-Crystal, EDE, and Étoilé|
|IDEs||Brackets, Light Table, Julia Studio, Dart Editor, and Aptana Studio|
|Music Players||qomp, Lollypop, Yarock, Pragha, and Volumio|
|Web Browsers||eww, Liri, Vivaldi, Ubuntu Internet Browser, Fifth, Dooscape, and Breach|
|Terminal Emulators||Terminology, Cool-Retro-Term, and Final Term|