Something that stuck with me from a previous job is the quote: “don’t underestimate things that have survived many attempts to kill them.”

Think: DNS, bash, C, TCP.

These things have survived this long for a reason. Find out the reason.

Good lord, people are interpreting this as me saying these things are Good and should not be replaced.

@samwho I'm not sure I've seen an argument that Bash is bad, exactly. Weird, I'll grant you. But bad?

(I use Zsh. Feel free to take that as bias in either direction.)

@fishidwardrobe @samwho If you ask me, the inconsistency makes it bad. A weird amalgation of Ksh, Csh, Bourne, ... . Just looking at the huge man page (around 70-80 when printed!) makes me stop wanting to use it 0:-)
@ljrk @samwho Well, compared to what? Zsh doesn't even fit on one man page! I agree it's complex, but it's doing a complex job… and it may have been born (or Bourne…) from a bunch of weird parents, but it's the reference/standard now.

@fishidwardrobe @samwho Compared to /bin/sh :-)

And that's literally standard!

@ljrk @samwho Okay, point. (Although on most distros now, sh is just bash wearing a mustache and glasses. Same executable.)

@fishidwardrobe @samwho Absolutely, but at least in sh compat mode (which also zsh is able to do). I think Debian still uses dash(?)

The nice thing about sh is that the standard's description of it, + a whole BNF grammar + a man page for every POSIX mandated CLI tool together is the same amount of pages w.r.t. documentation. Learning sh is *much* more simple, as is looking up it's behavior.

Of course, sh is still... itself rather crude. And while Bash does attempt to fix that, it adds too much cruft itself to be worthwhile if you ask me :-D

@ljrk @samwho Sounds as if we basically agree. Sh is too basic but Bash is a bit wild.
@fishidwardrobe @samwho Definitely very basic, although I'd argue that most more complex scripts should be written in a more typed language. Personally, I'd like to see something like GoScript or whatnot :-)
@ljrk @samwho This is going to date me, but I miss TCL.

@fishidwardrobe @samwho I mean, we've been talking about ksh and csh already, Tcl can't worsen this :-p

It's great old tech, I mean, Tcl even predates me by 10 yrs but I still had the ... pleasure? to work with it? :-)

@ljrk @samwho At least it's both more powerful and more consistent than shell script, while at the same time being at the command level.

Weirder still, though.

@fishidwardrobe @samwho Oh definitely! My first exposure to Tcl (and Tk) was the TeX Live installer GUI (+ much Perl sprinkled in). Fun times!
@ljrk @samwho I still use plain Tex. It's probably my weirdest personal IT choice… :/

@fishidwardrobe @samwho I know a few people who do! I'm not completely happy with LaTeX and also going back-and-forth to ConTeXt as well, but due to work and other things I usually need to deal with LaTeX itself.

Plain TeX and Metapost are fun though!

@ljrk @samwho I just wish the official reference for Tex wasn't $$$$. I *should* switch to Markdown for my writing. I should. But I don't think I can downgrade.

And Latex is too noisy. I just want text with a bit of Markup in it, but smart quotes and margins.

@fishidwardrobe @samwho You mean the TeX Book? The sources are online, so you can read it that way if you want?

I often need/want custom environments for things like exercises/solutions which I can conditionally compile. Works with TeX but at that point I am effectively reimplementing LaTeX :D Also, LaTeX is nice for helping write German text since KOMA script adjusts a lot of the US centric defaults to German typography standards. IIRC you can use it with plain TeX as well, but at that point... the complexity of KOMA is enough to warrant just using LaTeX ...

Markdown is definitely nice, I use it for my blog through pandoc but also sometimes for authoring simple documents with ConTeXt as an intermediate stage for nicer typography.

It does lack things like being able to use thin-space for German abbreviations like `z.\,Bsp.` as well as `\@` for marking full stops where the TeX heuristic fails. OTOH, one should just not use abbreviations in printed text and I should just use pandoc+Markdown more.

Also, https://www.quarto.org exists to offload certain things to Julia/Python/... . Reminds of the pipe+filter approach taken in roff.

In that regard: BWK is a hard-core roff user, even typeset the beautiful (!) Go book in good old roff (although using GNU/roff).

Quarto

An open source technical publishing system for creating beautiful articles, websites, blogs, books, slides, and more. Supports Python, R, Julia, and JavaScript.

Quarto