Hacker News

Favorites Setup
Comment by hawkice | original | Things That Turbo Pascal Is Smaller Than (2011)
[−]hawkice · 2026-11-15 Sun 14:14 UTC · link
Given development speed is way up, I'd be interested to see what a from-basic-principles simple and efficient OS and programming system might look like. Or people trying radically different versions of efficiency and simplicity, like an OS that uses an existing battle-tested sandboxed execution environment like v8 for userspace safety/isolation.

Fundamentally, many inefficiencies were justified for developer productivity, and I'm not sure that makes sense anymore, and the cost of larger projects with clear abstraction boundaries has plummetted.

[−]pocketarc · 2026-11-15 Sun 15:10 UTC · link
This is the thing - when the cost of iterating and grinding compiler warnings drops to virtually 0, what new paradigms might we invent to exploit that? Rust gives us an inkling of an idea of what might be possible, but that still predates LLMs and thus still makes concession for human ergonomics. What are structures, guardrails, and patterns, that our OSs, frameworks, and toolchains can put in place, which would result in whole classes of problems going away completely, at the expense of massively increased (but mechanical, and easily automatable with a prompt) developer effort?

The next few years are going to be fun.

[−]tomaskafka · 2026-11-15 Sun 16:50 UTC · link
This would be fine grained type systems where invalid states are inexpressible.
[−]StilesCrisis · 2026-11-15 Sun 18:07 UTC · link
Both humans and LLMs struggle with slow iteration times.
[−]Isamu · 2026-11-15 Sun 15:15 UTC · link
>Fundamentally, many inefficiencies were justified for developer productivity, and I'm not sure that makes sense anymore

Having lived through this period, I would disagree, quite the opposite we tended to develop in C and assembly specifically for runtime efficiency because we had to.

For developer productivity you could opt for Lisp or SmallTalk or some such, which ran much slower until high quality compilers for these became available, and even then your target machine might only have a C compiler.

[−]za_creature · 2026-11-15 Sun 15:28 UTC · link
Specifically, turbo pascal was entirely written in assembly according to wikipedia (I recalled only 50% but maybe that was some other pascal dialect)
[−]SoftTalker · 2026-11-15 Sun 16:32 UTC · link
I read GP's comment differently, that we ended up where we are today (bloated languages, IDEs and runtimes) due to chasing developer productivity at all costs.

Now, developer productivity is becoming less important as developers are factored out entirely.

[−]hawkice · 2026-11-15 Sun 17:02 UTC · link
This was my intended meaning -- the clearest advocacy of this was from DHH about Ruby on Rails, although he's changed his mind about big questions lately and suspect he no longer endorses that set of trade-offs (I don't either, _sort of_ -- I think developer productivity means having simple ways to enable large-scale testing and oversight while minimizing context switching costs, although I think we are all figuring out what that means in practice).
[−]za_creature · 2026-11-15 Sun 15:25 UTC · link
I think you have that backwards.

It's the lack of clear abstraction boundaries that causes decreased developer productivity.

A code generator will not save you from Conway's law.

[−]hedgehog · 2026-11-15 Sun 18:26 UTC · link
v8 is pretty complicated, and anything that depends on LLVM is going to be huge, so I think I would start smaller. You could try building around something like NuttX or an L4 + tcc or cproc and see what it takes to get to self-hosting as well as ability to do some job you care about. To me the bigger question is that last bit, you can shrink the platform code quite a lot relative to a typical Linux but what's the situation where that's a good trade vs say cross-compiling from a full C++ or Rust toolchain?