* Dobes Vandermeer <do...@mindless.com> | But the decrease in quality comes with the apparent advantages of growth | and prosperity.
yes, that's exactly it: apparent.
| Without interest there is only disappearance and death, and this makes | popularity seem essential to me.
popularity is essential for the mass market. the sustainability in other markets, of which most are far more interesting than the mass market, is damaged by popularity, meaning interest from the general population. for instance, enormous markets are dependent on company-to-company sales and would be completely unable to educate enough people to deal with regular joes as customers. these are the professional markets. I stay clear of the consumer markets whenever possible, and go through a lot of work to get professional products. the really sad thing is that they often cost _less_ than the consumer products, but if they volume went up, so would the price. for instance, doctors, dentists, and vets use this highly absorbant material to clean up leaking body liquids of all colors and contents, and I got a bunch of this material when my cat had an operation and she did not have bladder control while recovering from anesthesia. so of course I bought 10 lbs of this stuff from my vet -- it far exceeds the absorbancy of _any_ of the consumer paper towels on the market and a box of 10 lbs costs the same as about 4 lbs of consumer paper towels. now, the reason for the low price and high quality is that people don't know about it, don't need to buy small units of it that are convenient to households (it comes in stacks of individual sheets, not rolls) in all sorts of stores, and there's no marketing for it at all. which means: no sales force to talk to all the stores or chains that might stock it, no shipping costs to absord into a retail price (the purchasers pay for the shipping from the one outlet in the entire country), etc, etc, etc. this stuff would end up costing more than five times as much as it does today if it were to hit the consumer market (of course I asked the people who make it). which probably explains why the paper towels are all low quality: the cost of producing a roll of paper towels is less than 10% of the price customers are paying for it.
| LISP is by no means on that path (yet), but it seems (to me) to be almost | a general opinion that it is not as popular as we'd like, either.
Lisp is a professional product in the professional market. it would be very seriously harmed by becoming a consumer product.
| I would hesitate to say that I am completely happy with them, but I | prefer that computers are popular, and thus readily available and | growing rapidly, than that they would have "fallen to the wayside" | because they lost a battle with a competing inferior technology...
huh? Intel and Windows _are_ inferior technology and they're winning, leaving all the quality designs by the wayside.
| I can tolerate the lowering of quality on the microscopic scale because | of the increase in quality overall.
but we have a decrease in overall quality! 40 years ago, producing a business letter had a cost relative to company expenditures in general that was about half of what it is today.
| The choice in CPU on a machine only seems relevant for assembly-language | programming and nitpicking;
really? ever heard of any of the numerous Intel bugs?
| Standards such as CL, CLIM, and CLOS protect us from the details of the | inferior processor we are running on and allow us to work in a more | comfortable programming environment whatever CPU or operating system lies | beneath.
this is not true. somebody has to care about the CPU to make the software run on it. making highly optimized code for something so braindamaged as the Intel instruction set, which isn't even relevant to optimization, anymore, as the underlying parallelized microcode-like instructions have everything to do with the pipeline, cache, etc, is so hard that it takes _years_ of effort to get it optimal. I have seen code that ran 8 times faster just by reordering the instructions on a Pentium II. stuff like this matters a lot more than people would like to believe when they use high-level languages, because the computer doesn't go away just because we don't _have_ to worry about it all the time. we _should_ worry about it, but not all the time, and not for everything we do.
| Thats part of what attracted me (and others) to LISP, is its rich library | of abstract constructs, and the powerful ways you can add and extend the | library with minimal effort.
all fine and dandy, but it has to run on a real CPU, and there's a dramatic difference in CPU's that make running anything useful on them easy or hard. this translates to sluggishness of development and adoption of new instruction sets. look at the SPARC -- it has managed to upgrade itself 6 or 7 times, and have changed a lot in the meantime, because the users were professional users who upgraded everything or were satisfied with software emulation of various instructions. the Intel CPU can still run 8086 code, because consumers hold on to old software even when they upgrade the hardware, and the third-party investment in the old instruction set is so enormous that they couldn't change it dramatically without risking that nobody would follow them. this leads to CPU's that are _very_ expensive by today's technological standards. done right, a new chip could cost a lot less and run a lot faster, and we have it: Digital Equipment Corporation (rest the blessed soul) produced the first processor to break the 100MHz barrier, and it's still amazingly fast. of course, with despicable Compaq buying it all up, it's going to run the #1 sluggish software in the world: NT, so it basically runs just as slowly as Linux on a computer two Intel generations ago. that's how the world doesn't win through popularity contests.
> disappearance and death, and this makes popularity seem essential to > me. LISP is by no means on that path (yet), but it seems (to me) to be > almost a general opinion that it is not as popular as we'd like, either.
I'd like to propose a definition of `sufficiently popular' which I think gets away from the problem that popularity is really not a very interesting measure.
Lisp is `sufficiently popular' if anyone who really wants to make a living doing Lisp-related work *can* do that.
I think this is much better than the normal `we'd like there to be more Lisp' because it depends on whether people *want* to do Lisp. If no one cares any more them no one will do it, and it's still as popular as it should be. It probably does not work from a vendor's point of view -- they (I think) should like Lisp to be more than sufficiently popular because they then make more money.
Whether Lisp *is* in fact sufficiently popular by this measure I don't know.
Erik Naggum <e...@naggum.no> writes: > these are the professional markets. I stay clear of the consumer > markets whenever possible, and go through a lot of work to get > professional products. the really sad thing is that they often cost > _less_ than the consumer products, but if they volume went up, so > would the price.
[...]
> it far exceeds the absorbancy of _any_ of the consumer paper towels > on the market and a box of 10 lbs costs the same as about 4 lbs of > consumer paper towels. now, the reason for the low price and high > quality is that people don't know about it, don't need to buy small > units of it that are convenient to households (it comes in stacks of > individual sheets, not rolls) in all sorts of stores, and there's no > marketing for it at all.
[...]
> done right, a new chip could cost a lot less and run a lot faster, > and we have it: Digital Equipment Corporation (rest the blessed > soul) produced the first processor to break the 100MHz barrier, and > it's still amazingly fast.
Are you talking about the price that you must pay to purchase professional products or the cost of manufacturing professional products? All in all, the full cost of producing an Alpha processor taking into account everything (particularly R&D and marketing) is probably less than that of an Intel processor, but the cost of purchasing a motherboard with a late-model of this processor -- no matter who you go to -- is _significantly_ greater than going to http://www.pricewatch.com and buying Intel-compatible processors that will give you significantly higher system performance for the same cost. A lot of people say that Alphas offer the best price/performance, but when I seriously investigated purchasing an Alpha system, this turned out to not be the case at all.
What I'm saying with all of this is that the situation with the super-absorbent stuff, which costs less than consumer stuff but offers better performance, is not really analogous to the situation with the Alpha processor, which costs a lot more than a consumer (Intel) system that delivers comparable performance for many applications like Apache servers, RDBMSs, Beowulf clustering, etc....
You even went with a dual P-II 400MHz system with 512MB for your own personal development system. [IIRC.]
[Don't hesitate to provide me with a professional contact for cheap Alpha hardware and prove me wrong! :-) ]
> * Dobes Vandermeer <do...@mindless.com> > | But the decrease in quality comes with the apparent advantages of growth > | and prosperity.
> yes, that's exactly it: apparent.
> | Without interest there is only disappearance and death, and this makes > | popularity seem essential to me.
> popularity is essential for the mass market. > which probably explains why the paper towels are all low > quality: the cost of producing a roll of paper towels is less than 10% of > the price customers are paying for it.
Hmm... that is disturbingly true.
> | I would hesitate to say that I am completely happy with them, but I > | prefer that computers are popular, and thus readily available and > | growing rapidly, than that they would have "fallen to the wayside" > | because they lost a battle with a competing inferior technology...
> huh? Intel and Windows _are_ inferior technology and they're winning, > leaving all the quality designs by the wayside.
I was referring to computers in general; they are (heavily) market driven currently, and I think that this is probably what has allowed the leaps and bounds in computer technology in the last while. The powerful appeal of fast computers has provided the computing industry with the funds required to rapidly advance computer technology. A small group of professionals could still have advanced computing, but not at nearly the rate; professionals by common definition work for money, so less money means fewer professionals.
> | LISP is by no means on that path (yet), but it seems (to me) to be almost > | a general opinion that it is not as popular as we'd like, either.
> Lisp is a professional product in the professional market. it would be > very seriously harmed by becoming a consumer product.
The impression that I have is that LISP (esp. CL) is basically a de-facto standard for Artificial Intelligence (And Applied AI) prototyping, especially at eductional and research facilities. This may be the professional audience to which you refer.
If so, then you are right; Lisp IS a professional product in the professional (i.e. educational and research) market.
I can only question whether entrance into the mass market is powerful enough to seriously harm a strongly standardized language like LISP (well, ANSI CL).
Do you know of similar products (i.e. programming languages) which were seriously harmed by entering the consumer market?
Languages that are common in the mass market now are C, Java, C++, Visual Basic, and Pascal (Delphi etc.). These languages, as far as I can tell, were not changed by the introduction to the mass market at all; in some cases they were improved somewhat (such as Borlands additions to Delphi to make it object-oriented). C is also an ANSI standard, and it is a language I continue to enjoy programming in; I would gladly choose C over LISP where operations involving table scanning or string and buffer manipulation were involved, if only because of the compressed syntax (and possibly increased performance).
> | I can tolerate the lowering of quality on the microscopic scale because > | of the increase in quality overall.
> but we have a decrease in overall quality! 40 years ago, producing a > business letter had a cost relative to company expenditures in general > that was about half of what it is today.
Are you certain? This sounds more like a hipshot than a known thing, considering the reason businesses turn to increases in technology is to reduce costs.
> | Standards such as CL, CLIM, and CLOS protect us from the details of the > | inferior processor we are running on and allow us to work in a more > | comfortable programming environment whatever CPU or operating system lies > | beneath.
> this is not true. somebody has to care about the CPU to make the > software run on it. making highly optimized code for something so > braindamaged as the Intel instruction set, which isn't even relevant to > optimization, anymore, as the underlying parallelized microcode-like > instructions have everything to do with the pipeline, cache, etc, is so > hard that it takes _years_ of effort to get it optimal. I have seen code > that ran 8 times faster just by reordering the instructions on a Pentium > II. stuff like this matters a lot more than people would like to believe > when they use high-level languages, because the computer doesn't go away > just because we don't _have_ to worry about it all the time. we _should_ > worry about it, but not all the time, and not for everything we do.
OK. You are saying that you DO have to worry about the underlying CPU, because it will affect price and performance ?
> | Thats part of what attracted me (and others) to LISP, is its rich library > | of abstract constructs, and the powerful ways you can add and extend the > | library with minimal effort.
> all fine and dandy, but it has to run on a real CPU, and there's a > dramatic difference in CPU's that make running anything useful on them > easy or hard.
Yes, but thats an issue for the CL implementor to resolve; if it turns out that performance is too poor on a given platform it is trivial to move your software to another, provided the same programming environment is available there. If you wrote your program in Assembly Language (as people once did) you no longer have that option.
> look at the SPARC -- it has managed to > upgrade itself 6 or 7 times, and have changed a lot in the meantime, > because the users were professional users who upgraded everything or were > satisfied with software emulation of various instructions.
I think Sun's marketing approach probably played a strong roel in this too, though. AFAIK Sun generally just asks you want you want to do (i.e. how fast a connection, how many clients) and then arbitrate a machine and price to you. If you need a faster machine, they take yours away (maybe) and sell you a new one. Consumer stuff was targetted at people who are too cheap to upgrade their hardware, and when they finally do they wont upgrade their software. I suppose that THIS is the damaging effect that the mass market had on computers; they wanted backwards compatibility.
> the Intel CPU > can still run 8086 code, because consumers hold on to old software even > when they upgrade the hardware, and the third-party investment in the old > instruction set is so enormous that they couldn't change it dramatically > without risking that nobody would follow them.
Mainly I think they were worried about losing popularity... just to tie it back into the thread :)
> done right, a > new chip could cost a lot less and run a lot faster, and we have it: > Digital Equipment Corporation (rest the blessed soul) produced the first > processor to break the 100MHz barrier, and it's still amazingly fast.
100 or 1000 MHz barrier? I didn't know there was a barrier at 100MHz anymore :)
> What I'm saying with all of this is that the situation with the > super-absorbent stuff, which costs less than consumer stuff but offers > better performance, is not really analogous to the situation with the > Alpha processor, which costs a lot more than a consumer (Intel) system > that delivers comparable performance for many applications like Apache > servers, RDBMSs, Beowulf clustering, etc....
The new PowerPC's (G4s) aren't so expensive.. I think they ring in a fair bit cheaper than new Pentiums (at the same performance levels), and lately might even be available with a decent operating system (i.e. Mac OS X Server).
Dobes Vandermeer <do...@mindless.com> writes: > "Christopher R. Barry" wrote:
> > What I'm saying with all of this is that the situation with the > > super-absorbent stuff, which costs less than consumer stuff but offers > > better performance, is not really analogous to the situation with the > > Alpha processor, which costs a lot more than a consumer (Intel) system > > that delivers comparable performance for many applications like Apache > > servers, RDBMSs, Beowulf clustering, etc....
> The new PowerPC's (G4s) aren't so expensive.. I think they ring in a > fair bit cheaper than new Pentiums (at the same performance levels), and > lately might even be available with a decent operating system (i.e. Mac > OS X Server).
Can you purchase just PowerPC CPUs + motherboards yet? If so, where? If not, where are they selling G4 systems offering performance for the dollar similar to Intel stuff at http://www.pricewatch.com or http://www.shopper.com?
There are good reasons to go for a Mac anyways for certain kinds of applications (because of the MacOS and all the media-design tools, not the hardware). They have the nicest on-screen font rendering of any of the systems I've used; certainly better than awful Unix. (Yeah, I've got an extra TTF font server installed + a few hundred high-quality fonts and they still render like crap compared to Windows with the font-smoother or particularly the Mac.)
Dobes Vandermeer <do...@mindless.com> writes: > > new chip could cost a lot less and run a lot faster, and we have it: > > Digital Equipment Corporation (rest the blessed soul) produced the first > > processor to break the 100MHz barrier, and it's still amazingly fast.
> 100 or 1000 MHz barrier? I didn't know there was a barrier at 100MHz > anymore :)
Um, maybe Erik was refering to a time about a decade ago when there was a 100MHz barrier and the DEC Alpha 20064 broke it....
Dobes Vandermeer <do...@mindless.com> writes: > The impression that I have is that LISP (esp. CL) is basically a > de-facto standard for Artificial Intelligence (And Applied AI) > prototyping, especially at eductional and research facilities. This may > be the professional audience to which you refer.
I'm sure that many people have that same impression, but I think that Lisp can win in other areas, too. I don't consider myself an AI person: I'm using Lisp for systems programming, computer graphics, number crunching, and networking.
> Do you know of similar products (i.e. programming languages) which were > seriously harmed by entering the consumer market?
I would say that the Java language has been harmed by Sun's efforts to gain mass-market mindshare by hyping it so much. I don't think that it had enough time to incubate before Sun pushed it out into the world as the great alternative to the Microsoft hegemony.
> > [Erik Naggum wrote this paragraph:] > > this is not true. somebody has to care about the CPU to make the > > software run on it. making highly optimized code for something so > > braindamaged as the Intel instruction set, which isn't even relevant to > > optimization, anymore, as the underlying parallelized microcode-like > > instructions have everything to do with the pipeline, cache, etc, is so > > hard that it takes _years_ of effort to get it optimal. I have seen code > > that ran 8 times faster just by reordering the instructions on a Pentium > > II. stuff like this matters a lot more than people would like to believe > > when they use high-level languages, because the computer doesn't go away > > just because we don't _have_ to worry about it all the time. we _should_ > > worry about it, but not all the time, and not for everything we do.
> OK. You are saying that you DO have to worry about the underlying CPU, > because it will affect price and performance ?
One can say "oh, the processor doesn't matter; the compiler guys will figure it all out for me," but I've never thought that was a very strong argument. Compiler guys have limited time, just like the rest of us. I would bet that for a given amount of time, you'd get less improvement working on improved x86 code generation than you would working for an equivalent amount of time on improving code generation for MIPS or SPARC or something else decent.
It's also a lot easier to read the output of #'disassemble on a MIPS or SPARC.
And don't even get me started about floating point on the x86.
Dobes Vandermeer <do...@mindless.com> writes: > I was referring to computers in general; they are (heavily) market > driven currently, and I think that this is probably what has allowed the > leaps and bounds in computer technology in the last while. The powerful > appeal of fast computers has provided the computing industry with the > funds required to rapidly advance computer technology. A small group of > professionals could still have advanced computing, but not at nearly the > rate; professionals by common definition work for money, so less money > means fewer professionals.
AFAIK the increase in computing power has followed the same law since (nearly) it's beginning, and the introducting of the home and personal computer didn't in any way increase or decrease the rate of change, IMHO. OTOH I can't find the figures to support this at the moment, so I might be misremembering.
So I don't think that a _mass_ market is needed to get sustainable growth, you just need a market that can sustain the investments needed.
> The impression that I have is that LISP (esp. CL) is basically a > de-facto standard for Artificial Intelligence (And Applied AI) > prototyping, especially at eductional and research facilities. This may > be the professional audience to which you refer.
I don't think that CL's position in the AI fields is nearly as strong as it was in the past, with C++ and nowadays Java making increasing inroads since the beginning of the AI winter.
OTOH it seems to me that CL's position in the non-research and non-AI areas is increasing steadily, in all sorts of business-critical and/or complex information systems. Fields like knowledge-based engineering (see www.ktiworld.com with it's ICAD/KBO environments), simulation, visualization, OODBMS, decision-support systems, planning and scheduling systems, etc.
The producers of these systems typically have different needs and different buying habits than the participants of what has come to be the programmer mass market.
It is this audience (together with the relevant research and education communities) that most Lisp vendors are increasingly trying to cater for nowadays, I'd guess.
I think this is a sustainable strategy for the current number of players. OTOH I could imagine other strategies working well, too, like Kent's suggestion that serveral CL implementations should try to leverage their connectivity prowess (especially their very well integrated-CORBA support) better by incorporating it into their base products, thereby positioning their products as the business logic/connectivity language of the future.
> I can only question whether entrance into the mass market is powerful > enough to seriously harm a strongly standardized language like LISP > (well, ANSI CL).
> Do you know of similar products (i.e. programming languages) which were > seriously harmed by entering the consumer market?
The purpose of a programming language is to cater to it's user community and their _perceived_ needs. Especially during standardization rounds, the user community will be well represented, either directly or through their respective vendors. If the user community of CL starts to include large segments of the mass market, the same forces that created the current products of choice in this market would start to work on future ANSI CL standards.
Since it seems that the current users of CL seem to have other perceived needs as do members of the mass markets, it seems to me that the outcome would be less satisfactory to the current users...
> > but we have a decrease in overall quality! 40 years ago, producing a > > business letter had a cost relative to company expenditures in general > > that was about half of what it is today.
> Are you certain? This sounds more like a hipshot than a known thing, > considering the reason businesses turn to increases in technology is to > reduce costs.
Studies that show either decreased productivity and/or increased costs for simple business/administration tasks have been around for at least 10-20 years now. Of course, as with every study, it is up to you to believe in it's validity. But if you are interested I could try to find the references I have.
> OK. You are saying that you DO have to worry about the underlying CPU, > because it will affect price and performance ?
Because it will affect price, performance and quality of the things that run on top of that CPU. It is a well known fact that writing optimizing compilers for iA32 CPUs is quite a bit more work than coming up with something good for more sane architectures. The time spend on this will either affect other areas of the product and/or increase it's price or it's quality.
Regs, Pierre.
-- Pierre Mai <p...@acm.org> PGP and GPG keys at your nearest Keyserver "One smaller motivation which, in part, stems from altruism is Microsoft- bashing." [Microsoft memo, see http://www.opensource.org/halloween1.html]
> Are you talking about the price that you must pay to purchase > professional products or the cost of manufacturing professional > products? All in all, the full cost of producing an Alpha processor > taking into account everything (particularly R&D and marketing) is > probably less than that of an Intel processor, but the cost of > purchasing a motherboard with a late-model of this processor -- no > matter who you go to -- is _significantly_ greater than going to > http://www.pricewatch.com and buying Intel-compatible processors that > will give you significantly higher system performance for the same > cost. A lot of people say that Alphas offer the best > price/performance, but when I seriously investigated purchasing an > Alpha system, this turned out to not be the case at all.
AFAIK the motherboard is the main cost driver here, whereas the chips themselves can be had for competitive prices. Since the AMD K7/Athlon chips also use the EV6+ bus now, some hope that this might also drive down costs for Alpha motherboards, seeing that much of the design and chips probably could be shared with high-volume K7 boards.
Regs, Pierre.
-- Pierre Mai <p...@acm.org> PGP and GPG keys at your nearest Keyserver "One smaller motivation which, in part, stems from altruism is Microsoft- bashing." [Microsoft memo, see http://www.opensource.org/halloween1.html]
> Studies that show either decreased productivity and/or increased costs > for simple business/administration tasks have been around for at least > 10-20 years now. Of course, as with every study, it is up to you to > believe in it's validity. But if you are interested I could try to > find the references I have.
There was an interesting article in The Economist a few weeks ago -- which may be available from their web site -- on productivity and computing. My take on it is this (they didn't quite seem to say this in so many words):
The standard story is that computerisation has had negligible effects on productivity, and may in fact have decreased it. The reasons for this are (they claim) mysterious and (I claim) very obvious.
However, over the last short period (perhaps 2 years) there have been really noticeable improvements in productivity in the US economy.
The internet/e-commerce people are jumping up and down waving their hands claiming that the revolution is finally here because it wasn't computers it was web-browsers that increase productivity (or something equally incoherent).
But if you look closely at *where* the productivity gains are happening you find something interesting: most people are seeing only small-to-no increases in productivity, but *computer manufacturers* are seeing *very large* increases, and have also become a significant part of the economy.
So really what is happening is that computerisation is still not helping, *but* `lock-in' is happening, so that a company *has* to computerise or lose, even though it doesn't save money by doing so (my guess is that this is doe to proprietary-format contagion over the net, and also because large companies are refusing to deal with people non-electronically). So huge numbers of computers are being sold, and the computer makers are realising really significant productivity gains at the same time.
Tim Bradshaw <t...@tfeb.org> writes: > So really what is happening is that computerisation is still not > helping, *but* `lock-in' is happening, so that a company *has* to > computerise or lose, even though it doesn't save money by doing so > (my guess is that this is doe to proprietary-format contagion over > the net, and also because large companies are refusing to deal with > people non-electronically). So huge numbers of computers are being > sold, and the computer makers are realising really significant > productivity gains at the same time.
This smacks of "popularity" to me, so, relatively speaking, perhaps we are only just now on the brink of seeing the age of the poor-quality computer system...
-- 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)
In article <raffael-2209991809040...@raffaele.ne.mediaone.net>, raff...@mediaone.net (Raffael Cavallaro) wrote:
> In article <7saust$f6...@nnrp1.deja.com>, Andy Freeman > >Consider the strike. It isn't merely a refusal to work, it is > >also a refusal to let someone else work in "your" place. To > >accomplish the latter goal, you must "be available" for > >confrontation.
> No, this is simply untrue. In the US, on only needs to go back to the > recent UPS strike to see this.
The UPS strike is a good example of my point. The violence by "strikers" to stop lower managment from working is well documented, as is the behavior of strikers towards replacement workers, aka "scabs".
>The idea is to make it more expensive for management > to hire a new workforce than to negotiate a settlement.
Yup, and the way one does this is....
> You miss the fundamental point that the "available alternatives" are > grossly and artificially skewed by the use of violence. If police put on > masks in their off duty hours and kill labor organizers
No one kills the people who choose another line of work.
> >We've yet to establish why Cavallaro is chasing evil capitalists > >in c.l.l, let alone why chasing Naggum is appropriate.
> Well conspiracy theorists will not be satisfied, but it really is because > Erik wrote some things that are a fundamental distortion of the way the > world is for _most_ people.
That's nice, but doesn't answer my question.
Maybe an answer prototype would help. Suppose that Cavallaro believes that his c.l.l posts improve people's lives. An answer would include a statement of that goalt together with some argument showing that those posts do have that effect.
BTW - The backhanded accusation of slave-trading was a nice touch. (Hint - placing two things next to one another in a paragraph doesn't make them related, and honest people don't confuse "some Nazis wore pants" with a useful commentary on pants wearers.)
Dobes Vandermeer wrote: > C is also an ANSI > standard, and it is a language I continue to enjoy programming in; I > would gladly choose C over LISP where operations involving table > scanning or string and buffer manipulation were involved, if only > because of the compressed syntax (and possibly increased performance).
Curious. I like C for some purposes too, but one area where I repeatedly find myself cursing the language is string processing. Compare
for instance. Of course, it's easy to write a C function that concatenates strings like this. But then what if you want to concatenate three strings? You can't just say
result = concat(concat(foo),concat(bar,baz))
because that leaks memory (the result of the lexically last |concat| there). It's niggling things like this (most of which, in the end, come down to the absence of GC) that make string manipulation in C really unpleasant. I'll admit that it's fast, though; but not fast enough to make up for the slowdown you incur when *writing* the code.
Common Lisp's string handling is certainly verbose, but it's less verbose than doing the same thing in C.
-- Gareth McCaughan Gareth.McCaug...@pobox.com sig under construction
> > > What I'm saying with all of this is that the situation with the > > > super-absorbent stuff, which costs less than consumer stuff but offers > > > better performance, is not really analogous to the situation with the > > > Alpha processor, which costs a lot more than a consumer (Intel) system > > > that delivers comparable performance for many applications like Apache > > > servers, RDBMSs, Beowulf clustering, etc....
> > The new PowerPC's (G4s) aren't so expensive.. I think they ring in a > > fair bit cheaper than new Pentiums (at the same performance levels), and > > lately might even be available with a decent operating system (i.e. Mac > > OS X Server).
> Can you purchase just PowerPC CPUs + motherboards yet? If so, where? > If not, where are they selling G4 systems offering performance for the > dollar similar to Intel stuff at http://www.pricewatch.com or > http://www.shopper.com?
$1,599 - 400MHz G4 with 64M RAM, 10GB HD $2,499 - 450MHz G4 with 128M RAM, 20GB HD $3,499 - 500MHz G4 with 256M RAM, 27GB HD
They seem to include a 56k modem, a 10/100BT card, a CDROM and an ATI RAGE 128, the 450MHz+ ones have a DVD-ROM. It looks like only the 400Mhz version is available now, while the others have increasing waiting times. I've heard Apple tends to choose high quality hardware in their systems (although the choice of the ATI rage is a little disappointing, I'd rather see something else there). It might also be possible to build your own systems, but Macintosh has traditionally been against customization and expansion.
> > The impression that I have is that LISP (esp. CL) is basically a > > de-facto standard for Artificial Intelligence (And Applied AI) > > prototyping, especially at eductional and research facilities. This may > > be the professional audience to which you refer.
> I'm sure that many people have that same impression, but I think that > Lisp can win in other areas, too. I don't consider myself an AI > person: I'm using Lisp for systems programming, computer graphics, > number crunching, and networking.
Personally, these are exactly the fields I avoid with LISP, mostly because I haven't really been able to get my hands on good libraries that fill these roles. Number crunching is about the only one that seems to be in the ANSI standard, but computer graphics and networking might be somewhat of a problem case. Does CLOS have any good distributed objects protocols? I understand you can use CORBA, but that doesn't count as a *good* protocol to me so much as one that "works", because it lacks features like self-describing objects (to eliminate the need for IDL) and clever namespace tactics.
> > Do you know of similar products (i.e. programming languages) which were > > seriously harmed by entering the consumer market?
> I would say that the Java language has been harmed by Sun's efforts to > gain mass-market mindshare by hyping it so much. I don't think that > it had enough time to incubate before Sun pushed it out into the world > as the great alternative to the Microsoft hegemony.
Yeah, you're right with that one.. perhaps popularity, or more importantly the things done to achieve popularity, is fairly damaging. However, Java is better than C++ because it provides a valuable class library with the language which provides a host of features not typically included in a language. In fact, no other standard library for a language that I have seen includes built-in classes for all of networking, threading, encoding, parsing, etc. The closest to that level I can think of off the top of my head is OpenStep's Foundation Framework for Objective-C.
> > C is also an ANSI > > standard, and it is a language I continue to enjoy programming in; I > > would gladly choose C over LISP where operations involving table > > scanning or string and buffer manipulation were involved, if only > > because of the compressed syntax (and possibly increased performance).
> Curious. I like C for some purposes too, but one area where > I repeatedly find myself cursing the language is string processing. > Compare
I think that languages are generally USED differently. For example, in C allocating memory is fairly expensive, and makes your life difficult for memory management. Thus:
(concatenate 'string foo bar)
Is not a C-style construct.
When I am talking about string processing, I mean performing several operations and producing a single string result; the style of lisp woulf typically produce several intermediate strings in a process like this, which is less efficient. I also need to be able to extract specific types of values at arbitrary points in the string. To get an integer out of a long string like "Here is your number: 5, happy?" is more difficult in LISP than in C.
With buffer processing, it is often necessary to extract binary types out of a byte stream of some kind, like for example if you are communicating via TCP or storing data in a compact form on disk. To be honest, I dont even know how to encode and decode lisp types into a binary form, even less extract binary types that may have been written by other languages...
Try and implement this in LISP:
int i, x=0; char buf[200] = "xyz,abc,2.3=12"; float foundfloats[20];
Although if this were a real program it woudl need explanatory comments, its clear that you can easily scan and modify string in-place quite easily. I suspect an equivalent LISP inplementation would have a number of #\Newline and #\Comma entries that would make me feel very unfortable. Not only that, but the (aref buf i) syntax is much more difficult to type than buf[i], because it has an extra 6 characters, and all of "aref" goes on the same hand...
Dobes Vandermeer <do...@mindless.com> writes: > > Can you purchase just PowerPC CPUs + motherboards yet? If so, where? > > If not, where are they selling G4 systems offering performance for the > > dollar similar to Intel stuff at http://www.pricewatch.com or > > http://www.shopper.com?
> $1,599 - 400MHz G4 with 64M RAM, 10GB HD > $2,499 - 450MHz G4 with 128M RAM, 20GB HD > $3,499 - 500MHz G4 with 256M RAM, 27GB HD
> They seem to include a 56k modem, a 10/100BT card, a CDROM and an ATI > RAGE 128, the 450MHz+ ones have a DVD-ROM.
The hard disks aren't SCSI, the ATI RAGE 128 cards stink (I believe new NVidia and Matrox cards are made for Macs, so I don't know why they don't make these with those instead), and the ones you listed don't include a monitor.
I also searched that site for quite some time to see what software they bundle with the things. If they give you Photoshop 5.0 and a bunch of other good stuff with all of them, then it might not be that bad....
Try pricing an imaginary system at http://www.pricewatch.com. You could get more memory, a faster processor, and a large UltraWide-2 SCSI disk and probably even have enough left over for a monitor....
Erik Naggum <e...@naggum.no> writes: > Digital Equipment Corporation (rest the blessed soul) produced the first > processor to break the 100MHz barrier, and it's still amazingly fast. of > course, with despicable Compaq buying it all up, it's going to run the #1 > sluggish software in the world: NT, so it basically runs just as slowly
Compaq will end development for all 32-bit and 64-bit Windows NT products on the Alpha platform with the delivery of Windows NT 4.0 Service Pack 6 in late 1999. We will continue to provide support for current Alpha Windows NT products, and we will offer migration paths to other Compaq platforms.
is a much simpler way of saying this (well, I think so). It's slightly slower than it might be because the second strcat has to walk the string you are building (your one has a bug BTW, the second memcpy needs to be memcpy(s + l1, ...)). I guess C people typically *would* worry about that kind of inefficiency.
Of course you still get killed by the lack of GC, but you always get killed by that.
Dobes Vandermeer <do...@mindless.com> writes: > "R. Matthew Emerson" wrote:
> > I'm sure that many people have that same impression, but I think that > > Lisp can win in other areas, too. I don't consider myself an AI > > person: I'm using Lisp for systems programming, computer graphics, > > number crunching, and networking.
> Personally, these are exactly the fields I avoid with LISP, mostly > because I haven't really been able to get my hands on good libraries > that fill these roles. Number crunching is about the only one that > seems to be in the ANSI standard, but computer graphics and networking > might be somewhat of a problem case. Does CLOS have any good > distributed objects protocols? I understand you can use CORBA, but that > doesn't count as a *good* protocol to me so much as one that "works", > because it lacks features like self-describing objects (to eliminate the > need for IDL) and clever namespace tactics.
Nothing in the CORBA standard prohibits implementations from generating the IDL automatically from information already present in the implementation. I'd guess that it would be quite feasible to implement a meta-class using the MOP that accepts enough information so that the IDL description can be generated automatically. The interface description can then be used either in the normal way (i.e. to generate, compile and link stubs in other languages), and/or kept in an Interface Repository for use via DII/DSI at run-time.
I don't think you can get much more self-describing than this. Now I would have been with you if you had accused CORBA of being overly complex for same language/implementation solutions, which OTOH is to be expected of an architecture that tries to be cross-language, cross- platform and cross-network.
I don't know what you mean by clever namespace tactics, but would be interested to know more. Maybe the Interface/Namespace split that ILU does in ISL would be interesting to you?
OTOH if you only use CLOS, it should be quite possible to write your own RPC protocol over a network link, and hide it behind a meta-class. This has been done a couple of times, though I don't know of anything that is publically available, IMHO.
> However, Java is better than C++ because it provides a valuable class > library with the language which provides a host of features not > typically included in a language. In fact, no other standard library > for a language that I have seen includes built-in classes for all of > networking, threading, encoding, parsing, etc. The closest to that > level I can think of off the top of my head is OpenStep's Foundation > Framework for Objective-C.
Yes, Java includes much stuff, and the size of this is increasing (it seems to me) exponentially. While in quantity terms this is useful, I rather doubt that the quality of much of this is really any good: In their haste to get to the market, we have now seen at least 3 versions of their idea of a GUI Toolkit: original AWT, which even compared to the windows GUI toolkits of the day sucked hugely (can you say switch?), then a major revision of AWT (IIRC), and now Swing on top of that, which is the size of my whole CMU CL distribution.
It seems to me that the sole driving force behind Java's growing library base is to occupy as much of the teritory as possible, so that the enemy can't get it. Only after we've got all of this, will we think about the quality, stability and usefullness of our libraries. The same seems to apply to the core of the language itself, only in more restrained ways (probably because of the need to provide at least some backward compatability to older JVMs for the time being, to keep the slogan write once, run everywhere at least somewhat believable).
Compare that to CL, which at the time also had a huge set of built-in functionality (we've only fallen behind Jave, Perl, etc. in recent times in quantity), but at a much higher quality. Most of the things in CL are both proven by the test of time, and have been analysed quite well to ensure their stability, versatility and continued usefullness. Now you might argue that CL is this way, because it stayed away from controversial "new" areas, like GUI toolkits, so that this comparisson is unfair. I don't think it is unfair for two reasons:
a) Some of the things CL tried to tackle were at least as controversial at the time as (cross-plattform) GUI toolkits were at the time Java started: The condition system and more so the CLOS are examples of functionality in CL that could quite easily have been gotten wrong. But CL didn't, and to my knowledge there exist no major grievances with both that would need to be adressed in the current round of standardization/reaffirmation.
b) CL never exhibited this conquer-at-all costs attitude towards functionality. If some area was not understood well enough to be standardized, it was rather left out of the standard, than burden future generations with the crap of the current generation.
Note that these are generalized arguments, and I don't claim that indeed every little feature in CL is as good as the claims above. OTOH it should be noted that nearly all of the suggestions for changes in the standard at the current time are for extensions to the language into different directions, and not to fix defects in existing constructs (with pathnames probably being one of the notable exceptions[1]).
So while I too like to have as many functionality as possible in my language of choice (or available too it), I also want it to be of high quality, and highly versatile and stable. Otherwise I'd rather see it not standardized, so that different third-party vendors can try to come up with increasingly better ways of doing things, which a standard would prohibit. In this way I get at least increasing quality and choice, while sacrificing stability. With the Java way I get neither quality nor stability.
What I would like to see is an increase in (de-facto) standardized libraries/layers for Common Lisp, but at a decent speed that didn't try to exchange quality for quantity.
Just my 2 cents.
Regs, Pierre.
Footnotes: [1] It is my impression that pathnames were properly understood at the time (see Symbolics Lisp machines), but that political pressures to standardize too much Symbolics' stuff kept much of the needed functionality from being brought in.
-- Pierre Mai <p...@acm.org> PGP and GPG keys at your nearest Keyserver "One smaller motivation which, in part, stems from altruism is Microsoft- bashing." [Microsoft memo, see http://www.opensource.org/halloween1.html]
Tim Bradshaw wrote: > The standard story is that computerisation has had negligible effects on > productivity, and may in fact have decreased it.
I find this interesting: What do you mean by computerisation? and how are you measuring productivity?
For example: when my father was of age to enter the job market, the majority of accounting and stock control functions in businesses and local authorities were carried out by large teams of people adding up numbers by hand (either using mechanical adding machines or ledgers and a pen). This doesn't happen any more. The payroll and holiday calculations for the large (~500 person) group of companies I work for, is carried out by one and a half people. This is possible using stuff like SAGE. In the past took a team of 20 to do.
More recently (the last 10 years or so), the production of Yellow Pages in this country was an almost completely manual process. Two sites in this country employing in excess of 800 people to rearrange film advert and text items. An experienced person could expect to produce in the order of 23 laid-out pages in a week. The average book took 6 weeks to produce, even working shifts and weekends. Including amendments, this process now takes under 4 days and about 10 people.
I have probably missed the point (again) and you were talking about some other form of computerisation. But I think that standard story is wrong, that computerisation *has* had an impact on productivity. You can save money in a lot of processes through the careful use of computerisation.