Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yes but only when you're programming in Lisp (which can obviously be extremely useful and productive).

I want to get to this on the blog, but the narrow waist idea is actually hierarchical, with bytes at "level 0", and things like s-exprs and JSON at "level 1".

Building up this claim, I'd say ALL good languages are defined by their core data structures. See my comment (oilshell) here:

https://old.reddit.com/r/ProgrammingLanguages/comments/lliyu...

e.g. Lisp is defined by s-exprs, C by pointers and offsets, shell and Tcl by strings, etc.

The lowest common denominator between all these "meta-models" languages is BYTES. S-expressions are expressed as bytes. In Python and JavaScript, you serialize to JSON, etc.

----

To support this point, I have a slogan that "XML was a failed narrow waist". It was designed for documents, but people tried to express everything in it -- records, tables, and even programs.

But that was a bad idea! JSON took over some of that space since it's simply more appropriate. But JSON isn't good enough for documents, so we use HTML. Which means the lowest common denominator is again text.

(That discussion appears here: https://github.com/oilshell/oil/wiki/Perlis-Thompson-Princip...)




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: