Hacker News new | ask | show | jobs
by theonemind 1700 days ago
You don't seem to like garbage collectors, or manual memory management (with which you'll get segfaults and double-free issues) or complexity (where the intermediate ground between manual and automatic memory management comes in, with compiler hints, etc.)

This doesn't seem like a satisfiable set of constraints. I'd recommend removing "not garbage collected" from the constraints, as automatic memory management mostly got introduced to reduce footguns.

1 comments

That set is easily satisfied by giving up dynamic memory allocation. Barring compiler bugs or hardware errors, COBOL and Fortran in their original versions never ran out of memory (applications might report that a data set was too large to handle, but the OS knew how much memory the application needed and gave it to them), didn’t segfault, nor had double-free issues.

With 64-bit CPUs and virtual memory, that might even be a viable approach for some applications. You would have to decide up-front how many Foo’s, Bar’s, etc. to support, but you can set those limits very high (the old solution to that was to replace a card dimensioning some arrays and recompile)

Weird? Yes, for current thinking, but you would get a simple language.