Start Programming

If you are new to programming I would recommend you to start with Python or TypeScript. They are both multi-paradigm high-level languages. Which means you can do basically anything with them relatively easily. Also they are 2nd and 4th in GitHub’s Top languages used in 2022 ranking. And 6th, 4th in the Stack Overflow’s most loved language ranking.

Types of Programming Languages

So far I have found these categories to be the most useful.

Main use
  • General-purpose

  • Interactive mode languages

  • Command-line interface languages

  • System languages

  • Machine languages

  • Extension languages

  • Numerical analysis

  • Concurrent languages

Execution
  • Compiled languages

  • Interpreted languages

Syntax
  • Curly-bracket languages

  • Off-side rule languages

Paradigm
  • Multiparadigm languages

  • Imperative languages

    • Procedural languages

    • Object-oriented class-based languages

  • Declarative languages

    • Functional languages

      • Purely-functional

    • Logic-based languages

  • Array languages

  • Metaprogramming languages

Memory
  • Languages with manual memory management

  • Garbage collected languages

  • Type safe languages

Type Systems
  • Strong or Weak

  • Static or Dynamic

Evaluation strategy
  • Eager evaluation

  • Lazy evaluation

  • Short-circuit evaluation

First-class Citizen

In programming language design, a first-class citizen (also type, object, entity, or value) in a given programming language is an entity which supports all the operations generally available to other entities. These operations typically include being passed as an argument, returned from a function, and assigned to a variable.

Languages Worth Mentioning

Assembly language

First abstraction above machine code.

System languages

C

One of the most successful languages of all time. I believe, most of the programming languages are written in the C language. You can sense C’s at the time popularity from the song Write in C.

Go

"Go is a statically typed, compiled high-level programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson." — en.wikipedia.org/wiki/Go_(programming_language)

Rust

The most loved programming language. Memory safety is done by borrow checker. Is another language that made it to the Linux kernel source code.

Command-line interpreters

Z shell

Z Shell is a great option for interactive login shell, extends the Bourne Shell.

JavaScript

The programming language of the web.

General-purpose programming language

Python

Second most used programming language with very pleasant syntax.

TypeScript

Typed superset of JavaScript developed by Microsoft.

Raku

Formerly called Perl 6. When regular expressions are not powerful enough, look at Raku’s Grammars.

Purely functional

Haskell

Lazily evaluated purely-functional language with type classes.

Idris2

Idris is a programming language designed to encourage Type-Driven Development.

Array oriented

Julia

Great (array) language for mathematics that runs fast (jit).

BQN

Iversonian language, by Marshall Lochbaum who started in J and implemented a lot of Dyalog APL himself.