
Am 20.04.2017 um 02:51 schrieb Richard A. O'Keefe:
On 20/04/2017, at 1:52 AM, Joachim Durchholz
wrote: Common Lisp and Scheme were, in their first years. They both managed to transition from "fad" to "production-ready" AFAICT, probably after a stabilization period (I dimly recall having read versioned standardization documents).
Lisp as such... probably. Whenever people with enough raw horsepower to use Lisp in practice met people who didn't, because then it would be a fad from the latter ones. Which pretty much meant everybody who didn't have access to abundant corporate-sponsored or state-sponsored hardware.
Truly strange. You really did not need "horsepower" to use Lisp in practice. There were several Lisp implementations for CP/M, and CP/M machines were hardly "raw horsepower" by any stretch of the imagination.
If that had been universally true, nobody would have bothered to think about, let alone buy those Lisp machines.
OK, a University lab of cheap 8086 PCs does technically count as state-sponsored, but hardly "raw horsepower". I suppose the price of TI PC-Scheme (USD95) would have put it out of reach of hobbyists /sarc.
Nah, it simply wasn't available unless you knew it existed. (I certainly didn't know.)
The problem with Lisp was never garbage collection, or speed, or availability. It was *unfamiliarity*.
Nope. Actually, the first actual project I ever built was a (primitive) Lisp interpreter. I would have liked to work with it, but I lost access to the machine (that was in the pre-PC era), plus I didn't know enough to devise a way to integrate it into the surrounding operating system.
As soon as things like TCL and Python became available, they were adopted gladly by many programmers, despite being less efficient than typical Lisps.
I don't know what motivated anybody to ever use TCL. It's an abomination. Python doesn't count, it wasn't even thought about in the IBM PC days.
I'm very sad to see FUD about Lisp surviving this long.
Enough of this kind of slur. I'm not adhering to "FUD", I am reporting personal experience. I have been refraining from responding in kind, because some unfriendly things could be said about your mindset.
Much the same FUD was spread about Prolog, despite there being decent Prolog implementations for cheap 16-bit machines.
Sorry, Prolog simply didn't work. As soon as you tried to do anything that was prone to combinatoric explosion, you had to resort to cuts and essentially revert to a uselessly complicated imperative programming model just to keep that under control. I am well aware that Prolog can be an excellent tool, but only for tasks that it fits. Unfortunately, most paid jobs are too simple to actually need Prolog, and of the complicated ones, only a small fraction can even be adequately captured using Horn clauses. I'm not talking from theory here. I tried to adopt a simple distance calculation in a hexagonal lattice with it. I realized that to make it reversible I'd need have it do the inverse of finding the distance of two known points, namely find the list of distance-N points from a given centerpoint, which I liked because I needed that anyway; however, it turned out to be O(N^6) because it would explore ALL the paths inside the radius-N circle, and that was useless. Making it avoid that involved cuts, which would make the ruleset non-reversible, and hence non-composable under standard Prolog semantics (you'd be unable to add rules that would e.g. exempt blockaded points from the pathfinding). In other words, the resulting code would be an imperative program, shoehorned into a Prolog ruleset, giving me the worst of both worlds. No I'm fully aware that I might be able to find better solutions now, some three decades of experience later. But I don't think that Prolog's approach will scale to teams of average programmers, and I doubt you can find enough programmers to staff any project worth doing, unless your tasks are a natural fit to Prolog. (Of course there are people who do non-Horn-clause-ish things with Prolog, and successfully so. If all you have a hammer, then every problem starts looking like a nail.)
It is *bitterly* ironic to see Java adopted by people critical of Lisp.
I was forced to. I'd really love to live off Haskell programming. I'd even be happy doing Scala - it's far from perfect, but it integrates well with Java libraries, and that's a huge bonus that people without experience in a JVM language seem to be unable to appreciate; I suspect the Blub paradox at work here.
It just goes to show that the old hardware saying, "you can make a brick fly if you strap on a big enough jet engine" is true of programming languages.
Exactly.