Hacker News new | ask | show | jobs
by simonh 2359 days ago
It’s interesting to read these, and important that they are not forgotten, but I don’t see these as viable alternate realities for mainstream modern programming. They were relegated to, and remain in the margins for actual reasons, not just by accident. In some cases such as SICP and arguably a few of the others those ‘margins’ are still actually important niches from which they still influence and benefit the community.

I think there are some ‘accidents’ of technological choices that have had unfortunate consequences for the modern industry. We could have done with something better than JavaScript for example, but these aren’t ‘paradigm’ issue (I tried avoiding that word, but there it is). By and large the direction the industry has gone has been chosen for sound practical reasons.

In the end, none of the alternate history directions the industry could have taken are off the table forever. If Oberon or Smalltalk had been a superior way to build software, there’s nothing stopping someone taking their evergreen fundamentals and building them into a modern system. If that doesn’t happen, again there are probably reasons for that.

1 comments

>It’s interesting to read these, and important that they are not forgotten, but I don’t see these as viable alternate realities for mainstream modern programming. They were relegated to, and remain in the margins for actual reasons, not just by accident.

The "actual reasons" could just be laziness, a bad industry, valid then but not relevant anymore, and several other things other than "eternally valid".

So just because those ideas and implementations where "relegated to" the margins, doesn't mean they should remain there.

Except if we're all too happy with the current state of the computing industry and developer practices. Are we?

>By and large the direction the industry has gone has been chosen for sound practical reasons.

Yeah, no. Some things caught on for practical reasons (e.g. C was portable, free, fast enough in a constrained era. But even C could have easily been bettered with a language more or less the same just with bounds checking, without pointer arithmetic, without nulls, with a string type, etc, and we'd be 200% better).

Others just caught because big companies pushed them with tons of marketing money (e.g. Java - at the moment Smalltalk was big in the same space, support and IDEs from IBM, etc). Others by BS CEO decision (e.g. Javascript not being a light-scheme as originally intended, because management wanted to latch onto the Java bandwagon). Others because of slow progress (slow uptake of innovation, even if it can run perfectly well in the hardware of the time), others without any real reason (it's mostly what's taught at schools, what catches on as fad, etc).

It took 60 years (in fact, it's still ongoing) for programming tools and concepts we had even as back as Lisp to make with first class support into mainstream programming languages (closures, immutability, map/fold, and so on). CSP took until Golang to catch on in the mainstream... Those things were "in the margin" all this time...