Hacker Newsnew | past | comments | ask | show | jobs | submit | mlajtos's commentslogin

Oh, he would definitely hate it even more. It was too high-level for his taste.

What I would like to know is how he would bend Algol 60 if he had tablet with pencil that could evaluate it in real-time.


> It was too high-level for his taste.

That's a pretty silly claim. Is Haskell not high-level?

https://www.cs.utexas.edu/~EWD/transcriptions/OtherDocs/Hask...

Someone happy to see Haskell used in freshman CS education is not someone who opposes high-level languages.


Very interesting flip! For much of his life, Dijkstra opposed functional programming. He even more strongly criticised FP from Backus and APL from Iverson, which are both very funcional/function-level.

As he said, Java is a mess and any sensible person would oppose the switch from Haskell to Java. I am almost sure he never used any of them. Might have read about them, but highly doubt he run any on computer.

As for the high-level status of Haskell and APL — both languages are very mathematical. Haskell goes very into the abstract realm of computation, while APL tackles very raw form of computation. Semantically, Haskell is way more high-level. In terms of economy of notation and unified concepts, APL has no match.


Haskell is the best imperative language [1].

[1] https://stackoverflow.com/questions/6622524/why-is-haskell-s...

Haskell have array-oriented programming embedded DSLs, like REPA [2] and Accelerate [3].

[2] https://hackage.haskell.org/package/repa

[3] https://hackage.haskell.org/package/accelerate

The most used (by me) Vector package has boxed (efficient) and unboxed (J-like) arrays. With these arrays having map, fold, scan, fromList/toList, zip and unzip combinators, one can have as terse (in the operator count sense) notation as one wishes for.


> Might have read about them, but highly doubt he run any on computer.

Nice goalpost shifting. Anyways, you also neglected that he was a major proponent of structured programming and the author of the letter "Go To Statement Considered Harmful". The idea that he would oppose high-level languages is not based in reality. Specific languages, yes, but not because they are high-level as your silly original comment claimed.


I mentioned GOTO in this comment: https://news.ycombinator.com/item?id=47975982

Dijkstra was highly influential in theoretical (proofs, algos) and practical (spec&compiler for Algol60) compuper science. But in reality he used his fountain pen disproportionately more than the computer.


> Maybe, given the lens, I've not given Dijkstra a proper chance to demonstrate a more positive attitude, so I'm open to any suggestions of writings where he doesn't seem like such a grump.

Kinda hard to find where Dijkstra praised something (except Algol 60).

One funny example: he called FORTRAN "an infantile disorder", though he said this about the team behind it: "At that time this was a project of great temerity and the people responsible for it deserve our great admiration.".

On LISP: "LISP has jokingly been described as 'the most intelligent way to misuse a computer'. I think that description is a great compliment because it transmits the full flavor of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts."

Alan Kay on Dijkstra: "Arrogance in computer science is measured in nano-dijkstras."


Alan Kay elaborating on that quote: https://news.ycombinator.com/item?id=11796557#11799963

“This quote keeps on showing up out of context. […]”


"Kinda hard to find where Dijkstra praised something (except Algol 60)."

Hamilton Richards, who was one of Dijkstra's colleagues at the University of Texas, told me in an email that Dijkstra was impressed by the work of Richard Bird on functional programming.


Interesting. Bird-Meertens formalism? That was directly influenced by APL. In the broader scope — algebra of programs — Dijkstra heavily disliked Backus’ FP.


Dijkstra's go-to language (pun intended) was Algol 60 (& Pascal) – everything else was shit in his view. Some of his comments:

FORTRAN — "an infantile disorder"

COBOL — "the use of COBOL cripples the mind"

BASIC — students exposed to it are "mentally mutilated beyond hope of regeneration"

PL/I — "the fatal disease"

APL — "a mistake, carried through to perfection"

He liked his languages and programs to be easily traceable with pen & paper. He always wrote programs on the paper (and proved correctness) and only then into computer. REPL-driven development (what APL pioneered) was a foreign concept to him. He would be so appalled by LLM code generation.


Read the sources carefully. Fortran quote is not his; he quoted it. Also remember that he was talking about pre-Fortran77 era. F77 tried to fix some of the criticisms though did not succeed fully. Here is a nice dig-in about the quote https://limited.systems/articles/dijkstra-fortran/

Another note to remember that John Backus, the team lead of the Fortran gang, was in the Algol committee. So these folks knew what they are talking about and spoke to each other periodically. Even John Backus said, Fortran is not the final interface that we should have.

It keeps spinning in the programming circles half-quoted versions of half-baked quotes from original sources. These pioneers, even when they disagreed, had pretty precise arguments and very rarely feeling the feelies.


https://www.cs.utexas.edu/~EWD/transcriptions/EWD04xx/EWD498... – How do we tell truths that might hurt? 1975

FORTRAN —"the infantile disorder"—, by now nearly 20 years old, is hopelessly inadequate for whatever computer application you have in mind today: it is now too clumsy, too risky, and too expensive to use.

He told the truth and in turn Fortran corrected its course, but Dijkstra probably didn't change his mind about it.

---

> These pioneers, even when they disagreed, had pretty precise arguments and very rarely feeling the feelies.

The feud between Backus and Dijkstra kinda persuaded me of the opposite.

https://medium.com/@acidflask/this-guys-arrogance-takes-your...


He liked to be able to reason about programs without running them. He preferred simpler languages because they contain less irrelevant noise which got in the way of that.


This is a good idea.

Monadic/dyadic case for single glyph works nice only when you have a default value associated with it. For example `√16` is actually `2√16`. Or `log 100` is `10 log 100`. And `-3` is `0-3`.


> In order to provide live two-way video between the lab and the conference hall, two microwave links were used. English also commanded a video switcher that controlled what was displayed on the big screen. The camera operator in Menlo Park was Stewart Brand, who at the time was a non-computer person, best known as the editor of the Whole Earth Catalog. Stewart Brand advised Engelbart and the team about how to present the demo. Engelbart got to know Stewart Brand when they experimented with LSD at the same lab.

Last sentence is epic.


This is the first part of the "New Kind of Paper" series that deals with concept of "handwritten calculator" – you scribble "1+2" and the system responds with "3". Think "Apple Math Notes", but 3 years before its debut. And with vectors, matrices, tensors, etc.

There are 5 parts so far:

1. https://mlajtos.mu/posts/new-kind-of-paper – overview of the concept

2. https://mlajtos.mu/posts/new-kind-of-paper-2 – intro to Fluent notation

3. https://mlajtos.mu/posts/new-kind-of-paper-3 – inspirational prior inventions

4. https://mlajtos.mu/posts/new-kind-of-paper-4 - how to think efficiently (including longer demo)

5. https://mlajtos.mu/posts/new-kind-of-paper-5 – review of Apple Math Notes and suggestions for improvements

Keyboard version of Fluent is available here: https://mlajtos.github.io/fluent/?code=RG9jdW1lbnRhdGlvbg


Fluent – 4K lines – including parser, interpreter, standard library, IDE, UI, docs, examples. Will grow though.

https://github.com/mlajtos/fluent/blob/main/client.tsx


I'll add it! Thanks.

EDIT: Actually, it's not quite "ML-family" enough for this post. But it is a remarkably cool project! :)


If you're accepting additions here is a fun one some friends and I did as experiment at the Topos Institute: https://github.com/ToposInstitute/polytt

And here is a set of single file lambda calculus implementations with a variety of extensions: https://github.com/solomon-b/lambda-calculus-hs

`polytt` is kind of an ended experiment but that lambda calculus repo i plan to extend in the near future.


> Actually, it's not quite "ML-family" enough for this post. But it is a remarkably cool project! :)

Fair. Thank you :)


Shake your Mac to undo would be consistent with iPhone, iPad, Vision Pro. Yes, you shake your head to undo when wearing AVP.


This is a milder version of “Shake to Reboot” which is standard for all Etch-a-Sketch models


Does it support API key access or only Claude.ai subscription?


Worth noting that "API key access" vs "subscription" has significant cost implications for heavy users.

Claude.ai Pro is $20/month flat. But if you're doing serious agent-assisted coding (multi-file refactors, iterative debugging loops), you can blow through $50-100/day in API costs.

The math changes depending on usage patterns. Subscription makes sense for interactive coding sessions. API keys make sense if you're batch processing or running agents autonomously overnight.


I am doing interactive coding sessions via API. I don't want to see a message that I am over limit to use the best model there is.


Both


I was hoping for 6DoF sub-mm realtime tracking. My disappointment is immeasurable and my day is ruined.


Would be great, but that, world-wide, for millions of objects, probably is a case of putting your expectations too high.

Has that ever been demonstrated for a single object, even if allowing the object to be a thousand times as large as this?


Just have an unique ipv6 address on every object. Easy.


why do you need that?


Pure visual object tracking in visionOS is considerable laggy (even with increased detection rate). Natively tracked peripherals (Logitech Muse, PSVR2 controllers) are super responsive, but are designed for hands and are too specialized. There is a place for generic 6DoF tracking device that can be attached to any object you want to track. This could be tiny IR LED array if you want to track it inside the field of view, but when you need precise position outside of your FoV, your options are limited.


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

Search: