Aight, give me your programming language chain of development.
Use a prefix, - for just a little, + for a whole lot, and you can repeat.
For myself, the kind of reply I'm looking for, my own programming language chain, in the next post.
Post
Aight, give me your programming language chain of development.
Use a prefix, - for just a little, + for a whole lot, and you can repeat.
For myself, the kind of reply I'm looking for, my own programming language chain, in the next post.
@GeePawHill
+ Perl
- Pascal
- Basic
+ bash/sh/awk/sed
- C
+ C++
+++ Java
- Matlab/Simulink
- JS
- Python
+++ Kotlin (currently paid for and preferred)
@GeePawHill
+BASIC
-TMS9900 assembler
-Forth
-Cobol
+Fortran
+C
-Perl
+C++
+Java
+python
@GeePawHill For work, I came up with the following list. I've also toyed briefly with some others, but not seriously enough to add them to the list.
Also, this list is not strictly chronological. There's too many loopbacks to do that.
8085
--Basic
microcode (in binary, running a custom processor)
6800 family (numerous variants)
Z80
8031
Pascal
X86
-68000 family
++C
-C++
IDL (Interactive Data Language)
-Shell (various)
Java
--Perl
-Javascript
-Ruby
- BASIC
- Pascal
- C / C++
+ dBase/ foxbase
+ Visual FoxPro, Visual Basic
++ C#
- Java
++ Ruby
++ JavaScript
++ HTML/Css
- Python
+ Go
I recently wrote a post about my career trajectory (https://hectorcorrea.com/blog/2026-01-12/career-in-software-development) and one of the things I highlighted for newcomers was the discrepancy in the tech stack at school vs tech stack at work and that in the long run it does not matter that much because our tech stack will eventually evolve no matter where we start.
@GeePawHill
++ BASIC (HP 2100 & Apple dialects)
+ Pascal
+ Custom BASIC/Pascal "blend")
++ C
-- RPG
+ C++
- COBOL (-- JCL/CICS)
- Prolog
++ Java (longest 'in anger')
+ Groovy
+ C#
- Powershell
- Scala
- Golang
- - Kotlin
+ Python
-- Bash
- JS (TS)
Those represent use within my work (though not always for end-product; and I've probably forgotten some). [I've a particular personal interest in languages, so I've also learned the basics of many others along the way.]
-BASIC (first programming experience, mostly graphics)
-Pascal (Turbo, educational at uni)
-C (fucking nightmare, memory overwrites all over the place)
++Java
+Visual Basic (and the whole COM+ shebang 😬 )
-Visual Foxpro 😬
++Python
+C# (hated the capitalised variables, and MS fucked up the OSS tooling in the early days)
++JavaScript/TypeScript
-C++ (wow, this language became modern 😳 )
++shell 🙈 (choose your shell, don't call it a script, it is code!)
played with Clojure
1/2
Started as scientist programmer, then paid developer/tech Architect and now UX Designer/Architect. I’ve always taken a “toolbox approach” to digital dev tools-
1. Know at least 2 tools that do the same job, pick your preferred & master it.
2. Check out new variants & update “toolbox” accordingly.
3. Regularly practice tasks, methods & techniques.
4. Regularly share, explain and teach tasks, methods & techniques.
5. Pick the right tool for the job, not default to your preferred.
@GeePawHill
2/2
-VAX assemblers
+68K assembler
+++MS DOS 2-6
+Pascal>Delphi>Modula-2
-Fortran 77(Fourier transform-FT)
++QBASIC: FT 3D render
+C(++)
+++VB3-6
++OS script: bash
+++++Markdown
+++TCL
-PHP
+++HTML 4-5, XML, XSL, SMIL, SVG
+++CSS 1-3
++JavaScript (Rhino eng.) & prototype-based like Lua
++++Java J2EE 1.2-9
++SQL 1999-2003
-Kotlin
-Python (UI BFF & Data science) alt. PHP
++++JavaScript (v8/NodeJs engine)
-Ruby:web app prototypes alt. PHP & Python
+++infrastructureAsCode & other DSLs
@GeePawHill
+Basic (as teenager)
+Pascal (Turbo, even bought version 6 as a teenager)
-C
-x86 ASM (at one point, tried to implement "CLS" command or something)
+Java (since 1.0, at university and professional)
-C++ (thesis at university)
-Javascript (web stuff)
-Emacs lisp
-Clojure
-Scala (took 2 MOOCs)
I remember reading a book about OO programming in the 90s that was about message passing
- BASIC (games, fractal generator in high school)
+ C (1st year uni)
+ 8086 assembler (alt.comp.virus baby)
- Lisp
- 68000+ assembler
- C++
- Turing(!!)
+ Java
- Perl
+ C++
+ VisualBasic
+ Python
- JScript(!!)
+ PHP
+ Ruby
+ C++
- (proprietary "C"s and assemblers for various microcontrollers)
+ C# + VB.NET
+ JavaScript/TypeScript
- Objective-C
+ C++
- CLisp
- Rust
- Go
- Elixir
C++ has just been a constant throughout. I can't seem to escape it.
+ BASIC (on TOPS-20, Apple II, TRS-80, Microsoft, CBASIC, BASIC PLUS (PDP/11), Rexon & BASIC 4, Data Basic (on Pick), VBA, etm.)
+ COBOL ('68 & '85)
- PL/I
- RPG
- JCL
+ Assembly (6502, 8080, Z80, 8086, 68k, IBM 360)
+ dBASE
+ Transact SQL (Sybase/SQL Server)
+ PL/SQL (Oracle)
+ Pascal
+ FORTRAN
- Forth (& wanted more)
- Smalltalk
+ OWL (EDS R&D language more extreme than Smalltalk)
+ EDS R&D CASE tool graphical language
+ Java
+ Gosu (is like Java)
+ Guidewire Rate Routines
…
@GeePawHill
-BASIC
-PHP
+C++
-zOS assembly
-COBOL
-Java
+C#
+Java (starting here but never stopped)
+Js
-Groovy
-Scala
+Kotlin
@GeePawHill
- FORTRAN IV
+ BASIC
+ C
- PARADOX PAL
- Toolbook
+ VBA
- Perl
+ C++
- Python
@GeePawHill
applesoft BASIC
6502 assembly
z80 assembly
++pascal
++x86 assembly
-logo
visual BASIC
++c
++c++
sh/ksh/bash
--SQL
--SPARC assembly
ogl arb_program
++ogl GLSL
+nv Cg
-powerpc assembly
-lisp
-mips32 assembly
armv6 assembly
+armv7 assembly
-python
ocl c
-php
++armv8 assembly
cuda c++
--nv ptx
LLVM IR
obj-c
68000 assembly
thumb/t2 assembly
-metal c++
-perl
--zig
* The misc gpgpu c-likes, though employing shared c/c++ syntax, require a different SPMD mindset and come with their quirks.
@GeePawHill
Roughly, assume at best -+- throughout, order approximate
FORTRAN II (ca 1961)
IBM 704, 7090, 7094
-- APL
-- LISP
-- SLIP
-- IPL-V
--- Jovial
DEC PDP-1
SDS 940
PASCAL (dialect)
C, C++
BASIC
6502
Forth
XEROX SIGMA 7 / 9
Smalltalk
-- Self
Ruby
--- Haskell
--- Elixer
--- J (kind of like APL?)
Lua
Python
-- Kotlin
-- Java
--JavaScript
-- PERL
I don't claim to have ever been really good at any of them, but I might have been close sometimes.
@GeePawHill
Forgot:
LOGO
Simscript
SNOBOL
Commercial Translator (COBOL precursor)
Oh C#, wrote a whole book about it. No one read it.
Have toyed with Swift. Took an Objective C class from Brad Cox.
Doubtless more will come to mind.
@GeePawHill My list is a bit varied. I’m sure I’ve forgotten some, and I’ve skipped those I’ve just toyed a bit with.
+C64 BASIC
-Amiga BASIC
+AMOS BASIC
+ARexx
-Amiga E
+Pascal
-PLC
++JavaScript
-C/C++
-Visual Basic
-Delphi
-Lisp
-Ada
+Java
++Perl
-Tcl
-VimScript
+VBScript
+SQL
++PHP
-BASH
-sed
-Prolog
-Datalog
-Lua
+Python
++Ruby
-Raku
-AppleScript
-Objective C
-C64 Assembly
-Clojure
+Rust
@GeePawHill -
-Fortran
+CDP1802 machine language
-Cobol
+Basic
+Z-80 assembler
-Lisp
+Forth
+C
+x86 assembler
-6502 assembler
+C++
+Lisp
-Java
-VB6
+Ruby
-Python
-Clojure
@GeePawHill BASIC
-FORTRAN
-Pascal
VAX assembly
--C
-6502 assembly
-LaTeX
-DCL
Visual BASIC
--awk
Perl 4
Perl 5
--tcl
sh/zsh
-expect
--Java
SQL
-Ruby
-C++
--Racket
--Lisp
++Fortran
gnuplot
sed
Python
R
--Rust
--Ada/SPARK.
--APL
--Z80 assembly
AutoIT
The only languages I learned in a formal academic setting were FORTRAN, Pascal, and VAX assembly. I have two degrees in nuclear engineering and none in computer science.
Of all those, Perl 5 and Modern Fortran are the least awful or at least where I felt most comfortable. I wouldn't choose Perl for a modern project. Too much I work on ought to be written in Modern Fortran instead of Python. APL is alternately genius and demented - fascinating language! I first encountered Javascript in 1997-8 in the 2.0 browser era - all I remember was it was hideous and broken and I disavow any knowledge of it (same for anything related to Oracle and RMAN). Lisp & Scheme elude me, SICM is impenetrable, dense, and unmemorable - none of it sticks. I have a wall of computer language texts - Prolog, COBOL, MUMPS, SNOBOL4, ALGOL, C++, D, Forth, Julia, Fortran texts spanning 60 years including F, along with fictional teaching languages like MIX and TYDAC. Occasionally I'll dig into an older language (I need to get back to Forth and dig more into 6502 assembly. Maybe add JOVIAL).
@GeePawHill +Basic (commodore style. Did a few larger projects - for the time anyway)
+ C (also with mid-sized projects, but forgot everything since)
- Pascal, Lisp, Modula, C++, ML at University
+ Smalltalk
+ Java
+ Groovy
- Clojure
- Haskell
+ JavaScript
- Typescript
+ Kotlin
@GeePawHill
- Basic (as a kid on VC20 and C64)
- Pascal (at school)
- Lisp (university time; loved it but didn't had the chance to program Lisp for money)
- Modula 2
+ Cobol (hated it; obvious after having seen the power of Lisp)
+ C++ (used it for years but never really got it)
+ Delphi
+ Java (loved it compared to Cobol and C++ but compared to Lisp it sucked)
+ JavaScript (mixed feelings)
- Ruby
- Python
- Clojure (loved the clean implementation of Lisp concepts)
@GeePawHill
++ Smalltalk
+ C
+ C++
- Lisp (CLOS)
+ ObjectiveC
@GeePawHill Goodness…there’s a question.
+BASIC
+Z80 assembler
++ assembler, various. 68000, ARM etc. I was “Mr Low Level Magic” way back when.
+ PL/1
+ C
- C++
+ Java
+ XSLT
- JavaScript 🤮
- Scala
- Python (really do not like for some reason)
- TypeScript
- Golang
- Kotlin (loving it, need more excuses to use it)
Basic, various home cumpueter variants but mainly ZXSpectrum
6502 assembler
Pascal
C
Occam2
C
C++
Then it just kinds of explodes out. I have been paid money to work in Occam2, C, C++, Delphi, Python, Perl, Awk, XSLT, XQuery, Java, Groovy, Kotlin, C#, F#, VB, VBA, Scheme, Forth (or at least a Forth), a SmallTalk, various SQLs, JavaScript, TypeScript, D, a few company-internal languages, and some others I've forgotten.
Over 40 years...
BASIC
- Fortran
- Z80 assembly
- Logo
- Forth
Turbo Pascal
+ C++
- Ada
+ Python
Java
- Eiffel
- Ruby
- Scala
- Erlang
+ C
+ Haskell
+ Elm
- Rust
- Agda
- Idris
- Lisp
- Go
@jcberentsen Again, from another person I replied to, an interesting mix of dynamic and static.
@GeePawHill When I started becoming a TDD practitioner, the confidence gap between dynamic and static lessened for me. I heavily prefer static languages when it comes to refactoring as a design tool.
@GeePawHill Thus far...
It's all hobby, but I'll give it a go.
+various shell scripting languages
-a couple I don't remember
+PHP (I even wrote an IRC bot in that one. This was late in the PHP5 era)
+Tcl
-C (I'm not sure if this merits a plus, a minus, or no real mention. Details to follow)
No real mention: Perl (some hacking in the guts of CGI:IRC recently), also scripted for ircII-EPIC5.
I hope I die never having written a line of Rust.
@ellenor2000 Another excellent list. Stay away from Perl, down that road lies madness.
@ellenor2000 What!?! Of course whippersnappers are welcome.
@GeePawHill@mastodon.social hmm. I suspect I'll miss some stuff, but:
-Spectrum BASIC
+html (first paid work ever, well before becoming a 'developer')
+sql (I was a data analyst before accidentally transitioning to coding by getting so bored of my data analyst job that I automated it with...)
-vbscript in excel
+c#
-Python
+f#
-clojure
+elm
-ruby (a language I thought I'd enjoy and really didn't 😞 )
+haskell
+typescript
-ink
-gdscript
@mavnn Oh, again, a very different path than I, tho god love the Spectrum forever.
There's SO MUCH MORE I still want to learn. FORTRAN and assembly are on my bucket list mostly out of curiosity, while C, Arduino, and deeper knowledge of several of the above are on it for practical purposes. I also want to learn a bit of mobile development for Android, but in all likelihood that would be a black hole for my free time and I don't actually want that. I suspect whatever I learn next that I don't know at all yet doesn't exist yet.
@iris A wonderful list, very different from my own.
@GeePawHill
-Basic (home computer)
-6502 (tinkering, POKEing opcodes because I didn’t have an assembler)
+C
+Bash (if that counts)
+PL/SQL (a horrible period where company policy was to write web apps entirely in database store procedures)
-Perl
+Java
+Ruby
-JavaScript
+Elixir
+TCL (expect scripts called from elixir)
@kerryb When we say "bash", of course we mean the shell. But we also mean everything from cat to tr to grep to awk to the astonishing sed. I think bash counts, I think any shell counts.
@GeePawHill
+BASIC
6502/65816 assembly
Pascal (Orca, Turbo)
C
EASYTRIEVE PLUS
JCL
+Ada (complimentary)
+C++
VHDL
+Java
+Lisp
-Prolog
-Erlang
VisualBASIC
Ruby
+C# (derogatory)
-Smalltalk
-Scala
R
+Python (derogatory)
-Haskell
+Clojure
-Elixir
-APL
-OCaml
Some repeats that are too hard to untangle the timeline for. I don’t count JavaScript, though I’ve been paid to use it.
@curtosis Super-eclectic, like when you meet that special gal at the record shop.
@GeePawHill It’s hell to write a resume for, but when the right people find it they know it.
I don’t code much for a living anymore, so mostly just my own personal projects. It’s hard to not reach for one of the Lisps, when they’re so comfy and I can mold them to fit my current aches. :)
But I still enjoy learning new stuff. APL is delightfully, though logically, bonkers. I keep wanting to spend the time building some Forths, too. Seems to fit my love of elegance *and* hardware.
I am not a programmer. I either use something or I let someone else to do it for me.
Basic Plus 2 (DEC PDP RSTS/E)
html/css
php
sql
awk
Groovy
Python
@hananc You count. Thank you for replying!
@GeePawHill I feared someone will pooh pooh html/css as "programming languages" and then re-remembered Contempt Culture by @aurynn
Any time is a good time to link to this important post
@GeePawHill I started programming html before css existed and had a problems adjusting myself to its' handling of whitespace. I have a USENET question to prove it.
Here's mine from about 35 years:
- BASIC (messing with my Commodore 128)
- Pascal (at school)
- Javascript (little web stuff)
- Java (uni)
- C (uni)
+ VB 6 (first job!)
- C++
+ Java
+ Scala
+ Javascript
+ Typescript
- Objective-C
+ Python
+ Rust
- Kotlin
@ttiurani Very nice experience in terms of static vs dynamic types.