This list is opinionated. I’ve looked at hundreds of languages and I’ve read numerous posts and these are the languages I have decided fit into my crosshairs. I’m negotiable on them, but you have to start somewhere…so here is my list.
Languages marked with an * are languages I am personally interested in learning. Languages marked with a ** are languages I have either past or present familiarity with but should not be taken to indicate competency.
The Languages We Use Now
- Go* – By Google, not as low-level as Rust.
- Kotlin (uses JVM) – General purpose language which is now the preferred language for authoring Android apps.
- Ruby – Interpreted, primarily popular because of Ruby on Rails web framework.
- Rust – By Mozilla, low-level.
- SQL – For querying relational databases.
- Swift – Apple’s language for creating applications for Apple devices.
- Replaces Objective-C.
- Babel – Allows for using latest language features and transpiles to older versions of JS to ensure compatibility.
- Node.js – For server/command-line applications.
- TypeScript – Microsoft’s transpiling language.
- See this site’s PHP page.
Shell has been implemented and extended in a variety of ways. An interesting article on four of the most popular options ( Bash , ksh, zsh , tcsh, and fish) is available from MakeUseOf. The one not covered by the previous article is dash, which is the default shell for Ubuntu/Debian.
These Languages Matter(ed)
- BASIC**- It pains me to put BASIC on this list but it has largely fallen out of favor in the developer world. So why is it here?
- BASIC wasn’t always scorned and it is still widely used in the business world, largely through Microsoft’s Visual Basic (legacy) and Visual Basic .NET (VB.NET).Many of us (myself included) were introduced to programming through BASIC (QuickBasic).BASIC is fun, imho, and I still enjoy tinkering with it’s modern incarnations such as QB64 and FreeBasic.
- Elixir – Uses the Erlang VM, a functional language.
- Erlang – Meant for highly scalable applications, perhaps best-known for Elixir being built upon it.
- F# – Started out as an OCaml implementation.
- Fortran – Stands for Formula Translation.
- Haskell* – Functional programming language.
- A family of languages including Common Lisp, Scheme, Racket, and Clojure (JVM).
- OCaml* – Main implementation of Caml, part of the ML family of languages.
- Scala – Runs on Java JVM.
- Simula – Considered the first OOP language, significant influence on later languages.
- Smalltalk – Includes dialects/descendants such as Pharo; extremely influential on other OOP languages.
For Curiosity Sake
- If you’d like to learn about new and upcoming languages there is the Fledgling Languages List.