
Programming Languages are PC OSs circa 1986 - raganwald
http://enfranchisedmind.com/blog/2008/09/20/programming-languages-are-pc-oss-circa-1986/#comment-33728
======
jwilliams
When I first opened this I thought it would be an interesting dialogue on how
langs/class libraries are blurring the boundaries with operating systems...
Particularly with this "is the internet the os?" thinking floating about.

However, it's not that discussion at all - Was more along the lines "Java is
like DOS because it's popular, and DOS sucked for all these other reasons
(UI), therefore Java sucks"...

Metaphor can be pretty handy sometimes, but this just seems very labored.

~~~
ComputerGuru
Exactly. None of the conclusions he drew about C# or Java are especially true.
C# is one of the most reliable frameworks I see, and to say that OOP scripting
languages are "better" than Java/C# (as Mac is to Dos) is BS.

------
evariste
That was a lot better than I was expecting it to be.

------
pavelludiq
So what is lisp?

~~~
raganwald
Unix obviously, especially the shell.

Everyone says the Lisp "UI" sucks, but masters explain how you can be even
more powerful piping all these separate commands together... And the eyes of
the lumpenproletariat glaze over...

~~~
13ren
I think the inside (fundamentals) vs. surface (UI) is an important way to
think about any kind of module - including languages.

Lisp is interesting, because one of the strengths of its syntax (that it's as
close as possible to the internal AST so you can fiddle with the language
easily) means that it really doesn't _have_ a designed surface or UI (yes, you
could add one, but then lose this key strength). Lisp wears its guts on the
outside - very convenient for surgery.

Forth is similar in this sense.

BTW re your comment on the blog: he did say "Mac adopting Unix" (unless he
edited after seeing your comment). The answer that comes to my mind is "Erlang
with Python syntax". Pattern matching is tricky though - but doesn't Python
already do something like [Head|Tail]? Or is that only on the RHS?

PS: _lumpenproletariat_ \- ridiculing newcomers who aren't as knowledgeable as
you is what got Lisp to where it is today.

~~~
raganwald
_PS: lumpenproletariat - ridiculing newcomers who aren't as knowledgeable as
you is what got Lisp to where it is today._

I don't ridicule people who don't use Lisp--I don't use Lisp professionally
myself. I was trying to get into the spirit of painting programming languages
with such broad metaphorical strokes that you could sum up their entire
character and history by comparing them to an operating system... from two
decades ago!

My experience with Lisp programmers has been uniformly excellent, however
there are certainly people who paint Lisp the language as being inhabited by
hostile self-proclaimed experts, so I played along.

It doesn't suprise me that things could be this way, I have observed people
taking much the same line with Linux: "What, you have trouble recompiling the
kernel? You're an idiot, go back to WIndows!" or more recently, "What do you
mean Software Update is a feature? I just use apt-get! And Time Machine? What
does it do that git doesn't do? grow up and become a real programmer!"

Or more HN-local, there was a post somewhere that suggested owning a MacBook
Air was all about impressing girls at Starbucks. I took this as a mortal
insult: I would certainly buy technology to impress people, but the suggestion
that owning a Mac means I drink Starbucks coffeee... That was a low blow.

So I compared the two. Seemed entirely within the spirit of the OP.

~~~
13ren
Thanks for explaining: your ridicule of newcomers was parody; not your
opinion.

I disagree with you about the article - I think comparisons and metaphors can
shed light and reveal common principles of tools/tasks (without defining
them). I thought your comparison of sh vs. lisp was insightful.

I take back what I implied about some lisp-users. It's just that I wish it
were easier for me to learn about lisp (which I wish about many things).

~~~
raganwald
_I think comparisons and metaphors can shed light and reveal common principles
of tools/tasks (without defining them)_

Oh absolutely. We are pattern-matching machines. If we had to reason about
every new thing from first principles because of the exceptions and corner
cases that mean no two things are exactly alike...

Well let's just say we would need a whole brain architecture. The one we have
--highly parallel with relatively slow procesors and six layers of neocortex--
wouldn't cut it.

