Languages

Appendix 3 - Programming Languages #

1
2
3
for (🥚 = 0; 🥚 < 🐔; 🥚++){
   hatch(🥚);
}

Why hello,

If you’ve found this page, it’s likely your curiosity is getting the better of you and you’re killing time gawking at the weird syntax and features of a variety of languages. I know I have been guilty of doing so.

This page is meant to give you a taste, not a full list. There’s so many niche languages, esolangs, and outright jokes gone to far (like emojicode) to possibly make this list exhaustive.

This also means it’s quite possible your favorite language isn’t here. Depending on how esoteric it is, it may not even be on pldb or Awesome Programming Languages, in which case, congrats, you’ve truly found something strange.

Still though, you may be here just to get a better idea of the answer to the questions all people learning their first language begin to wonder:

  1. What do the other languages do that the one I’m using doesn’t?
  2. Why have all these languages instead of one do-it-all language everyone uses

Well, those are big questions, and hopefully as you browse this page you’ll begin to understand, but in general the answers are

  1. Nothing - but it can make some things a whole hell of a lot easier.
  2. Different logical representations making solving different problems easier

Before we look at each language though I want to get your brain in the right receptive place, so please enjoy these links first:

Now let’s actually see what each language has to offer.

Low Level #

  • Assembly
  • C
  • C++
  • Zig
  • Rust
  • LLVM IR
  • Nim
  • MicroPython/CircuitPython

Mid Level #

  • Red
  • D
  • Odin

High Level #

  • Java
  • Kotlin
  • JS
  • CoffeeScript
  • TypeScript
  • PHP
  • Dart
  • Hack
  • Ruby
  • Perl
  • Raku
  • Python
  • Haxe
  • Go
  • Crystal
  • C#
  • F#
  • Swift
  • WebAssembly
  • Noulith

Old #

  • Forth
  • Cobol
  • Fortran
  • Pascal
  • BASIC
  • Objective-C
  • APL

Scripting #

  • Lua
  • Moonscript
  • AHK
  • Tasker
  • Cyber
  • Wren

Shell #

  • CMD.exe
  • Powershell
  • Bash
  • ZSH
  • Fish
  • Xonsh
  • Elvish
  • C Shell (tcsh)
  • Murex
  • Nu Shell
  • Hilbish

Visual #

  • Pure-Data
  • vvvv
  • tooll.io
  • Node-Red
  • n8n

Domain Specific #

  • Vult
  • VHDL
  • Verilog
  • Scallop
  • Matlab
  • Wolfram Language

Esoteric #

Graphics Programming #

look to Chapter 19: Shaders + GpGPU for programming involving graphics, including node based shader editors, general purpose computation on the GPU, and more. As for languages, this includes, GLSL, HLSL, Futhark, and a few others. There are, many, many other graphics languages depending on the platform though.

Functional Programming #

Look at Chapter 21: (((())(()((()(())))))) for Functional Programming. You’ll probably want to look into Lisp, Haskell, and Futhark. There’s a nice tutorial for Haskell programming if you want to learn more.

  • Haskell
  • Lisp
    • Janet
    • Racket
  • Unison
  • Roc
  • Koka
  • Futhark

Database #

Look at Chapter 39: Databases for information on Databases, including languages like SQL


If you would like to support my development of OpGuides, please consider supporting me on GitHub Sponsors or dropping me some spare change on Venmo @vegadeftwing - every little bit helps ❤️