Heavy use of the C preprocessor and C defaults to embed a functional programming language. Language with a small number of core functions and ability to apply functions to lists of atoms. Aesthetically favoring short identifiers and minimal whitespace to create high semantic density. Eschew comments.
You know how when you first start learning to code, the kids who really "get it" right away start off thinking shorter code = smarter code = better code?
k always seemed like a bunch of those kids managed to become highly accomplished and brilliant engineers without ever breaking that terrible habit. Is there actually a reason to write these array languages (and interpreters for them, apparently) this way, or is it just a cultural difference?
> k always seemed like a bunch of those kids managed to become highly accomplished and brilliant engineers without ever breaking that terrible habit. Is there actually a reason to write these array languages (and interpreters for them, apparently) this way, or is it just a cultural difference?
They're more readable and less buggy that way. But unfortunately most programmers would rather spend 10 days reading 100,000 lines than 4 days reading 1,000 lines.
Whitney and I both worked in the 1970s for I.P. Sharp Associates, which used an email system written beautifully in APL by Leslie Goldsmith. Most user names were simply our initials. Ian Sharp was IPS, Leslie LHG, and Arthur ATW. (Middle name Taylor.) I’ve been SJT ever since (including to two wives) but was not smart enough to grab the domain: see 5jt.com.