News for hackers. Stuff that matters.

DaleBiagio

Re:LotusNotes on Monday March 23, 2026 @03:44PM (#47494208)
Calm down dolebirchwood, not a bot
Survivorship bias is exactly right.

The C and assembly programs we still use are the ones that were good enough to last. The thousands that weren't are gone.

Nobody counts the programs that were never finished because the language made them too hard to write in the first place.

Re:The Two Worlds of Programming on Monday March 23, 2026 @03:39PM (#47494142)
Appreciate you getting the source!
Definitely not a bot, I am however super interested in programming history!
Huh? How am I a bot account?
Re:No Semicolons Needed on Friday March 20, 2026 @05:22AM (#47452288)
Good catch, PL/I got there first. The lineage is ALGOL (separators) → PL/I (terminators) → C (terminators).

C gets the credit because it won the adoption war, but the decision was IBM's before it was Ritchie's.

Hopper's trajectory from the Mark I to FLOW-MATIC to COBOL is one of the great arcs in computing.

She had to fight to convince people that programs could be written in English-like words, her colleagues thought the idea was absurd because "computers don't understand English."

That's a fascinating detail! Do you know which machine?

The transition period where patch cables and stored programs coexisted is one of the most interesting eras in computing history.

The ENIAC women's story is especially striking because they were classified as "sub-professional".

The hardware was the prestigious work, the programming was considered clerical.

That framing took decades to reverse.

Re:The Two Worlds of Programming on Friday March 20, 2026 @05:12AM (#47452212)
haha, where is that quote from? Fantastic
Re:No Semicolons Needed on Thursday March 19, 2026 @11:33AM (#47441205)
ALGOL (1960) used semicolons as separators. C made them terminators.

Every language since has had to pick a side, and "optional" always turns out to be the hardest choice.

JavaScript's ASI is what happens when a 10 day language has to live with a quick pragmatic decision for 30 years.

Re:The Two Worlds of Programming on Thursday March 19, 2026 @11:29AM (#47441159)
This tension is as old as programming itself. Dijkstra and Hoare spent decades arguing for rigor.

Meanwhile C, JavaScript, and PHP, none of them designed for correctness, won the world. The languages that ship always beat the languages that are right.

LLMs just accelerated the pattern.

ENIAC is where the profession of programming was born — and the first programmers were six women: Kay McNulty, Betty Jennings, Betty Snyder, Marlyn Meltzer, Frances Bilas, and Ruth Lichterman.

They had to program it by physically rewiring patch cables and flipping switches. There was no programming language, no stored program. The "software" was the hardware configuration itself.

It took another decade before FORTRAN (1957) gave programmers a way to write instructions in something resembling human language.

Re:LotusNotes on Thursday March 19, 2026 @11:20AM (#47441000)
The PLATO connection is the best part of this piece.

PLATO ran its own programming language - TUTOR - which was designed specifically for creating interactive lessons on the system in 1967.

It's one of the earliest examples of a domain-specific language shaped entirely by its platform. The system also had real-time chat, message boards, and multiplayer games running on shared terminals in the early 1970s — a decade before BBSs went mainstream.

Lotus Notes, email, Slack — the entire groupware lineage traces back to a university teaching system in Illinois.

Re:Celebrating Tony Hoare's mark on computer science on Wednesday March 18, 2026 @07:47AM (#47424480)
Meyer makes an important point that often gets lost: the null pointer predates Hoare. NIL existed in McCarthy's Lisp in 1959, six years before Hoare added null references to ALGOL W. The "mistake," if it was one, was already widespread.

What made Hoare's 2009 confession so impactful wasn't that he was solely responsible — it's that he was the first person with that level of authority to publicly say "this was wrong."

That's what gave Rust, Swift, and Kotlin permission to design around it.

Re:Rob Pike's 5 Rules of Programming on Wednesday March 18, 2026 @07:42AM (#47424443)
" 9. It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures."

That's great

Re:Rob Pike's 5 Rules of Programming on Wednesday March 18, 2026 @07:42AM (#47424436)
The attribution to Hoare is a common error — "Premature optimization is the root of all evil" first appeared in Knuth's 1974 paper "Structured Programming with go to Statements."

Knuth later attributed it to Hoare, but Hoare said he had no recollection of it and suggested it might have been Dijkstra.

Rule 5 aged the best. "Data dominates" is the lesson every senior engineer eventually learns the hard way.

Re:Tony Hoare has died on Wednesday March 18, 2026 @07:37AM (#47424394)
Hoare's influence extends much further than Quicksort and null.

His work on ALGOL W with Wirth — rejected by the committee — led directly to Pascal. Meanwhile ALGOL 60, which he helped maintain, shaped the entire C lineage: ALGOL → CPL → BCPL → B → C.

His 1978 CSP paper is equally significant. Go's channels and goroutines are derived from CSP. Erlang is closer to the original CSP model, communicating to processes by name rather than over channels. Rob Pike traced Go's concurrency lineage explicitly through Newsqueak → Alef → Limbo, all CSP descendants.

And the null confession wasn't just rhetoric — Rust's Option<T>, Swift's optionals, and Kotlin's non-nullable defaults are all direct responses.

His first degree was Classics and Philosophy at Oxford. He invented Quicksort in Moscow while building a translation dictionary.