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.
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.
- Logo
- GW Basic
- Pascal
- C
- VB 4/5/6
- Classic ASP
++ PHP
++ CSS (I love Front-end dev so this is my stand-in for that)
+ Ruby
+ Python
+ JavaScript
@GeePawHill -Commodore Basic
-c
-QuickBASIC
-Fortran
-PL/1
+IBM Assembler (first assembler of many)
-lisp
+COBOL
+Visual Basic
+ c#
-Java
+PHP (my least favorite)
+Python
+Javascript/Typescript
+Golang
Quite a few more in that path but I can’t remember them all.
@GeePawHill -BASIC, three kinds at about the same time: TRS80 Level I, BASIC/3000, HP2000 time-shared BASIC, was aware of other BASICs through listings in magazines
-Z80 assembler
++SPL/3000
+6502 assembler
-RPG
+Pascal (but not since 1988)
-Univac 1108 assembler
++C
-FORTRAN (long enough ago that it was all caps)
-COBOL
-80x86 (mostly 80386) assembler
-Java (ugh reminded me of Pascal)
-Perl 4
-ARM assembler
-Python (ugh reminded me of Pascal)
++Perl 5
+Objective-C
+#!/bin/sh (Almquist)
@GeePawHill
FORTRAN IV
COBOL
+PL/I
+System/360 assembler
-FORTRAN II (1800)
-1800 assembler
-LISP1.5
+Pascal
+Macro-10/Macro-20 assembler (DEC-20 etc)
MIT PDP-10 TECO
-MACLISP
-C
-Cshell
Scheme
Common Lisp
-Korn shell
-TeX
Perl 5
I still get paid for programming in Macro-20.
@GeePawHill
+ BASIC
- 6502 asm
+ Pascal
+ C
- real mode x86 asm :(
- ABEL
- PALASM
+ AWK
+ AHDL
- 68k asm (CPU32)
- PowerPC asm
+ C++
+ In house DSL
- VHDL
+ C/C++
+ Python
+ Verilog
+ HTML/CSS/Javascript :(
- TI 2812 asm :(
- MIPS32 asm
Unix shell scripting and DOS batch files scattered throughout, and I've researched a bunch of languages but haven't used 'em in anger to even warrant a '-'.
@GeePawHill
TRS-80 Basic
+TurboPascal ($$ first paid work)
+Z80 Assembly
-NS32000 Assembly
+C (ohh - the memory leaks)
-Modula2
-Concurrent Euclid
+C (again - Cross platform app Mac/Windows/Unix. We wrote cross platform and one of my colleagues built an early OO system)
+C++ (oh the pain that caused)
+Java
+C# (like Java but with some mistakes fixed)
+Java (returning to Java in 2007 to build an Eclipse Rich Client app felt like stepping back into the past)
….
@GeePawHill okay, let me try…
- Basic
- Pascal
- Perl
- Scheme / Lisp
- C
- C++
- C#
- PHP
- Java
- JavaScript
- Clojure
- Erlang
- Elixir
- Ruby
- Rust
- Python
- Bash (others have mentioned it too 😄)
- Vim ML (does that count? I wrote a refactoring extension for Ruby in it back in the day)
- io
And I’m forgetting some, I think. I wouldn’t know, would I? 😂
Also forgot the +- thingy 🙄
@GeePawHill
BASIC
Pascal
PERL
Cold Fusion
PHP
C++
JavaScript
Python
-TypeScript
Typescript is the only one I haven't put years into. I never got paid for my BASIC or Pascal. Cold Fusion is the only one I'd never go back to 😂
@GeePawHill
+ BASIC
+ Pascal
- Assembly
+ HyperTalk/Supertalk
- 4DL
- Lingo
+ Perl
+ SQL
+ PHP
- Bash
+ JavaScript
+ AppleScript
+ Objective C
+ ActionScript (2 & 3)
+ Ruby
+ Swift
- Python
I hope that’s it, I don’t think I have it in me to learn something new!
@margaux I'm playing with, not a language, but libgdx, a gaming engine for Java/Kotlin right now, and the learning is going *verrrrrrrry* slowly. So I'm kinda with you on that.
+Atari basic
-pascal
-c
+perl
-turing
-c++
+java
-vbscript
+javascript
+xslt
-python
-c#
+ruby
+clojure
-scala
-erlang
-elixir
-haskell
-idris
+go
+typescript
-rust
+gleam
+lua
For 40 years of programming (30 of them for money) this list is shockingly shallow
BASIC (Commodore and Apple) +
PHP (starting in 1998) +
JavaScript -
Python (lots during time at Mozilla and a little bit now) +
@grmpyprogrammer Interestingly short list, you're right.
@GeePawHill I try and learn a new language every year even if I keep coming back to Ruby for day to day. Too many to list but I’ll hit the highlights of the ones I feel like have made me a better dev overall.
@GeePawHill
- BASIC
- pascal
- fortran
- (some assembly language but it's been 40 years and I don't remember what we were using — learned a bunch, though)
++ awk
++ C
++ C++
+ perl
++ java
+ C#
+ javascript
+ python
I might be missing a couple.
I still write the occasional python script. The latest was to add an image to the fore-edge (opposite the spine) of a book by printing a slice on the edge of each page of the pdf.
@GeePawHill As I can reconstruct it and not counting 'one course in university':
BASIC
+6502 assembler (I even got paid for some of it)
-Forth (I read a book or two)
C and 8086 assembler
Turning (UofT teaching language)
--Prolog (widened my mind in 1/3rd of a semester)
-Concurrent Euclid (UofT research language)
+C and 68K assembler
more or less at the same time:
+C (including lex and yacc; still do some)
+Unix shell scripting (continues)
(+?)Emacs Lisp
Perl
+Python
-SQL
(+?)Go
Emacs Lisp
@GeePawHill
+BASIC
-Fortran90
-Java
+C
+LaTeX
-C++
+Python
@GeePawHill
+ Perl
- Pascal
- Basic
+ bash/sh/awk/sed
- C
+ C++
+++ Java
- Matlab/Simulink
- JS
- Python
+++ Kotlin (currently paid for and preferred)
@jay_peper I do greatly enjoy kotlin, which, by and large, thinks like me. :)
@GeePawHill that's a great way to phrase it!
@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
@dahukanna Good strategy, and an impressive list.
@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.
@RonJeffries @GeePawHill I did, once upon a time
@RonJeffries Helluva long list.
@GeePawHill helluva old guy
@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
@ollej Wide variety of dynamic vs static.
@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).
@arclight For years I've said that when I retired I wanted to back to Forth. Now I'm retired. It hasn't happened yet, but we'll see. :)
@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)
@StefanRoock A little bit of everything!
@GeePawHill
++ Smalltalk
+ C
+ C++
- Lisp (CLOS)
+ ObjectiveC
@reflektis Interesting path. With your first entry you must have stayed quite a while.
@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)
@thirstybear Love the ubiquity from the old-timers of Basic and either z80 or 6502 assembler happening so early.
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.
@GeePawHill@mastodon.social my just about to go to university son has deep dived into 3d graphics and physics simulations as a hobby over the last few years, and it threw him a while back when I answered a straight forward question on memory allocation with 'no idea, I've never written anything in an unmanaged language'.
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
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.
@GeePawHill I forgot about PHP! I wrote a good chunk of it 15y ago.
Looking at other people's lists, PHP is suspiciously missing compared to how it still runs most of the web. I would have thought it would be one of the most common languages. Hmm.
-BASIC
-Z80/8080
+Pascal
-8086
-dbase
-dataflex
-Modula-2
+C
+sh/sed/awk (occasionally since the 1980s)
-80386
+C++
-Java
-Perl
++C++
-Java
-Ruby
++C++
-Python
++C++
not sure about the correct sequencing. exposure to other languages happened. modern C++ is so different from what I (we) did in the 1990s, a lot of teaching programming.
@PeterSommerlad Oh, dataflex, yes, I have - there too. And idunno, should I have mentioned SysVr2, which is basically everything we can do today from bash?
@PeterSommerlad I mean, especially sed, cuz wtf how the fuck did they even make that. I remember the first time I wrote sed script. I *glowed* for a week.
@GeePawHill @PeterSommerlad I once wrote a sed script that used loops, just to get that experience in more advanced sed usage. I was so proud of getting it going at the time (and I still use the script¹), but in retrospect it was a stunt trick and I should have used a better fitting language.
¹ It filters out uninteresting headers in email messages in my extremely eccentric (Unix) email environment.
@GeePawHill teaching sed made me a better vi/ex/ed user
@GeePawHill
i worked as a trainer teaching C, UNIX and tools in the late 1980s while still a university student.
and I forgot lex and yacc
-BASIC (mostly I played collossal cave)
-Forth (first real language)
-6502 (first of a dozen different assemblers)
+Forth (hardcore, expert level)
-Fortran
-C
-Pascal (Turbo, then Delphi)
-80x86 (a fucking nightmare)
+C
++Forth (published library writer)
+C++
-Python (a couple projects in the oughties)
+Java (kicking and screaming)
+Kotlin (java except you only have to say things once)
Assemblers spread all through the Forth periods, cuz I became an expert implementor of Forth on new CPU's.
@GeePawHill Here's mine:
School:
+BASIC (Vic-20/C64/Amiga; wrote games, 3D engine, raytracer, genetic algs)
+68k (fractals, 3D engine)
-C
Undergrad:
-Modula-2
-Miranda
-Prolog
-6502 assembler
-Fortran
Postgrad:
+Prolog (PhD thesis)
Perl/PHP (blog engines)
Java
Haskell (teaching)
-Python (dabbling)
Academia:
+Python (research, teaching)
+Haskell
+Ruby (wiki & blog engines)
Javascript
R
-Clojure
Industry:
++Python
++Java
+SQL
Haskell
-C++
Hobbies:
+Teletype
Typescript
Lua
@GeePawHill
+BASIC
- a wee bit of Forth
- 6502
- FORTRAN
+ REXX
- Pascal
- C
- dBase III/IV
+ Clipper
+ C
+ x86 assembler
+ PowerBuilder
+ Java
+ Javascript
+ C
+ Ruby/Rails
- Python
+ Java
+ Javascript
+ Typescript
+ Ruby
+ Javascript
@GeePawHill
- Basic
- TMS9900 Assembly (it was actually good)
- 6502 Assembly (what? You can't load an Address with one instruction?)
- 68k Assembly (now we're talking! moveq.l #0,d0 takes one cycle less than the same with a move.l #0,d0)
- C (stupid aztec compiler, why are you pushing every parameter to the stack only to the call a shim that picks them off the stack and puts them into the canonical AmigaOS Parameter Registers and then call the library routine? You're wasting dozens of cycles)
@GeePawHill let’s see if I can recall them all:
-Timeshare BASIC
-Fortran 4? 77?
-BASIC (first programming class)
+C64 BASIC (first $ from programming)
+Fortran 77 (college physics and compsci)
+Pascal
-Modula-2 (just Pascal with silly guardrails)
+ADA
-Motorola 68000 assembler
+K&R C
-LISP
+GMAP assembler (first job out of college)
+++ANSI C
-C++ (hated it)
+++Java
+C#
-JavaScript
-Ruby
-Python
-Java, -C#, -Ruby, -F# (in the book)
-Rust (a tiny bit last week)
🤓
@GeePawHill “Welcome to Adventure! Would you like instructions?” 😍
That, and Super Star Trek, both on a Honeywell Bull GCOS8 system.
@GeePawHill
-- Pascal
C
-- C++
Java
-- Perl
++ C#
+ JavaScript
+ TypeScript
Go
@GeePawHill
-JS
+Java
-C#
+Kotlin
--C
---Zig
--Rust
-C
---C++
--Rust
+Kotlin
I heavily dislike Rust syntax, if it's not clear.
@lax Yeah, my team was reviewing some Rust code a member had written, and he was out sick, so I had to run the 2 hour session.
At the end, I noped right out of Rust forever.
@GeePawHill
+ BASIC
- PASCAL
- Occam 2
- ML
+ C++
+ C#
- JavaScript
+ Python
- Haskell
+ Typescript
+ Java
+ C++
I mean, there a couple of - - things, too. I've played with Lisp, played with Modula, played with LogLan, played with Rust one time for almost an hour.
But none of those justify a proper "-", so I didn't mention them.
And that's a career. I'm retired, and don't code for a living any more.
I think, in offering and comparing these lists, we should notice some things.
1) For all the people who've been in the trade longer than a decade, they're *lists*.
2) The thing that binds us together as geeks isn't really what we believe now, it's what we have been through.
3) Old-schoolers have more in common than we do apart.
4) There's nothing quite like knowing a language inside and out.
5) There's nothing quite like knowing someone who knows another language inside and out.
6) Love.
> "5) There's nothing quite like knowing someone who knows another language inside and out."
That's pretty much the old-school definition "hacker." 😈
(Yes, I've got stories to tell! 😆 )
Yea; I *HATE IT* when contracting companies insist that I list *ALL* the languages, tools, libraries, systems, and such that I've ever used, and my level of expertise in each. They can't understand how it could take more than a few minutes. But to accurately report most of it takes me *hours*. It's a Very Tedious Exercise.
As I mentioned above, I have learned new languages over weekends, and started work on them on Monday.
I'm paraphrasing Wil Wheaton cuz I don't like his word choice, tho I love the expressed idea.
What makes us geeks isn't *what* we love, it's *how* we love it.
My favorites, across that stretch?
Forth. The 68k. C++ before template meta-programming. Kotlin.
I code almost everything today in Kotlin.
In the early days of Java, I was known to say, …
“As a programmer, I prefer C++, as a more powerful tool.
But as a manager, I prefer Java. Because *Where are you going to find really good competent C++ programmers?!?*”
After that, I dropped C++ and went into Java. Easier to get work that way.
You have to be *Really, REALLY* disciplined to *NOT* shoot yourself in the foot with C/C++/assembly. (Yes, I know about the restricted subsets of C++ that are much safer.)
Forth was an awesome language. I couldn't get enough of it. I've often said that I wished the early microcomputer industry had embraced Forth instead of BASIC. Forth teaches Modular Programming! (BASIC rots your brain.)
Likewise, the Motorola 68k machine and assembly language was beautiful -- a work of art. Everything Intel produced was an Ugly Hack. And still is.
Logo
BASIC
(Turbo) Pascal
Prolog
Scheme
+Java
C++
-Python
PHP
+JavaScript
Objective C / C
+Kotlin
Dart
Starting with functional programming in a Lisp dialect was a good call by my father who introduced my early to programming. But people used to make fun because it was not BASIC and a 🐢, you know?
Did most real programming in Java and still like it. But also prefer and love Kotlin. It gets rid of boilerplate and null pointer problems while uniting OOP with FP.
@rhold Interesting path, very *mixed*, if I do say so. I don't know many folk who played Scheme. Now, coming down with Kotlin and then Dart, you seem fairly "static typed".
@GeePawHill yes, I am good Sir.
Can't say I understand those folks who hate it. For my it's the other way round.
Only exception: JavaScript vs. Typescript (i forgot to mention it). TS tooling is so clumsy it feels like a heavily patched and barley working JS.
I started on the professional side with web dev (hence the dreaded PHP) and switched to mobile. Most other stuff I picked up in university. Never ever started to learn a language 4 fun.
@GeePawHill
Have you looked at C++ in the last decade. what used to require template meta programming is just "normal" C++ constexpr code. the language got simpler to use, while becoming more powerful. However, classic OOP with virtual is kind of an anti-pattern and should/can be encapsulated, simpler static polymorphism and value-based/functional programming instead
@PeterSommerlad Honest answer: "fuck no". :)
@GeePawHill C++ became a much different language starting with the 2011 standard, we even get static reflection in 26
unfortunately, too many programmers still get educated/only know the legacy features from the 1990s.
@GeePawHill how is there no Perl on that list, this is a travesty
@darkuncle I did a gig 10 years ago in a Perl shop. I was fired, for reasons unrelated to Perl, but I was like, upside, I don't have to roll Perl any more. :)