DEV Community

Discussion on: Which programming language would you start with and why?

onpikono profile image
Ondrej Pinka

IMHO depends on what interests you. Algorithms? Almost any language will do. Kernel and drivers hacking, embedded software? C, C++, Rust. Backend? Many many languages will work. Frontend? JavaScript, its clones or transpilers, infinite (and growing!) number of frameworks, or Wasm if you dare. Full-stack (same language for f/e and b/e)? F#, C#, Clojure, OCaml, Kotlin, JavaScript, Rust and many more. For mathematical / computation modelling (e.g. used in finance) probably F#, Haskell, for statistics and data analysis Python, Julia, F#... Databases? SQL and all its flavors.

Or if thinking more in paradigms - for procedural probably C, C++, Python, Go... For object oriented probably Java, C#, C++, Smalltalk, Python... For functional dynamically typed languages it would be any flavor of LISP, Elixir, for statically type it would be for example Standard ML, F#, OCaml, Scala, Haskell... For maths, proof theory, category theory and what not, probably Idris, Haskell, Coq, TLA+...

If thinking about platforms: for .NET it's F#, C#, VisualBasic, for Java VM it's Java, Scala, Kotlin (both of them are cross-platform and work on pretty much any major OS) for BEAM it's Erland and Elixir...

I am sure I missed many, I meant no offense :).

When I was a young person, there was no internet and PC was as expensive as a car, if not more. Now the options are almost limitless but with difficulty of choice and risk of being overwhelmed :).