Comment by Philpax
3 days ago
The mark of an advanced shell scripter is knowing not to do advanced shell scripting.
(This statement primarily applies to existing stringly-typed scripting languages, which are nightmarish to maintain and debug. PowerShell, nushell, or similar solutions have a much higher complexity ceiling.)
2025 update of this 2006 presentation has a better title, https://news.ycombinator.com/item?id=43714928
Thank you for linking this.
I really want to reach for that pun and suggest: "Seat Belts and Airbags for bash safety" as an even better title.
Are you bashing bash?
2 replies →
Aren't TCL and Perl stringly-typed scripting languages?
No for Perl, in Tcl kind of, it changed in Tcl 8, already long time ago.
http://www.ira.inaf.it/Computing/manuals/tcl/man-8.0/Changes...
You won't catch me defending them ;)
Yes - at least in Tcl, _everything_ is a string
Not everything, and this already changed a while back.
> The core of the Tcl interpreter has been replaced with an on-the-fly compiler that translates Tcl scripts to byte codes; a new interpreter then executes the byte codes. In earlier versions of Tcl, strings were used as a universal representation; in Tcl 8.0 strings are replaced with Tcl_Obj structures ("objects") that can hold both a string value and an internal form such as a binary integer or compiled bytecodes.
http://www.ira.inaf.it/Computing/manuals/tcl/man-8.0/Changes...
> This statement primarily applies to existing stringly-typed scripting languages
IMO it applies to all languages. Fancy language features usually make for poor maintainability, e.g. metaprogramming.