I'm genuinely starting to wonder if programmers are afraid (or not incentivized) to write "plain" looking code.

I look at a lot of Python examples these days and the main thing going through my mind is "wow, that thing you just wrote is like exactly the opposite of everything that initially attracted me to Python."

@dabeaz I wonder what the world would look like if every PEP had to include a section explaining how people would debug the new feature when it went wrong and/or every implementation of a PEP had to include an upgrade to debugging tools to help people. *cough* decorators *cough*
@gvwilson I'm very much in the anti-decorator camp these days. Every use of "@" is a code smell.
@dabeaz Said it before, will say it again: I'd really like to see you design a Lua-sized language...

@gvwilson @dabeaz why not actual Lua?

I myself, in my limited exposure, always wished there was more to the language, but that almost certainly me wishing it was more like Python.

@gvwilson @dabeaz

I'd love to see debuggability become a design criterion. Not just for languages, but for software systems in general.

@khinsen @gvwilson I find it interesting just how little coverage is given to such matters in general.

Specific example: How to generate good compiler error messages. I'm not aware of any compilers book that talks about this at all. Yet, it's a wickedly hard problem if you actually start digging into the details of it.

@dabeaz @khinsen @gvwilson I found a compilers book from 1970 or so that talked about it. Does that count? (-:
@shriramk @khinsen @gvwilson What book is that? I'd be interested.
@dabeaz @shriramk @khinsen @gvwilson That book isn't by Gries is it?
IIRC, P.J. Brown's _Writing Interactive Compilers and Interpreters_ had something to say about this (I might even have that book somewhere in my bookshelf ...); I see that he wrote an article about messages https://onlinelibrary.wiley.com/doi/epdf/10.1002/spe.4380120110 but it's paywalled. And I found a survey article that mentions Brown: https://web.eecs.umich.edu/~akamil/papers/iticse19.pdf
@PeterLudemann @dabeaz @khinsen @gvwilson I think these are correct. I found a copy in the basement at Dagstuhl. It only had a page or two. I seem to remember posting a photo somewhere, but can't find it (with the searches I tried) on Twitter, so maybe I posted it elsewhere… Sigh.
@shriramk @dabeaz @khinsen @gvwilson The Gries book had one of the best descriptions of the IBM S/360 object format, which (except for the 8 byte limit on names) was pretty good for the time; and the MTS OS even used the same object format for executables (after some processing to combine individual object files and minimize fixups when loading). Building a linking loader was one the projects for my 4th year systems programming course.
@shriramk @dabeaz @khinsen @gvwilson And now I'm wondering whether to attempt to fix a Wikipedia page that's worse than IBM's original documentation (which explained only the "what" and not the "why" or "how", which Gries did superbly). But first I need to find that book, if I still have it; it had a blue hardcover as I recall.
@khinsen @gvwilson @dabeaz There is a general tendency in software design, and technology/machinery in general, to deskill practitioners which devalues error analysis.
@dabeaz I've used this slide a few times. Unfortunately some coders believe incomprehensible code is clever code, and the image on the right is something to strive for. 😜
@dabeaz for many that is the only to prove that one is senior. I know too many in India with this mindset.
@dabeaz I think this is what I enjoyed about moving from C# to Golang... More plain code.
@dabeaz as someone who does code review for many beginner programmers, I sometimes (uncharitably) suspect it's a side effect of cobbling together solutions from search results. Or something something "your question has already been answered" (even though that's another question) forum moderator incentivization...
@terri I recently had the experience of shadowing a current CS undergrad on solving a problem they were having. It was eye-opening, and not in a good way. Forget search results, it was more like cobbling together a solution by speed-running through YouTube videos.
@dabeaz Python programmers really really want typing now. Right now. More than bug fixes or nice abstractions.
@sgillies Well, at least it all looks professional. I guess.