Amusing, but far-fetched. Gruber wouldn't weep on camera on a daily basis to emotionally hook the vulnerable. If anything, his style tends towards the dispassionate.
Regarding the article, I'm amazed that owning a twitter username today is made out to be almost as if he owned the domain. Is twitter that important?
They don't have to read his email, just analyze it algorithmicly. They already generate some kind of index of how many times each interesting word is used, otherwise they couldn't provide ads or fast searching. They only have to view that index as a histogram to reveal all kinds of interesting stuff about Fred's business -- information that he gets an advantage from keeping private.
> yet under its own weight it has nothing to show for it.
That's factually incorrect. There's plenty to show for it, you just have to scale to the size of humanity's computing concerns from four or five decades ago.
Moreover, in no field of creative human endeavor have popularity and worthiness been correlated. You think all those billboard top 10 acts came from Juliard?
It's not. Although I'll be the first to admit that it comes off as trollish. It's just I see these pronouncements about a language, which frankly, I don't think can be backed up. I like Lisp as a language. I really do. But to me that's not sufficient to annoint it a super language.
The evidence of its superiority is lacking. The one thing that languages generate is work product, programs/libraries/etc...
In contrast, look at something like VB. An oft-scorned language, but a language that you can walk into any Fortune 500 company and can probably find 10M LOC across the enterprise used for business critical purposes. And further, the interesting thing about VB is that you probably couldn't have replaced the language with any other language and had the same productivity.
Now of course this last assertion is hard to prove. But at least we have existence. At least we can say, "if there was a better solution than VB, no one used it". And it was rediscovered by every enterprise in the world.
Again, I'm not saying Lisp is a bad language. But to the best of my ability it seems to be about on par with other modern languages (and that in itself might be compliment enough for some, given its vintage). I see a couple of truly noteworthy Lisp projects, a lot of middling ones, and that's it. About what I'd expect for a language with a user base of its size.
Over the past 40 years there hasn't been any mind-blowing Lisp projects. And there's nothing wrong with that, I wouldn't necessarily expect it, except that its supposed to be a super language. Not only a super language, but a language practiced by the brightest amongst us. And by accounts of some evangelists, a toolchain that is magnitudes better than that available for other languages.
Yet as a result I typically get 3 projects noted to me when we talk about notable Lisp projects. Emacs, ViaWeb, and ITA. Three great projects. But if someone said that they were written in C and not Lisp, everyone would believe it. And when people go back and talk about important/influential software in history, Emacs is likely the only one to be mentioned. And of course there's been tons of other very important SW that has been written in languages other than Lisp, from Tex, to Mosaic, to Lotus 123, to gcc, to iOS, to Google, and so on.
The worse is better, Lisp super-loner, rationalization seems like a pity party. And what makes it sad is that it's simply not necessary. There's no shame in liking a language for characteristics you find appealing. But don't try to sell it as some super language. Because when you do people will say that the proof of the pudding is in the tasting. And the tasting are the programs. If you want to show that Lisp can do what others only dream of, show us the programs that make us drop our jaws. Show us the programs that make us rush to relearn Common Lisp. RoR didn't catch on because it had a sexy name. It caught on because the pudding was pretty tasty -- although a bit cloying for my taste.
Moreover, in no field of creative human endeavor have popularity and worthiness been correlated. You think all those billboard top 10 acts came from Juliard?
Are you arguing that for music that college serves little purpose? That we're entering some type of music education bubble. :-)
"I'll be the first to admit that it comes off as trollish. It's just I
see these pronouncements about a language that make claims, which
frankly I don't think can be backed up. I like Lisp as a language. I
really do. But to me that's not sufficient to annoint it a super
language."
The post we are commenting on was by a person who was not making a
claim, but relaying an experience. I will paraphrase three arguments:
the parent post blog link was saying "look, I'm not an amazing
programmer, but in my experience, armed with Common Lisp, I can
approximate what I see ur-programmers do with other languages at
Google." He in turn was replying to a person saying "I don't think
Lisp makes you more productive." The "Lisp is not really a super
language, it has nothing to show for itself, and I could make similar
claims about logo." thing got interjected by you, I think.
"Moreover, in no field of creative human endeavor have popularity and
worthiness been correlated. You think all those billboard top 10 acts
came from Juliard?"
"Are you arguing that for music that college serves little purpose?
That we're entering some type of music education bubble. :-)"
No, I think that's what you're arguing. I'm saying Lisp is worthy,
and should not be judged by its popularity, because the worthiness is
what reallly matters. You're arguing it has "nothing to show for
itself". I'm sure with a Sun Java marketing budget and the right
people we could make Lisp as popular as we wanted. We could have
whitepapers and case studies to "show" as much as you like. I'm only
concerned with popularity when people dismiss my arguments about
worthiness the minute they assess the popularity. I have the same
problem when I try to tell them about Sun Ra or the Residents.
So all that being said, to address your actual point (however
disjoint from the OP it might be), nobody's claiming it's a "super
language", just often better for the people who commit to using it
despite it's unpopularity. I can back up my claims of betterness with
arguments about worthiness, but not about popularity, but then I don't
think the later kind of argument matters in the first place.
The post we are commenting on was by a person who was not making a claim, but relaying an experience.
He was not only relaying an experience, as he cites the Lisp Curse. See:
"I do believe in the Lisp curse that the power of the language is in some respects self-undermining because it empowers the individual and so tends to attract people who don't work well in teams."
And I'm sure you've read the Lisp Curse.
His essay argues that he's really not a great programmer, but Lisp gets him to principal engineer! He further implies that Lisp really is something beyond other languages with his statement about the planner code (of code, he never considers that porting often fails even within the same language family for a variety of reasons).
I'm sure with a Sun Java marketing budget and the right pepole we could make Lisp as popular as we wanted.
How do you explain C, C++, Python, Ruby, Perl, Javascript, and PHP? None had very extensive marketing budgets.
So all that being said, to address your actual point (however disjoint from the OP it might be), nobody's claiming it's a "super language", just often better for the people who commit to using it despite it's unpopularity. I can back up my claims of betterness with arguments about worthiness, but not about popularity, but then I don't think the later kind of argument matters in the first place.
I don't know what your metric of worthiness is. Maybe its the existence of some esoteric feature. You say I talk about popularity, but I only do so to ask for an example of the "worthiness" you speak of. As I said before the proof of the pudding is in the tasting. If you tell me you have some great pudding, but it tastes like cow dung, I won't be impressed regardless of how many fine ingredients you use and advanced cooking methods employed. It still tastes like cow dung. And I'm not saying that Lisp is cow dung, but I am saying that fancy ingredients and world class ovens don't impress me if you're making the same McDonald's sandwich as everyone else.
And when you start creating great pudding, you won't need the marketing budget.
"How do you explain C, C++, Python, Ruby, Perl, Javascript, and PHP? None had very extensive marketing budgets."
I think a lot of these have larger marketing budgets than you imagine. I can't fathom the amount of money Microsoft spends promoting its C++ language tools, for example.
Regardless of whether languages other than Java become popular or not because of marketing, I still maintain that popularity and worthiness are not correlated. The majority of people may not eat cow dung, but they certainly don't eat really great pudding. They eat the same so-so pudding everyone else does, and most of them don't realize or don't care that it could be better. You will have nothing to "show" for coming up with a better pudding recipe unless you spend money on advertising, manufacturing, distribution, etc..
As for an example of worthiness, Lisp's advantages have been detailed one metric kerjillion times elsewhere. Macros, conditions, and the MOP are the usual suspects in the case of Common Lisp.
I think his point was not "why is Lisp not popular", but if it is so powerful, why has it not become more mainstream based upon that? If a language is truly as powerful as its advocates assert, should it need a marketing budget? Ruby, via Ruby on Rails, is famous, and has been used on lots of highly visible (successful?) projects, with no traditional marketing budget.
I think he's asking, if Lisp is so awesome, why doesn't someone ever do something awesome with it? It seems like a fair question.
This is factually wrong in a number of ways. Modern linguists don't throw out "every aspect of language but syntax" (as you yourself indicate later in your own post). There are falsifiability problems ("all books are the same universal book too, so long as each character is a parameter") with some theories, but you have to start with a theory at some point.
I can relate to your sentiment that he's favored because he's such a lefty, but it's not really an argument.
He revamps his "program" every few years because he recognizes it as wrong. I'm not sure why you cite that as a bad thing?
"He revamps his "program" every few years because he recognizes it as wrong. I'm not sure why you cite that as a bad thing?"
The "bad thing" is not the person who decides that he was wrong; the bad thing is the theory that was wrong and the "modern linguists" who still promote it. The notion of "universal grammar" came from the original version(s) of the theory: Everyone knows a fantastically complex rule system perfectly by some very young age, which can't possibly be learned from noisy, real-world experience in so short a time, so language must be innate, like teeth, and since humans are all the same species, the language must be a universal language, which must have some parameters to explain the illusion that they aren't the same.
By 2002, there were not enough legs of that original theory still standing (still believed by even Chomsky himself) to support the notion of a "universal grammar."
Yet despite the fact that nobody starting fresh with what we know today would ever propose a theory of innate, universal grammar, we still have most people calling themselves "modern linguists" claiming to believe it.
Universal grammar is nonsense, and modern linguists' failure to drop it is the "bad thing."
"...you have to start with a theory at some point."
Yes, and you have to drop it at some point when new evidence keeps making it less and less plausible. That point was years ago.
The alternative to Universal Grammar is Skinner style behaviorism; which is clearly wrong.
Think of Universal Grammar is a rule for building grammar rules.
It's pretty clear that humans have a distinct innate ability to learn language: no monkey can learn English no matter how much you try to teach it. You can teach animals all kinds of interesting behavior but you can't teach them language.
> Yet despite the fact that nobody starting fresh with what we know today would ever propose a theory of innate, universal grammar, we still have most people calling themselves "modern linguists" claiming to believe it.
Quite the contrary. Anyone starting fresh would probably start with an assumption about some innate ability to learn language.
The alternative to UG is not behaviorism; there are countless alternatives. There are all sorts of learning algorithms that are more plausible than UG or behaviorism.
Yes, it IS clear that humans have an innate ability to LEARN languages, as you insist. Unfortunately, UG denies this, claiming that we CAN'T possibly learn anything as rich and complex as a human language in so short a time with so little, and such messy, input, and since humans have NO innate ability to LEARN human (first) languages, they must instead GROW them "like you grow teeth."
"The alternative to UG" isn't behaviorism, it's that languages are LEARNED.
>"Quite the contrary. Anyone starting fresh would probably start with an assumption about some innate ability to learn language."
You're so right, except that your claim is not contrary to me, it's contrary to UG. Now try to convince the modern linguists of your theory that humans have the innate ability to LEARN first languages and see how that goes.
You are substantially mis-characterizing modern linguistic theory/linguists. The 'grow them like you grow teeth' is meant to indicate that, given certain inputs/environment, a child will develop normal language function. You don't need to 'learn' it in the sense that you do need to learn e.g. how to read. The reason for the contrast (argues a linguist) is that we have some internal cognitive structures that react to certain kinds of input, namely linguistic input, and that that reaction is called 'learning your first language(s)'. They disagree with the 'common sense' approach, that learning your first language is just like learning anything else.
I would characterize the debate between linguists and a certain class of cognitive scientists like this:
CogSci: Hey, you keep talking about UG/Innate mechanisms! We don't like that/it seems implausible. Instead, we should just have general learning algorithms that can be utilized to learn language!
Ling: Cool! Show us! Show us!
CogSci: Well...Here's a machine learning model that can learn English past tense with the following training data.
Ling: Oh. Um. Hmmm. Yeah, the data is more complex than that. How far can you get with this data (unloads data by the truckful). Also: that looks like how adults learn things (the kinds of errors made), not really how kids learn language (they make different kinds of errors). Can you model that?
CogSci: It's a simple model! It can't handle that data. That's for a later paper! Also, we don't care about the error classifications, as long as it looks like learning.
Ling: Ok. Let us know when that paper comes out. Have you seen this Bantu data? It's pretty cool too.
CogSci: later: Ok, look. We didn't get the model to work, but we really think your multiplying entities. I mean, it's just crazy/biologically-implausible/ugly to postulate this innate knowledge.
Ling: Yup. But here's the deal. We can't manage to actually explain everything we want even if we postulate innate rules/knowledge like crazy. Maybe we have a fundamentally broken model. Maybe machine learning really will come and eat our babies (or maybe the kinds of things we're postulating will turn out to built on top of machine learning, as explanations at different levels). But so far, it's the best we've got.
Obviously, people write books on these arguments, so some massive simplification was done here. And there is some really cool work being done by general cognitive scientists in the language space.
I'm not contradicting UG. From what I took out of the linguistics course I took at university, the idea is that part of this innate ability is an innate understanding of grammar, or rather we expect to learn grammar and so when we receive all the "input" our mind tries to make sense of it.
"This is the nub of what I want to say. A language design can no longer be a thing. It must be a pattern -- a pattern for growth -- a pattern for growing the pattern for defining
the patterns that programmers can use for their real work and their main goal."
One of the most incredible CS things I've ever taken in.
I'm 100% in agreement, this applies not only to languages, but up and down the technology stack. We need to use datastores that support schema evolution, data objects that assume and open world and not a closed world.
http://hackerne.ws/item?id=2247654