It seems to me that the number of programmers in the world has been increasing fast for decades, and that it's related to Moore's law. Is this factor taken into account when people talk about Lisp being more popular in the past than in the present? Is it less popular only as a percentage of the total number of programmers, or are there actually fewer Lisp programmers now?
It also seems to me that as the world requires more and more programmers, such demand is filled more and more by people who would not have been considered good candidates for such a niche in past decades. Could it be that the decline in popularity of Lisp might actually be caused by an increase in the number of borderline programmers who are simply not capable of understanding anything so advanced as Lisp?
Is the real advantage of Java in that it fits with a lower average IQ and/or programming talent of a larger workforce of modern programmers?
It would be interesting to calculate from Moore's law when the world might run out of programmer candidates who could even do Java. As it's exponential, it might be sooner than we think. Even taking into account the larger numbers of available candidates in places such as India, the exponential growth in demand could still absorb the entire worldwide pool of available candidates, and continue growing exponentially beyond that. What are the implications for Lisp, and for programming in general?
cubicle...@mailandnews.com (Software Scavenger) writes: > It seems to me that the number of programmers in the world has been > increasing fast for decades, and that it's related to Moore's law.
I can't see what Moores law has to do with the number of programmers.
> It also seems to me that as the world requires more and more > programmers, such demand is filled more and more by people who would > not have been considered good candidates for such a niche in past > decades. Could it be that the decline in popularity of Lisp might > actually be caused by an increase in the number of borderline > programmers who are simply not capable of understanding anything so > advanced as Lisp?
Are we a bit arrogant today?
> Is the real advantage of Java in that it fits with a lower average IQ > and/or programming talent of a larger workforce of modern > programmers?
you will say Java programmers are dumber than Lisp Programmers?
> It would be interesting to calculate from Moore's law when the world > might run out of programmer candidates who could even do Java.
Again I can't see the relationship. And it's definitly a bad idea to extrapolate into the future without any thinking. There were often questions on when one will run out of x. Usuyally something come along which prevents anything from running out.
> Even taking into > account the larger numbers of available candidates in places such as > India, the exponential growth in demand could still absorb the entire > worldwide pool of available candidates, and continue growing > exponentially beyond that.
Well if that would be the case what will now happen to all those fired programmers? Will they still find a job fast or won't they?
>What are the implications for Lisp, and > for programming in general?
Just the best for Lisp if it really helps to get programs build faster or more reliable or ... ;-)
cubicle...@mailandnews.com (Software Scavenger) wrote in message <news:a6789134.0111300046.488c5db2@posting.google.com>... > It seems to me that the number of programmers in the world has been > increasing fast for decades, and that it's related to Moore's law. Is > this factor taken into account when people talk about Lisp being more > popular in the past than in the present? Is it less popular only as a > percentage of the total number of programmers, or are there actually > fewer Lisp programmers now?
It is one of the more interesting results of theoretical Lispics that there is, in fact only one Lisp programmer. This programmer (his name is not known, nor in fact whether he is in fact a he) travels endlessly forwards and backwards in time from the start of the universe to the end. When travelling forwards in time he is seen as a Lisp programmer, when backwards, a Perl programmer. This is why Lisp and Perl are so curiously related: Perl is in fact Lisp, written backwards and upside down in time.
pjdu...@hotmail.com (pj) writes: > > Is the real advantage of Java in that it fits with a lower average IQ > > and/or programming talent of a larger workforce of modern programmers?
> Ever stop to think that attitude like this probably contributed to > decline of the popularity of lisp a bit ?
> When did the choice of programming lauguage made a programmer dumb or > clever ?
> You chant in latin. So you should be clever. > Dumbos chant in english.
The attitude doesn't change the truth. Nor are C++ programmers nor Java programmers nor C programmers free of attitude. So I sort of don't think this is a major issue.
I used to think when I was younger and used Lisp Machines daily that it was exciting to see more Lisp Machines being used because all the Lisp Machine users I knew were smart and I figured as there became more users, there would be more smart people to talk to. Well, I didn't say all Lisp Machine users were smart. Just the ones I knew. I said nothing about myself. It was, in retrospect, kind of stupid of me to think that as you reached out from a very insular world to the general populace, that the average user would be anything but "less smart". The whole net noticed this effect, independent of language, when AOL went online. A lot of communities shunned AOL users.
Sometimes, it's skill, and not intelligence. But sometimes it's intelligence. The point of the original comment, as I took it, was not to slight anyone in either arena, as nearly as I could tell. It seemed just a comment about reality. It may be nice to assume all people everywhere are equally intelligent, but is is probably not intelligent to assume this is so. Whatever may have been true about Lake Wobegone (from a radio show--if you don't know the reference, just ignore it), it's not possible for all kids to be above average.
One contributing factor to Lisp Machines, at least, not becoming popular isn't that they had attitude about the intelligence or skill or cluelessness or what-have-you of ever-larger communities, but because they didn't recognize and embrace it. AOL and Prodigy and CompuServe, and the Mac OS in general, did not hit poeple with the ability to run compilers nor to browse flavor classes. Eventually, DOS got a clue and copied the Mac in this approach, regaining favor with many that hadn't appreciated their more stark look. These guys all focused on basics, both in terms of facilities offered and the manner in which those facilities were presented. They did not treat their customers as sophisticated. It took until Mac OS 7 before Apple just barely began acknowleding that there might be sophisticated users who don't want to do every action through pull-down menus, and started to offer visible "hints" about obscure multi-shifted key chords for things they used to hide, things that were essential tools for sophisticated users but that they thought would confuse their base of loyal (and apparently life-long) novices.
One can't wave the wand of PC and insist that politeness override the need to talk in plain terms about phenomena that are real. And I'm quite sure that every gain in market share for computers puts a greater and greater strain on the community to accomodate the "special needs" or "reluctance" or "unsophistication" or whatever it needs to be called in order for it to be discussed without people getting all huffy.
It has often been cited that some programming languages (Ada was a specific one I heard it for) are designed to not allow programmers too much leeway since you can't trust them. It is not out of bounds to consider whether Java takes this approach too. It is a sometimes-criticism of Lisp that it offers too much flexibility--flexibility that can lose some people. This is like saying there can be "too much freedom" in a society. Maybe there can be. But if you're going to use it as a positive, at least allow the possibility that some would see "too little flexibility" and "too little freedom" as a negative because they had the intelligence or discipline or whatever to accomodate it. I think it's an important enough issue that it must not go unspoken of out of politeness.
I'm reminded of the day my father was killed in a car accident and friends of the family accumulated around my house talking about this and that and every now and then talking about his being dead. And they were all searching for words like "passed on" and stuff like that. I'd always correct them and say "he's dead. no amount of putting it some other way is going to change the fact. just talk about it like it's something that happened and don't make it worse by pretending it didn't".
That wasn't what I said. I was speculating that worse programmers might be more suited for Java and better ones might be more suited for Lisp. Assuming that they were already worse or better for reasons beyond the scope of this discussion.
Lisp is hard for some people to learn. It has ideas in it which can make a college student fall asleep when he tries to think about them.
* pjdu...@hotmail.com (pj) | Ever stop to think that attitude like this probably contributed to | decline of the popularity of lisp a bit?
It is quite likely that the attitude that non-Lispers have against Lisp has caused more non-Lispers to assume that everything that comes out of the mouth of Lispers is arrogant, and find "proof" of this no matter what is actually being communicated. This is because non-Lispers are very good at talking about their negative attitude towards Lisp and simply refuse to get the point when they are criticized.
| When did the choice of programming lauguage made a programmer dumb or | clever?
At the same time you found support for this "argument" in what anybody else has said.
| You chant in latin. So you should be clever. | Dumbos chant in english.
Are you sure you know whose attitude problem is affecting anything?
/// -- The past is not more important than the future, despite what your culture has taught you. Your future observations, conclusions, and beliefs are more important to you than those in your past ever will be. The world is changing so fast the balance between the past and the future has shifted.
cubicle...@mailandnews.com (Software Scavenger) writes: > Lisp is hard for some people to learn. It has ideas in it which can > make a college student fall asleep when he tries to think about them.
I don't think this is so. I do think many book are written in a way that would lead you to believe this. The same is true of Scheme, btw. I don't think Scheme has to be made hard, but I think books like S&ICP, which appeal to ivory tower university students, are barriers to entry for common folk who would prefer their learning of a language not be made harder by being taught how to think differently about hard problems. There are three useful skills (learning a programming language, learning to program, and learning to think), all worth knowing, but one doesn't always want them all in one book. It's hard for any one book to satisfy all needs, but we are heavy on the "teaching people to think" side and light on the "teaching them our language and leaving them alone about the other stuff" side. That's not a comment about the language, it's a comment about our bookwriters. Or so I personally think. I'm hoping the books I'm working on will avoid that and seek the other market.
Friedrich Dominicus <fr...@q-software-solutions.com> wrote in message <news:87itbsskf1.fsf@frown.here>... > I can't see what Moores law has to do with the number of programmers.
More programmers are needed. That need can influence more to exist.
What I really want to know is whether anyone has any evidence or even strong belief that the absolute number of Lisp programmers has ever declined from one year to the next.
During the "AI summer" there were fewer programmers overall than now, again because of Moore's law, and accordingly it would make sense for there to be fewer Lisp programmers then, even though it was a "hot summer".
I really don't know the answer. That's why I'm asking. Can anyone name any specific years during which the absolute number of Lisp programmers declined?
>More programmers are needed. That need can influence more to exist.
>What I really want to know is whether anyone has any evidence or even >strong belief that the absolute number of Lisp programmers has ever >declined from one year to the next.
>During the "AI summer" there were fewer programmers overall than now, >again because of Moore's law, and accordingly it would make sense for >there to be fewer Lisp programmers then, even though it was a "hot >summer".
>I really don't know the answer. That's why I'm asking. Can anyone >name any specific years during which the absolute number of Lisp >programmers declined?
Unless death is a significant factor (unlikely for the time span considered since the inventor of Lisp is still active), how can the absolute number of Lisp programmers "decline"?
Tim Bradshaw wrote: > It is one of the more interesting results of theoretical Lispics that > there is, in fact only one Lisp programmer. This programmer (his name > is not known, nor in fact whether he is in fact a he) travels > endlessly forwards and backwards in time from the start of the > universe to the end. When travelling forwards in time he is seen as a > Lisp programmer, when backwards, a Perl programmer. This is why Lisp > and Perl are so curiously related: Perl is in fact Lisp, written > backwards and upside down in time.
I think it's Wheeler you should be apologising to more than Dirac. Nice idea, though, if only because it's rather flattering to anyone who knows of a Lisp programmer smarter than themself.
-- Gareth McCaughan Gareth.McCaug...@pobox.com .sig under construc
On 30 Nov 2001 08:14:38 -0800, tfb+goo...@tfeb.org (Tim Bradshaw) wrote:
>It is one of the more interesting results of theoretical Lispics that >there is, in fact only one Lisp programmer. This programmer (his name >is not known, nor in fact whether he is in fact a he) travels >endlessly forwards and backwards in time from the start of the >universe to the end. When travelling forwards in time he is seen as a >Lisp programmer, when backwards, a Perl programmer. This is why Lisp >and Perl are so curiously related: Perl is in fact Lisp, written >backwards and upside down in time.
Thanks, Tim, that's very enlightening. In fact, I think I already knew this, but could never have put it so succinctly.
Tim Bradshaw wrote: [...] > When travelling forwards in time he is seen as a > Lisp programmer, when backwards, a Perl programmer. This is why Lisp > and Perl are so curiously related: Perl is in fact Lisp, written > backwards and upside down in time.
Aha! I have just noticed that PERL may stand for Print-Eval-Read Loop, which on its turn reminds me of _Through the Looking-Glass_ (hand out the cake first, then cut it)...
> Unless death is a significant factor (unlikely for the > time span considered since the inventor of Lisp is > still active), how can the absolute number of > Lisp programmers "decline"?
The OP probably means programmers activly using Lisp. In that case I can see a decline very well. Just I doubt that there is any statistic about how many programmers are still around and what language they are using...
Friedrich Dominicus <fr...@q-software-solutions.com> writes: > d...@goldshoe.gte.com (Dorai Sitaram) writes: > > Unless death is a significant factor (unlikely for the > > time span considered since the inventor of Lisp is > > still active), how can the absolute number of > > Lisp programmers "decline"? > The OP probably means programmers activly using Lisp. In that case I > can see a decline very well. Just I doubt that there is any > statistic about how many programmers are still around and what > language they are using...
But it's not obvious that such a "decline" _is_ so obvious.
There has certainly been an increase in the number of Java programmers, and of Perl programmers; this can be attributed largely to the total number of programmers having increased.
It is correspondingly likely fair to say that the number of Lisp programmers may be lower than a "bubble" that took place shortly before the "AI Winter," but that does not automatically mean that there have been further _true_ declines. -- (reverse (concatenate 'string "gro.mca@" "enworbbc")) http://www.ntlug.org/~cbbrowne/xwindows.html A LISP programmer knows the value of everything, but the cost of nothing. -- Alan Perlis
Friedrich Dominicus <fr...@q-software-solutions.com> wrote in message <news:87g06vntcp.fsf@frown.here>... > The OP probably means programmers activly using Lisp. In that case I > can see a decline very well. Just I doubt that there is any statistic > about how many programmers are still around and what language they are > using...
But how big a factor would "still around" be, even if we did know the exact number? Corman Lisp and Clisp have gradually become much more refined, and there might be large numbers of programmers using them actively, exceeding the number of Lisp programmers of the past. What would be a good way to get some kind of estimate?
Friedrich Dominicus <fr...@q-software-solutions.com> writes: > d...@goldshoe.gte.com (Dorai Sitaram) writes:
> > Unless death is a significant factor (unlikely for the > > time span considered since the inventor of Lisp is > > still active), how can the absolute number of > > Lisp programmers "decline"? > The OP probably means programmers activly using Lisp. In that case I > can see a decline very well. Just I doubt that there is any statistic > about how many programmers are still around and what language they are > using...
Yes, that is a hard statistic to get. However, I must respond to your statement that you see a decline in active Lisp programmers. I don't dispute what you see, nor do I know why that perception is there. From my perspective and without actual numbers (because I can't and wouldn't give out my Company's internal information) the number of paying lisp users has been going up consistently for many years. Not very fast, but consistent. And I don't know if Xanalys is seeing any decline in their customer base, but if there's any I don't think it's bad. As for Corman lisp, it is new, and so his base can only grow. And _my_ perception of free lisp usage is that it has been exploding (though some of that perception might be seasonal, as midterm assignments in programming language classes come up).
It is possible that you might see specific Lisp users leave us, and cite that as the reason for the "decline". And indeed, many times a Lisp user will go to the other side of the fence, where the grass looks greener, only to find painted ground. Many of these eventually come back, if not too embarrassed. Some leave because they can't find a lisp job (another misperception that we try to address on our website). But at least as many visible figures leave lisp, more new lisp users are checking the language out, and usually getting hooked immediately.
As an example of how perceptions can lead to downright depressing thoughts unnecessarily, let me remind you of how people reacted every time a Lisp vendor failed: the reactions were almost universally to weep and wail, to write Lisp off as a language, and to declare its demise. Yet at the end of the day we have more commercial and free versions of Common Lisp alone than of any other language (besides scores of scheme, dylan, and other CL cousins that exist). To borrow a phrase from an auto manufacturer's advertising campaign: perception is not always reality.
-- Duane Rettig Franz Inc. http://www.franz.com/ (www) 1995 University Ave Suite 275 Berkeley, CA 94704 Phone: (510) 548-3600; FAX: (510) 548-8253 du...@Franz.COM (internet)
Vassil Nikolov wrote: > Aha! I have just noticed that PERL may stand for Print-Eval-Read > Loop, which on its turn reminds me of _Through the Looking-Glass_ > (hand out the cake first, then cut it)...
Someone at the recent LL1 conference[1] who was giving a talk about Scheme actually made exactly the same point, but with (I think) a better explanation. Think functionally, and it's natural to write
(print (eval (read)))
to print the result of evaluating what you just read, so what you've got is a print-eval-read loop. Ka-ching!
[1] No, I wasn't there, but I read the slides on the web site.
-- Gareth McCaughan Gareth.McCaug...@pobox.com .sig under construc
> > > Unless death is a significant factor (unlikely for the > > > time span considered since the inventor of Lisp is > > > still active), how can the absolute number of > > > Lisp programmers "decline"? > > The OP probably means programmers activly using Lisp. In that case I > > can see a decline very well. Just I doubt that there is any statistic > > about how many programmers are still around and what language they are > > using...
> Yes, that is a hard statistic to get. However, I must respond to your > statement that you see a decline in active Lisp programmers. I don't > dispute what you see, nor do I know why that perception is there.
Sorry I do not want to say that I see a decline just that I see the possibility. As pointed out before I do not have any idea on how many Lisp programmers are out there. I have too no clue nor idea on how many users of computers are "programmers". Where does programming start? I don't know.
>From > my perspective and without actual numbers (because I can't and wouldn't > give out my Company's internal information) the number of paying lisp > users has been going up consistently for many years. Not very fast, > but consistent.
> > Aha! I have just noticed that PERL may stand for Print-Eval-Read > > Loop, which on its turn reminds me of _Through the Looking-Glass_ > > (hand out the cake first, then cut it)...
> Someone at the recent LL1 conference[1] who was giving a > talk about Scheme actually made exactly the same point, > but with (I think) a better explanation. Think functionally, > and it's natural to write
> (print (eval (read)))
> to print the result of evaluating what you just read, > so what you've got is a print-eval-read loop. Ka-ching!
Of course, that would be (print (eval (read (loop)))) in order to really make sense. Sounds like they've been using Waters' iteration stuff. :) LPRE would be be more likely.
But anyone who thinks it should be LPER, in the Lispy style, and probably pronounced "leper", instead of REPL, as we commonly call it, should also consider whether CADR should be named CDAR. If I had it to do again, we'd have flipped the order of the middle letters in in C...R. Why? Because in T (Yale Scheme), we had a big fuss over what to call the operator that made this. You want an operator called COMPOSE, but it was heavily constrained to use the arg order such that (COMPOSE CDR CAR) would yield CDAR and not CADR. Yet, that meant ((COMPOSE CDR CAR) X), which in turn meant that in order to execute this, you don't get to just to pop the args to COMPOSE as in ((COMPOSE CDR CAR) X) => (#<some structure containing (CDR CAR)> X) => (#<some structure containing (CAR)> (CDR X)) => (#<some structure containing ()> (CAR (CDR X)))
I mention this only to say that there's no easy answer on this.
Nice though the Lisp notation is, one reason that we invented LET wasn't just to nicely associate a variable with a value instead of having the variable at one end of the program and the value at the other, as in ((lambda (y) ((lambda (x) (+ x y)) 2)) 3) => (let* ((y 3) (x 2)) (+ x y)) but also to make programs execute forward. In Maclisp, they mostly executed backward and it was a considerable annoyance to read. ((lambda (y) ((lambda (x) (baz x y)) (bar 2))) (foo 1)) Executed first (foo 1) then (bar 2) and then (baz x y). For whatever mathy elegance it had, it was a serious barrier to the eye of the ordinary (non-Hebrew-raised) eye, which wants to track in the other order.
Well, I'm probably just rambling. But the message here is that this matter of visual order in concisely expressing functional wrapping is heavily overconstrained, so there is no uniquely determined notion of "obvious" in the translation of (x (y (z))) to either xyz or zyx.
This same truth is why it's a nontrivial concept to teach people that some recursive algorithms yield their results backwards while others don't, depending on subtle choices of how to arrange the program that don't appear at first blush to the naive user as having anything to do with ordering the result. e.g., the difference between (f (g)) and (g (f)). After the one learns it, it seems obvious that this exactly reverses a whole list, but the logic/science of understanding mistakes in logic/science is a funny thing...
I am not knocking lisp. [As a matter of fact I am an avid lisp learner trying hard to 'get it'. Though I write programs in other languages for a living I am learning lisp and try to use it as much as I can.]
What I was critisizing was what I saw as an unnecessary and summary [probably undeserved] judegement about the intelligence of another programming community.
On a different note, I get mixed up signals from lisp community.
Lispers seem to want Lisp to get popular (constant lamenting that lisp doesnt get what it deserves.. and the potshots and sniping at perl and C++ ..) AND at the same time want lisp programming to be exclusive. (the insistance that lisp is only for smart people.. sniping at unwashed masses ...).
| For whatever mathy elegance it had, it was a serious barrier to the | eye of the ordinary (non-Hebrew-raised) eye, which wants to track in | the other order.
So maybe we should turn the language itself around. I hereby suggest a new language, Lisp Common. LC is just like CL, except that, like Germans, we the verbs at the end of the sentence put do.
Thus the definition
(defun fact (n) (do ((result 1 (* result n)) (n n (1- n))) ((<= n 0) result)))
something like
(fact (n) (((result 1 (result n *)) (n n (n 1-))) ((n 0 <=) result) do) defun)
instead becomes. Finding a good indentation style for LC a challenge will be, but I sure that this obstacle overcome can be, am.
(The scary thing is, I almost like it. Must have spent too much time writing PostScript code, or something. 8-)
Believe it or not, I have seen algebra books that put the function symbols on the right of the expression it applies to, like (x)f. As a notation for mathematics, it really seems more elegant in some ways, but it just flies too much in the face of tradition to ever become widely adopted.
(We should, of course, create a whole new newsgroup named lisp.common.lang.comp for the discussion of LC. (Anyone remember when the folks in the UK wrote their email addresses backwards?))
* pjdu...@hotmail.com (pj) | I am not knocking lisp.
YOu are clearly blaming Lisp users for their "attitude" and posit that such an attitude has an effect on the number of users. This is quite extraordinarily unwarranted.
| What I was critisizing was what I saw as an unnecessary and summary | [probably undeserved] judegement about the intelligence of another | programming community.
The _only_ aspect of human performance that is ever criticized when it is pointed out that some people are better than others, is intelligence. Some people are so hysterical about this aspect that they think high intelligence societies are tantamount to evil conspiracies.
| On a different note, I get mixed up signals from lisp community.
| Lispers seem to want Lisp to get popular (constant lamenting that lisp | doesnt get what it deserves.. and the potshots and sniping at perl and | C++ ..) AND at the same time want lisp programming to be exclusive. (the | insistance that lisp is only for smart people.. sniping at unwashed | masses ...).
I doubt that any of those would be satisfied no matter what would happen. A complaint without a "path to resolution" is just useless whining and should be brought to a stop. Usually, however, whiners will think they are _entitled_ to express their general dislike of the universse when it does not match their expectations. By the way, the "community" does not speak with one voice, so "at the same time" is pretty meaningless.
The dissatisfaction that some express with the language and everything else is probably only an excuse not to use Common Lisp -- sour grapes. The sense of negativity that they spread is insufficiently countered by those who do use Common Lisp profitably.
/// -- The past is not more important than the future, despite what your culture has taught you. Your future observations, conclusions, and beliefs are more important to you than those in your past ever will be. The world is changing so fast the balance between the past and the future has shifted.
lists some evidence of the liveness of the Lisp community. There's more--left as an exercise for the reader.
The ease with which it's possible to do a Google search, count the number of Lisp jobs at a major recruitment site, or check how many books are in Amazon's inventory is deceiving. I have been following Lisp and its community more or less regularly for about a decade, and I have learnt that there is more to the liveness of Lisp than easy to collect but possibly misleading statistics, or marketing literature from the vendor of another language.
Despite my non-superficial knowledge of Lisp tools and resources, I'm still pleased to discover new ones from time to time, both online and offline. The latest example is ThinLisp, which I had missed:
Those who are really interested in Lisp should not stop at the surface.
> Corman lisp, it is new, and so his base can only grow. And _my_ > perception of free lisp usage is that it has been exploding (though
This is also my perception. I think there is activity both on new projects (e.g. LISA, cCLan, etc.), and renewed activity on old ones (e.g. ECL-Spain--an ECoLisp derivative--Maxima, etc.).