I grew up during the Cold War, I had zero expectation that I’d live to adulthood, and I’m still unconvinced the world after 2000 exists. The way to cope is nihilism and/or activism.
Nuclear war, global warming makes the Earth uninhabitable, new plagues wipe out everyone, AI poisons us or creates nanotech grey goo, fascists take over and gas everyone who isn’t them, a dinosaur-killer meteor hits the Earth again, eventually the Sun expands and fries the planet. You personally are going to die, probably long before any of those.
So you can either say “fuck it” and do your usual stuff anyway, or get involved in trying to stop or delay one of the disasters. Have fun with it.
Or as Morty says: “Everybody’s going to die. Come watch TV.”
I have two.
Scheme. It’s a fantastic language, you can cleanly switch from functional, procedural, or weird time machines (macros & continuations) solutions to any problem. Most Schemes (esp. Chez, CHICKEN, Gambit, Gerbil) compile to very fast binaries, close enough to C even with dynamic typing and garbage collection. C FFI depends on impl, but usually it’s pretty simple; in CHICKEN you can just write inline C code. SRFI vary from essential libraries to angels-on-pinheads nonsense, but there’s something to pick from.
Down side is the fractured, infighting community. R6RS was a practical batteries-included spec, which pissed off the teaching-only fans, so they made an inferior R7RS, and now committees are trying to make R7RS-large which is just bad R6RS. But if you pick one, and mostly stick to the spec language, it’s not a problem for the developer.
BASIC. I know, ridiculous, right? And I mean line-numbered, Atari or TRS-80 BASIC. But there was never a better language for teaching programming, or for banging out a small interactive program. Turn on any 8-bit computer (or start an emulator), it prompts
READY
, and you can write something small & interesting. Your modern 64-bit giant machine is notREADY
.