I was looking up dijkstra quotes and i found a good one i don't remember seeing before:

My point today is that, if we wish to count lines of code, we should not regard them as "lines produced" but as "lines spent": the current conventional wisdom is so foolish as to book that count on the wrong side of the ledger.

Dijkstra also appreciated my current predicament in advance:

I mean, if 10 years from now, when you are doing something quick and dirty, you suddenly visualize that I am looking over your shoulders and say to yourself "Dijkstra would not have liked this", well, that would be enough immortality for me.

incidentally, dijkstra would not have liked this

The question of whether Machines Can Think... is about as relevant as the question of whether Submarines Can Swim.

@dysfun that's probably the least damning thing he'd have to say about the current situation, but yeah

(the current situation being clearly a long way from even facing the one where "we might be biological machines, what if we pattern other machines on us?" is even relevant)

@flippac unfortunately he died before he could share his opinions on this matter with us and i'm limiting myself to what he actually said.
@flippac @dysfun Yeah, he also didn't have kind things to say about the dream of plain-language programming!

@flippac @dysfun yeah the current fad is more in the category of "it doesn't count as submersible unless you can get it back out of the water"

(paraphrasing Schlock Mercenary)

@ireneista @dysfun I really need to get round to the last two books - very much one that got better as the more general military humour blended with other aspects over time, much as I can be like that at times
@flippac @dysfun yeah it kind of feels like the author experienced personal growth over the course of writing it, and we got to see that reflected in the characters

@ireneista @dysfun that and the pileup of "being silly with sf" got taken seriously when it crossed a certain threshold, which looks suspiciously like it also aligns with either personal growth or already deeply held convictions (beware anybody who gets out of the military without some) meeting real world circumstances in which they needed to be expressed

(unlike me, my dad has finished the series)

@dysfun since the first time I saw it, I have never forgotten, "Dijkstra would not have liked this"

@eigen

Back in the late Neolithic, when instead of memes, demotivators roamed the steppes in huge numbers, I chanced upon that one and kept it ever since.

That and a similar poster of John McCarthy came in pretty handy from time to time.

@dysfun

@dysfun 🧵#Dijkstra #quote

So great — thank you! I had to dig up the source:

Dijkstra, E.W. ā€œIntroducing a Course on Calculi.ā€ EWD1213, Department of Computer Sciences, University of Texas at Austin, 30 Aug 1995.

https://www.cs.utexas.edu/~EWD/transcriptions/EWD12xx/EWD1213.html

@Roundtrip @dysfun

It kinda breaks my brain to learn that Dijkstra was teaching at UT while I was a student there. I could have theoretically passed by him in the halls, not having a clue who he was.
I really wonder where he taught (on campus) and where his office was. It'd give me a clue whether or not I might have theoretically run into him. šŸ˜†

cc: @dfloyd888

@rl_dane @dysfun @dfloyd888

You might find something in the UT CS Dijkstra archive :

ā€œFor over four decades, he mailed copies of his consecutively numbered technical notes, trip reports, insightful observations, and pungent commentaries, known collectively as ā€œEWDsā€, to several dozen recipients in academia and industry. Thanks to the ubiquity of the photocopier… the informal circulation of many of the EWDs eventually reached into the thousands.ā€

#Dijkstra #archive
https://www.cs.utexas.edu/~EWD/

E.W.Dijkstra Archive: Home page

@Roundtrip

@dysfun @dfloyd888

Those are neat!

I looked at a couple, but they weren't any more specific than "Department of Computer Science, UT Austin."

Tried searching for an old syllabus of his online, but haven't found anything yet.

I might try the wayback machine next. ;)

@Roundtrip

@dysfun @dfloyd888

Found his old homepage:
https://web.archive.org/web/20001210141800/http://www.cs.utexas.edu/users/UTCS/report/1997/dijkstra.html

And found the directory!
https://web.archive.org/web/19990420195154/http://www.cs.utexas.edu/users/gem/facultydirectory.html

His office was Taylor Hall 3.102

No idea where exactly that was in the building, but that building was my haunt!  (It held the computer lab)

Its nice to think that just maybe, some day in late 1992  Dijkstra saw a scruffy Persian kid peering into a VT320 and took note. šŸ˜‚

That'll be part of my headcanon until I die  šŸ™ƒ

Untitled Document

@rl_dane @dysfun @dfloyd888

Congratulations! Now whenever you are doing something quick and dirty, you can truly visualize that he is looking over your shoulders and say to yourself "Dijkstra would not have liked this" šŸ™‚

@rl_dane @dysfun

On the other hand, according to my Dutch CS Professor at Brown — Andy van Dam — Dijkstra could look over anyone’s shoulder at anything they were doing and say ā€œI don’t like thatā€.

@Roundtrip @dysfun

Haha, well, I don't do programming for a living so I'm mostly off the hook, as I mainly just write shell scripts for fun, and try to make them DECENT šŸ˜…šŸ™ƒ

@dysfun
I'm not taking shit from someone who introduced the function names P() and V() šŸ”„
@Doomed_Daniel yes i have similar problems every time i hear 'bra' and 'ket'

@dysfun

From what I understand, Dijkstra did not like anythings.

@dysfun Once Upon A Time we had a rule that "you can ignore the coding (etc) standards if what you're writing is less than 300 lines and will have a lifetime of less than 48 hours".

And then the use of source code control systems became universal so it was no longer possible to guarantee a lifetime of only 48 hours so that rule evaporated.

@dysfun

Are "more lines produced" actually a positive?

I really miss tight code.

@Uair no, but management everywhere seems to think so
@dysfun @Uair Maybe tell them it's like golf, not tennis.

@jackemled @dysfun

Me, I'm one of the nine women who can have a baby in one month.

I love that. We've all had that boss.

@Uair @jackemled the traditional approach is to buy them two copies of "the mythical man month" so they can read it twice as fast.

@dysfun @Uair @jackemled

Anything to do with the Month Man prophesy?

@Uair @dysfun
I once wrote a great piece of code that was an AI engine in 10k loc in a month. Then I took another 5 months and made it 4k lines long, broke quite a few laws of programming, removed all of the then statememts. It ran 3 times faster.

@ipd @Uair @dysfun

I once wrote a 40 line encryption program.

In a dick swinging contest, my mortal enemy wrote the same code in two lines.

I know which one I would rather maintain...
😁

#CodeMonkey

@n_dimension @ipd @Uair @dysfun I'm reminded of the joke or urban legend:

There was a programming competition: write a Quine - that is, a program that outputs its own source code - and make it as short as possible.

And somebody submitted the empty string.

@Uair @dysfun

i mean .. isnt half the point of constructs like functions, classes, inheritance, templates, macros, callbacks, etc; like explicitly to write less lines of code ??

@Li @Uair @dysfun Writing software at higher levels of abstraction demands a constant cost-benefit analysis, a kind of reverse Chesterton's Fence, before taking a decision to use the constructs enabling it; the C2y and C++2y proposal for "defer" to reduce dependence ion nested conditonals, goto, and scope guards is a case in point... and this is not something the often falsely promoted LLMs are capable of; it more or less demands symbolic AI and C.S. Peirce style abductive reasoning.
@bms48 @Uair @dysfun well yes obviously, but .. generally speaking, at all levels of abstraction, less lines of code is better
@Li @bms48 @Uair @dysfun I will add the condition of readability. I know someone, he writes very compact C code and very complex and compact if() statements, but it's uncomprehensible for anyone but him. Which makes his code useless.

@f4grx @bms48 @Uair @dysfun use is kinda relative here, if you just want a thing you can build that does the thing its useful if you want to actually understand what its doing or change stuff not really, your effectively having to just reverse engineer it;

immediately 'static recompilation' comes to mind here, where the code technically works but is not really readable at all

also i beleive 7zip is coded in this kind of way ^^

@Li @f4grx @Uair @dysfun I kind of have to do reverse engineering because although I have docs for something, they are incomplete, and the author died in a motorcycle accident near SF in the last decade or so.
@Uair @dysfun
No, that's the point. Management treats it as a positive (investment), while it's actually a negative (technical debt).

@leeloo @dysfun

I was making a joke and can't code more than a handful of .html, but was truly baffled that a boss could see that poorly. When I worked in the field, I was a tech, nothing special. I just grew up with an old punch-card jockey and my dad would let me use his computer when he wasn't.

@dysfun beautiful šŸ˜ and it hits the nail
@dysfun `FCT:> Every time I see something from this man I respect him more`
E.W. Dijkstra Archive: On the cruelty of really teaching computing science (EWD 1036)

@dysfun This part caught my eye, which I'm not sure has aged as well:

> Unfathomed misunderstanding is further revealed by the term "software maintenance", as a result of which many people continue to believe that programs —and even programming languages themselves— are subject to wear and tear. Your car needs maintenance too, doesn't it? Famous is the story of the oil company that believed that its PASCAL programs did not last as long as its FORTRAN programs "because PASCAL was not maintained".

@sundew @dysfun All running software is at least a little situated, and the situations change over time
@dysfun I remember reading about COBOL programmers working under management using LoC as a positive metric who at least created a positive side-effect of writing lots of good, carefully crafted comments, but in that universe, the code comments were accurate.
@dysfun @uep Please don't introduce management to code golf…
@dysfun oh wow yes. that's a great one. every line is an obligation we take on by writing it.
@dysfun a variation is "lines of code are not an asset but a liability"

@dysfun I totally agree. Shorter solutions are (to a certain point) much more elegant and maintainable. There's a lack of ability in many developers, either before implementation (when considering a problem) or after (when refactoring) that they can't see the short, clean solution.

This gets worse with LLM coding agent use, because an LLM defaults to creating more tokens, and is in itself unable to create "subtractive outputs". So you need to often ask it to re-generate, telling the model things along the lines of "wtf? This whole thing should fit in under 150 lines of code. Discard and recreate the entire file."

Mileage still varies extremely. But at least the LLM is happy to try. Producers/managers usually stop you from instructing human coders to rewrite what they just submitted "working" well enough.

@dysfun I like to think of more code as more technical debt
so increasing the number of lines increases technical debt

now, this does not mean you're doing it without reason. sometimes it can be necessary.
but you should avoid doing it unless you need to

which is why people who use LLMs baffle me

@solonovamax the tech debt metaphor is part of the problem though - companies are incredibly comfortable with debt because of capitalism and they think it's quite normal and good to have it.

@dysfun
Measure by outcome, not effort spent.

This could apply to many things (takes a long hard stare at the definition of GDP).