* Will Hartung | It is sad that in a time when the general purpose machines available to | Joe Sixpack have anough oomph and resources to truly take advantage of a | full blown, in your face, Lisp Machine-esque envrironment, that the | bandwagon is so stuffed full of snake oil salesman, that the jewels are | difficult to find. And what's worse, most folks aren't willing to seek | them out.
what makes _me_ sad is the focus on "most folks" and "Joe Sixpack".
why are we even _thinking_ about home computer equipment when we wish to attract professional programmers?
in _every_ field I know, the difference between the professional and the mass market is so large that Joe Blow wouldn't believe the two could coexist. more often than not, you can't even get the professional quality unless you sign a major agreement with the vendor -- such is the investment on both sides of the table. the commitment for over-the-counter sales to some anonymous customer is _negligible_. consumers are protected by laws because of this, while professionals are protected by signed agreements they are expected to understand. the software industry should surely be no different. (except, of course, that software consumers are denied every consumer right they have had recognized in any other field.)
Microsoft and its ilk has done a marvelous job at marketing their software in the mass market so that non-professional programmers pick them up and non-programmers who decide where the money should be wasted will get a warm fuzzy feeling from certain brand names. I mean, they _must_ recognize that nothing else they buy for their company is advertised in the newspapers that morning and they aren't swayed by consumer ads when they buy office or plant equipment, are they? so _why_ do they swallow this nonsense from the mass-marketing guys hook, line, and sinker?
they don't make poles long enough for me want to touch Microsoft products, and I don't want any mass-marketed game-playing device or Windows appliance _near_ my desk or on my network. this is my _workbench_, dammit, it's not a pretty box to impress people with graphics and sounds. when I work at this system up to 12 hours a day, I'm profoundly uninterested in what user interface a novice user would prefer.
I'm reminded of the response to how people of little or no imagination were complaining about science fiction and incredibly expensive space programs: "the meek can _have_ the earth -- we have other plans".
no, this is not elitist, like some would like to believe in order to avoid thinking about the issues. this is just calling attention to the line between amateurs and professionals, between consumers and producers, that is already there in _every_ field. I want people to wake up to this difference and _reject_ the consumer ads when they look for professional tools. if it's marketed to tens of millions of people, it is _not_ for the professional programmer, and not for you. if its main selling point is novice-friendliness, ignore it unless you _are_ a novice. (and if you are a novice trying to sell your services in a professional market, get the hell out of the way.)
On Sat, 15 Feb 1997 19:20:15 -0000, cyber_sur...@wildcard.demon.co.uk
(Cyber Surfer) wrote: >My real problem wasn't so much infix, as precedence. I coped with C by >using a lot of parentheses. Curiously, after using a Lisp-ware editor >(in ACL/PC), I miss the support for matching parentheses when I edit C >code in a "dumb" editor. I've yet to find this feature in an editor >for a C++ IDE, dispite the desparate need for all kinds of matching.
If you've a PC, try the free DJGPP compiler and the RHIDE IDE. Based on Borland's IDE, with syntax highlighting and three kinds of brace mathcing - (), {}, []!
ABW
ABW --
"Simply drag your mother in law's cellphone number from the Address Book to the Laser Satellite icon, and the Targeting Wizard will locate her. Then follow the onscreen prompts for gigawattage and dispersion pattern..."
(Windows for Early Warning and Defence User's manual P385)
In article <3065007098547...@naggum.no>, Erik Naggum <e...@naggum.no> wrote: > you might wish to ask Franz, Inc, to send you their free personal use > licence to the already completed Allegro Common Lisp environment for Linux. > it will save you about two hundred years of programming time, and it's more > fun to write in Common Lisp than to write your own implementation, anyway.
> I think it may need RedHat 4.0, but I don't know how compatible the > different distributions of Linux are.
Make sure you get the patches for Linux ACL 4.3 from ftp.franz.com.
Yesterday I did install CL-HTTP 60.63 on my home Pentium PC (which is accessible from the Internet, 32 MB RAM, 133 Mhz) with Linux and ACL 4.3. The Apache server now has been removed.
Now I have CL-HTTP under Symbolics Genera 8.3, Macintosh Common Lisp 4.0 and ACL/Linux 4.3. Talk about portable code. The GUI doesn't matter anymore.
With a mighty <vfr750E5o4tx....@netcom.com>, vfr...@netcom.com wibbled into the void...
> The whole reason that I am involved in the Lisp/Scheme family of > languages at all today, is SPECIFICALLY because they are/were > unapproachable. Lisp is one of those languages that I never "got". I > could not look at a Lisp program and have any reasonable chance of > figuring out what it did. The parens could be distracting, the words > were complete greek (almost literally), and the layout was confusing.
Was this before you read a Lisp tutorial? I learned Basic from a manual, which probably didn't help my coding style - I learned a lot of that from a book that used PL/I and Fortran code. I later added to this when I learned Forth, APL, Lisp, and a few other languages. I've never learned PL/I or Fortran, as the book I mentioned about didn't teach those languages. (Can you guess which book that was?)
> Scheme and Lisp aren't particularly difficult to learn, if you throw > your preconceptions out at the door. And I imagine that they would > be wonderful for a first exposure to computing. It would, minimally, > give students a better foundation to base their programming skills on > no matter what language they choose in the future.
Yes, a book that starts from absolute basics can help, esp if you're prepared to go back to the basics and forget all the things that you _think_ you know about programming.
> BUT, they ARE "different" from the typical bread and butter languages > of today. And the languages that one programs in influences how we > think about algorithms and problem solving. And when people approach a > problem, they use their past experiences to evaluate and solve the > problem.
That's why I enjoy learning new programming languages. I can learn to look at problems in new ways, and then see how much of my existing experience might apply. It's hard work, but rewarding.
> So, if you throw a C programmer a block of Lisp Code, they almost > immediatly go into abort mode. Very little of their past experiences > translate well so the Lisp Code is immediately more "unreadable". Then > they pile on the preconcieved notions about Lisp, and the situations > just get worse. They give up. "I can't read this, this is Lisp." They > won't say that about Pascal. They won't say that about Basic. They'll > struggle through it and figure it out. Because half of the lines are > the same as C, and the constructs use the same verbs.
As I said, it's hard work. Those of us who take to Lisp like a duck to water can easily forget just how hard it is for everyone else. I've never been afraid of abstractions - just the opposite, in fact - but I may be one of the exceptions. C is very simple to understand because it looks so much like assembly language. It's very close to the machine level, with few abstractions beyond what the concept of a CPU demands from a programmer.
Attacks on Lisp from C/C++ programmers tend to focus on the features that distinguish Lisp from C, and which are simply enough for a C/C++ programmer to _think_ that they understand them. Garbage collection is a perfect example. A C programmer won't like the idea of the language doing things behind their backs, like moving objects about. It won't matter that this can help an app perform _better_, as it's outside the experience of the C programmer, and it'll make them uncomfortable. Some of them might even feel the same way about VM!
> If you've ever read "The Little Lisp/Schemer" you'll notice that they > don't even mention the iterative constructs. All they ever use is > recursion. You wouldn't even know that Scheme had a (do ...) in it. > When you already have one language under your belt, you're going to > try find the similarities in the new one you're learning. So, I would > think if someone is learning functional Scheme, then "yes", they would > consider recursion the "for" loop.
If there was a "Scheme for C++ Programmers", I'd hope that it would show how tail recursion in C can be optimised into a "while" loop. That should help make a C/C++ programmer feel more comfortable.
A few words, or even pages, on code transformation would also help.
> I cannot comment on whether Lisp is less natural than Pascal, as I > learned the "other way" first. However, I will say that I think folks > with extensive, and exclusive, experience in one form versus the > other, they will have to make a major cognitive leap to pick up the > other form.
A number of educational institutions teach programming using Lisp or a more functional language (Haskell, SML, Hope, etc). Perhaps a student from one of the places could comment. I too learned programming using an imperative style, but I had no trouble adapting. I could just be an exception, of course.
> There is a lot of Baby Duck syndrome in computer languages. You know > and prefer what you learn first. Editors, computers, Moms Cooking, > deodorants, and girlfriends.
<grin> This is very true. Also, some people will strongly resist change or new ideas (that is, ideas that are new to _them_).
> C/C++ have a LOT of mindshare/ad-space. Every "4GL" on the planet is a > trumped up BASIC. And there are a lot of Baby Ducks out their quacking > their way into their local Crown Books looking for something "technical" > about computers and programming. Blammo - they're infected for life.
Yeah, imagine if somebody had put Lisp on the Altair, before Basic. A whole empire might've been built using Lisp, instead of toy languages. Curiously, some people MS are trying to correct this error, by applying functional ideas to VRML scripting. I wish them luck!
> The problem with marketing Lisp and Scheme is twofold.
> One: the ads will be just as buzzword compliant as any other language > being marketed today, "So why switch?".
Any change that requires effort without a quick reward will be unpopular. Moving to Lisp from C requires a lot of effort, which means that the reward will be slow. We know that it'll be worth it, but that's because we've made that change already.
We live in a world of bean counters, where the cost is everything, and the value means nothing at all. Hence the popularity of C/C++.
> Two: The elegant, high level nature of the languages do not > communicate well on paper. They must be experienced. To be > experienced, you need to make that leap. That leap can be > difficult, particularly if you're just "playing with it."
I'm not so sure about this. I doubt it because _I_ was able to understand it, just by reading about it. However, I can understand a lot of things by just reading about them, while other programmers may need a little more. I agree that experience can certainly help form a deep understanding.
> Notice also, today, that the languages aren't being marketed as much > as the environments. Borland is not selling Object Pascal, they're > selling "Delphi - Fast, efficient RAD. Easy DB access, blah blah > blah". The C++ vendors throw in a couple of bullet points to note that > they're sorta kinda keeping up with the moving target standard, and, > oh by the way, "check out These Features" and "But wait, there's more!" > The vendors are trying to out "Ronco" each other.
Yes, I've noticed this, too. Environments like VB and Delphi have a lot too teach C++ people, not just Lisp hackers. The language alone isn't enough anymore, at least not for platforms like Windows.
> It is sad that in a time when the general purpose machines available to > Joe Sixpack have anough oomph and resources to truly take advantage of > a full blown, in your face, Lisp Machine-esque envrironment, that the > bandwagon is so stuffed full of snake oil salesman, that the jewels are > difficult to find. And what's worse, most folks aren't willing to seek > them out.
Most folks are ignorant. Fortunately, they're not stupid. If there were a few mainstream apps written in Lisp, and everyone _knew_ they were written in Lisp, and they outperformed anything not written in Lisp, then it _might_ begin to change. The only reason that I doubt this is that I expect there to be just as much BS. It's not enough for Lisp to be better than C++, it's necessary to do it on C++ ground, and to be _undeniably_ better.
I've often seen AI apps given as examples of Lisp apps, which doesn't exactly help dispel the image that Lisp is only good for AI. Bizarre tho it may be, some people see AI as something to avoid. I guess they've not noticed AI techniques creeping into the "real world".
Right now, most people won't even know that Lisp is still _used_, never mind capable of beating C++. That's how bad the problem is. -- <URL:http://www.wildcard.demon.co.uk/> You can never browse enough Martin Rodgers | Developer and Information Broker | London, UK Please remove the "nospam" if you want to email me. "Blow out the candles, HAL."
With a mighty <3065048088243...@naggum.no>, e...@naggum.no wibbled into the void...
> no, this is not elitist, like some would like to believe in order to avoid > thinking about the issues. this is just calling attention to the line > between amateurs and professionals, between consumers and producers, that > is already there in _every_ field. I want people to wake up to this > difference and _reject_ the consumer ads when they look for professional > tools. if it's marketed to tens of millions of people, it is _not_ for the > professional programmer, and not for you. if its main selling point is > novice-friendliness, ignore it unless you _are_ a novice. (and if you are > a novice trying to sell your services in a professional market, get the > hell out of the way.)
I think that we agree about most of what you've said, but there are a few points that I'd like to add.
The problem is that most people _are_ novices, and if you only write software for the experts, then your market will be very small. What most of us see as the computer industry (and I'm including the workstation market) is only the size it is today because of the success of small machines sold to to "small" users. A lot of those users are now corporate users.
I don't expect these plebs to "get the hell out of the way", as you put it. I expect them to steamroller over anyone who gets in _their_ way, and that includes you and me. Those consumer adverts that trouble you are a symptom of this. It's happening.
Of course, a few of us will be fortunate enough to never have to use consumer products. There's a word for such people, and here's a definition (from the Collins English Gem Dictionary): n. the choice or select body; the pick of the best part of society; aristocracy.
I'm not denying that there's a difference between amateurs and professionals. I just don't believe that Lisp should be denied to anyone based on their _existing_ (lack of) skills. Ignorance can be corrected - it's only stupidity that will be a problem, and if we can write software of a high enough quality, should that not give us a competeitive edge over those who are less skilled?
If evolution _is_ possible, based on the survival of the fittest, then this should be enough for us. On the other hand, if survival has little to do with being the "fittest" (whatever that may mean), then perhaps we are just an elite, using Lisp simply because we can.
However, there's another way of looking at it. We could be interfering with "evolution" just as much as anyone else, when we choose Lisp. If so few people recognise the value of Lisp, then we're expressing our personal preferences by using Lisp. If that has no effect on the masses of consumers, it could be that we're either writing the wrong kind of software (apps that consumers don't want), or that there's another bias, working against software written in Lisp and causing such apps to "fails" (perhaps nothing more a C++ bigot trashing an app written in Lisp, in a so-called "review").
So, do we have evolvution by natural selection or by selective breeding based on the preferences of an elite? The "elite" could be us, but I could just as easily be refering to the elite who decide which tools their company will use/create/sell/etc. Perhaps the only difference is the amount of power that we wield, i.e the number of programmers/users that we directly influence/effect whenever we make a choice.
Bill Gates wields a great deal of this power, and his choice has been - in the past - Basic. Assuming that he made the choice to adopt C and then C++ as the _other_ main development tool at MS, we might pause to wonder how different history might have been if he'd been a fan of Lisp, instead of Basic. Alas, we'll never know.
I'm not sure that it's too late to undo the damage that has been done by Gates and MS, but I'm not yet ready to give up. Perhaps I have a vested interest, in that I like being employed. That's why I'm keen to find a way to use Lisp as part of my job. I have a much better chance of doing this than most programmers in my position, as I know what Lisp is capable of and I have an employer who is capable of appreciating it.
There may not be many programmees like me, but its hard to tell. You won't see any of my software on the shelves in a shop! Still, it's not all doom and gloom. We're there...and looking for a Lisp that gives us the same platform support that VB and VC++ already provide. _That's_ what Joe Sixpack wants, even when he wants to use Lisp.
Of course, if you think that Lisp shouldn't be used to write consumer software, then just say so. There's no need to slag off such people for being what they are. We'll understand you without the politics. -- <URL:http://www.wildcard.demon.co.uk/> You can never browse enough Martin Rodgers | Developer and Information Broker | London, UK Please remove the "nospam" if you want to email me. "Blow out the candles, HAL."
In article <joswig-ya023180001402972045130...@news.lavielle.com>,
jos...@lavielle.com (Rainer Joswig) wrote: > I still don't like the word "proprietary". Why is the SPARC > architecture not proprietary? MIPS? ALPHA?
Let's not get caught up with the word "proprietary." If you like, substitute "specialized," "Lisp-specific," "low-volume," or even "roll-your-own."
SPARC, MIPS and ALPHA did not exist in 1986. Sun was relatively low volume; they used the 68K rather than develop their own architecture (and they stayed with the 68K for three generations). It was only _after_ they became much higher volume (much higher than any Lisp machine) did they decide to move to SPARC.
In article <5e4lm3$...@agate.berkeley.edu>, b...@anarres.CS.Berkeley.EDU
(Brian Harvey) wrote: > But there is no iron law of consequences; otherwise Microsoft > (again) would have died when they adamantly insisted for some time > that the Internet was irrelevant. They overcame that wrong decision > through the inertia of power.
It is funny how it is possible to draw opposite conclusions from the same sequence of events. I see this as an example of how Microsoft has made _good_ decisions.
My take is that Microsoft showed great flexability in being able to both recognize their mistake and change course very quickly once the did. Certainly they did so in much less time than it took for IBM to realize that PC's weren't irrelevant (and with much less negative impact on the bottom line, so far).
> Again, I'm not arguing that Symbolics did everything right, or that > other choices couldn't have been more successful -- but my guess is > that different decisions wouldn't have had *much* effect.
Certainly spending less developing specialized (okay, I'll stop writing "proprietary") hardware would have had a big positive effect on their bottom line. As Symbolics (along with the rest of the Lisp industry) spiraled down into the financial toilet, they took many years of work by many very smart people with them.
* Cyber Surfer | The problem is that most people _are_ novices, and if you only write | software for the experts, then your market will be very small.
_all_ professional markets are small. I expect every professional to be an expert in his field. novices should go to school. experts have graduated and passed the equivalent of bar exams and review boards.
| Of course, a few of us will be fortunate enough to never have to use | consumer products.
what are you talking about? are you a professional in every field of your life? I only have time for one profession and dabbling in a few others.
I'm positively _delighted_ that I can buy consumer products so cheaply and so conveniently, but -- get this -- I'm not in the business of making microwave ovens or wine glasses or books or speakers, but I _do_ expect those who _are_ to have professional tools, so I can buy consumer goods inexpensively with moderately high quality. I don't _want_ Joe Blows' Homemade Microwave Oven, OK?
I want "programmer" to be a professional title, with all the expectations that come with it.
| I just don't believe that Lisp should be denied to anyone based on their | _existing_ (lack of) skills.
to ask a rhetorical question first: why not? I'm moderately skilled in the legal, medical, and veterinary professions, and I can discuss any issue I might want to understand more fully with professionals and students in these fields, but I hope I would be prosecuted if were to sell any such services to the general public. in contrast, any goddamn idiot can call himself a programmer.
I believe in professions. I really _like_ being able to trust my lawyer, my doctor, and my cat's vet. for that matter, I really _like_ to trust whoever approves the quality of the food I buy, too. but can I _trust_ somebody who calls himself a "programmer"?
I don't want to deny Lisp to anybody. you can buy a pack of scalpel blades and lots of medical equipment at well-stocked drugstores if not directly from the importer or vendor, but you don't become a doctor because you can buy his tools! neither does a surgeon get his tools from K-Mart.
| Of course, if you think that Lisp shouldn't be used to write consumer | software, then just say so. There's no need to slag off such people | for being what they are. We'll understand you without the politics.
christ! please try to listen to what I say, will you? I want quality languages to be used to write software _everywhere_, I just don't buy your bogus argument that if the consumer can't use those languages himself, then nobody else should be allowed to write in them, either. (at least that's the message I'm getting from you, and you have been repeating it for many months, now.)
tell you what. I receive some cast-away meat from dissections at my nearby veterinary school, and I have absolutely no problem with filling my fridge with dead animal parts. I enjoy studying the interior design of animals while I feed my cat with the meat. if you wade through my garbage, you'd find whole ribs, an assortment of bones, lots of animal skin, an occasional hoof, and a large number of used scalpel blades. I really hope you wouldn't come to me with a sick dog because of it, but that's the way many people approach programmers.
the fact that I can buy scalpel blades wholesale and that I can buy a whole lot of medical equipment and chemical compounds that could be used to kill people and leave very little trace of it if I were so inclined, suggests to me that I'm not in any way _denied_ access to the tools of the medical profession. this is how I want things to be for programming, too, but I want people who build our future society to be skilled at their work.
what makes me nervous about the future is that unskilled people who are as likely to kill or maim information as to heal it are entrusted with our past (i.e., accurate records), with critical information for decisions that affect lives and careers, and with all kinds of other information too difficult or too voluminous to let people handle directly. our society is totally dependent on the accuracy of its information. we entrust that accuracy to unskilled labor and household-grade tools. that would be like doing open heart surgery on your living-room table with only kitches utensils. (I use the proper medical equipment on the dead animals I get, because kitchen utensils aren't fit for the job at all.)
I'm considering having my cat sterilized. I have almost all the equipment I need to do the procedure at home, I know vaguely what to do, and I'm sure I could have her sterilized safely and painlessly given some other cats to experiment on first. however, I have only one cat, I don't think killing a lot of cats just to let me learn something somebody else already knows is a good idea, and I love this little animal, so I'm going to let a vet handle it. I think companies should think about their information with equal care, and leave the job to real professionals. unfortunately, Microsoft is trying to tell us that we should all sterilize our pets (or fix the heart problems of our parents) at home, with Microsoft kitchen utensils, which we know break at any inkling of pressure. I happen to think that _many_ more lives would depend on accurate information and fully operational and functional software systems than could ever be lost if we let quacks loose on the world, because people who wanted to live would have the brains to _demand_ the necessary means to ascertain the quality of those who could mess with their health, but they obviously _don't_ have the brains to even accept that programmers need to be accredited professionals.
: In article <330512CF.6...@acm.org>, sin...@acm.org wrote:
: > I think fundamentally, Lisp syntax is not natural for human being. It : > is elegant for computer or software to process, but not for real : > people. From grade school, you are taught 10 = 8 + 2, not 10 = (+ 8 : > 2).
: There's nothing wrong with 2+2, but when you get 13 different operators : and 15 different preference levels, most people's (except those of the dorks on : standards committees) eyes glaze over. If you also have _functional arguments_, : then infix notation completely breaks down. Parentheses, when accompanied : by an editor that understands pretty-printing, are extremely easy to parse, : both by machine and by eye.
: > From high school, you learn how to prove mathematical theorems procedually.
: I'm sorry, but most mathematics is recursive. I'm afraid you've been taught : math by someone whose brain has been fried by Basic and/or Fortran.
: > Basically, a procedural language is more "natural" than a symbolic one. : > When I taught Scheme in school, it takes a good 2 weeks just to get the : > recursive part into their heads.
: I've taught students both from 'iterative' and 'recursive' languages. Believe : me, recursive is better. Except for 10% who had already fried their brains : on microcomputer Basics, most students found recursive to be easier.
: > If it is less natural, it is less productive, statistically speaking. : > Companies lose using a less productive tool. It is a Darwinian : > selective process.
: It's more of an _inverse_ Darwinian process. The most productive programmers : die out, because managers and companies can't establish fiefdoms and empires : with only 1 or 2 programmers.
: Lisp would kill Microsoft, because then what would people need upgrades : and software support for?
With a mighty <33064930.648...@news.demon.co.uk>, ala...@abwillms.demon.co.uk wibbled into the void...
> If you've a PC, try the free DJGPP compiler and the RHIDE IDE. Based > on Borland's IDE, with syntax highlighting and three kinds of brace > mathcing - (), {}, []!
Thanks, but right now all my C++ development is done in MS Developer Studio and VC++. Perhaps if RHIDE can read the same docs as Developer Studio, it might be more interesting, but I can't change the compiler.
Eventually, I'll get around to reinstalling GNU C/C++. I've only just upgraded NT, and there's a whole list of software to reinstall.
Anyway, thanks. I'll take a look at RHIDE when I can. -- <URL:http://www.wildcard.demon.co.uk/> You can never browse enough Martin Rodgers | Developer and Information Broker | London, UK Please remove the "nospam" if you want to email me. "Blow out the candles, HAL."
With a mighty <3065132899827...@naggum.no>, e...@naggum.no wibbled into the void...
> _all_ professional markets are small. I expect every professional to be an > expert in his field. novices should go to school. experts have graduated > and passed the equivalent of bar exams and review boards.
Ideally, yes. In practice, this rarely happens. A lot of programmers will learn "on the job". While they may fail to qualify as "professional", by your definition, most people probably won't notice. That doesn't mean that I'm disagreeing with you, just pointing out that a great many others _might_. I gues nobody wants to admit that they employ "unprofessional" programmers, dispite the evidence to the contrary (bugs, crashes, etc).
I'd hesitate to call someone "unprofessional" for choosing C++, but not because I believe C++ to adequate. No, I simply acknowledge the necessity for programmers to work, the high degree of ignorance within this industry, and the inability of every programmer to do something about it. It might not be the programmers who are ignorant of the failings of C++, but the managers.
Not that I'd like to excuse anyone for the folly of choosing C++. I just note how hard it can be to convince non-programmers that C++ is the _wrong_ choice, when so many (marketing) people claim otherwise. The high availability of "C++ solutions" to common problems doesn't help much, either.
Perhaps addressing those same problem domains in Lisp could help tip the balance in favour of Lisp. I've already suggested adding support for ActiveX to Lisps for Windows, which would give those Lisps the same leverage as C++ - pick a component that does what you need, plug it into your app, and most of the job has been done.
> | Of course, a few of us will be fortunate enough to never have to use > | consumer products.
> what are you talking about? are you a professional in every field of your > life? I only have time for one profession and dabbling in a few others.
Did you not detect the irony in that statement? I guess not.
> I'm positively _delighted_ that I can buy consumer products so cheaply and > so conveniently, but -- get this -- I'm not in the business of making > microwave ovens or wine glasses or books or speakers, but I _do_ expect > those who _are_ to have professional tools, so I can buy consumer goods > inexpensively with moderately high quality. I don't _want_ Joe Blows' > Homemade Microwave Oven, OK?
Exactly. I totally agree with you.
> I want "programmer" to be a professional title, with all the expectations > that come with it.
Same here. We're just heavily outnumbered. The demand for code seems to "justify" the cowboy solutions, like C++. I'm totally disgusted by what's available, but consider why these solutions are so popular. They may not work well, but they _do_ work. Like the talking dog...
Sadly, that's "good enough" for most people. Esp if they have to pay more for a better product. Given a choice, the bean counters will choose a product that barely works, but is sold cheaper than anything else. Being "professional" has nothing to do with it.
> | I just don't believe that Lisp should be denied to anyone based on their > | _existing_ (lack of) skills.
> to ask a rhetorical question first: why not? I'm moderately skilled in the > legal, medical, and veterinary professions, and I can discuss any issue I > might want to understand more fully with professionals and students in > these fields, but I hope I would be prosecuted if were to sell any such > services to the general public. in contrast, any goddamn idiot can call > himself a programmer.
Lisp isn't a service, it's a tool. You might just as well demand to license programming, like doctoring. I'd be happy if this were so, but it's not. Instead, programmers are like car mechanics - who have a very dodgy reputation in the country where I live. Nobody likes it, but what do they do about it? So far, nothing like the fuss that gets made when a doctor makes mistake.
So, I agree with you! Make programming a professional career, complete with all the safeguards that apply to the medical profession. Then we might see a few programmers in court, for negligence.
> I believe in professions. I really _like_ being able to trust my lawyer, > my doctor, and my cat's vet. for that matter, I really _like_ to trust > whoever approves the quality of the food I buy, too. but can I _trust_ > somebody who calls himself a "programmer"?
The answer to that is, unfortunately, no. This is a general problem. As I said, it also applies to car mechanics - and cars have been known to kill a few people. A computer can be just as deadly, if it's given dangerous hardware to control, and then _trusted_. We're trusting the car mechanic and the programmer of the car's software not to screw up.
> I don't want to deny Lisp to anybody. you can buy a pack of scalpel blades > and lots of medical equipment at well-stocked drugstores if not directly > from the importer or vendor, but you don't become a doctor because you can > buy his tools! neither does a surgeon get his tools from K-Mart.
So, this has nothing to do with Lisp, specifically? A C++ is just as available, perhaps more so as it might well cost less money. This is about trusting someone in possesion of a tool, not the tool itself. I'm not sure that Lisp is any more or less safe or dangerous than any other programming language, in this respect. Lisp can help us avoid certain kinds of bugs, but no language can prevent a careless programmer from creating a bug.
This sounds like an argument for licensing the right call yourself a professional programmer, and I have no problem with that. Remember me saying that we were agreeing? I'm just unsure how we convince the world that this is worth doing, tho I might start by suggesting that everyone read the RISKS mailing list (digest in comp.risks).
> | Of course, if you think that Lisp shouldn't be used to write consumer > | software, then just say so. There's no need to slag off such people > | for being what they are. We'll understand you without the politics.
> christ! please try to listen to what I say, will you? I want quality > languages to be used to write software _everywhere_, I just don't buy your > bogus argument that if the consumer can't use those languages himself, then > nobody else should be allowed to write in them, either. (at least that's > the message I'm getting from you, and you have been repeating it for many > months, now.)
Thanks for clarifing your point of view. Please let me clarify _my_ point of view. I didn't say that "that if the consumer can't use those languages himself, then nobody else should be allowed to write in them, either." I'm simply interested in making quality tools available to anyone who wants them, and reducing the level of ignorance about such tools.
> what makes me nervous about the future is that unskilled people who are as > likely to kill or maim information as to heal it are entrusted with our > past (i.e., accurate records), with critical information for decisions that > affect lives and careers, and with all kinds of other information too > difficult or too voluminous to let people handle directly. our society is > totally dependent on the accuracy of its information. we entrust that > accuracy to unskilled labor and household-grade tools. that would be like > doing open heart surgery on your living-room table with only kitches > utensils. (I use the proper medical equipment on the dead animals I get, > because kitchen utensils aren't fit for the job at all.)
"Car mechanics - Don't let 'em touch your car!" Wouldn't it be great if people followed this advise? Of course, it won't happen soon. Instead, people will continue to grip and complain about shodding work, and yet still go back for more.
Y'see, I agree with you, Erik! This is why I'd like to see a Lisp targetted at the programmers who are currently using those shoddy tools, like VC++ and VB. Unfortunately, that may mean creating a Lisp that looks a little more like VC++ and VB, in the sense that it might use a similar IDE. This is the approach that Borland took with Delphi, but Pascal is barely any better than C++ or Basic. Imagine what we could do with a "Visual Lisp"? The idea may seem ugly, but it could be the way to get quality tools into the hands of these programmers.
However, the real problem is one of education. We have to convince people that being professional is worth it, and _then_ offer Lisp as a more professional tool for programming. What's the best way to do this? That may be debatable, but I like the idea of just writing software, creating apps, and then saying, "This is how I did it!" The answer that I get is "That won't do, it costs too much", but perhaps not everyone will be so unlucky. If you can avoid the bean counters, or find a Lisp that competes with C++ in terms of the purchase price (bean counters ignore the other costs, of course), then you may have a chance of using Lisp to write Windows software, i.e. consumer apps.
Alternately, just use a Mac and write code in MCL. -- <URL:http://www.wildcard.demon.co.uk/> You can never browse enough Martin Rodgers | Developer and Information Broker | London, UK Please remove the "nospam" if you want to email me. "Blow out the candles, HAL."
Sin-Yaw Wang <sin...@acm.org> writes: >Basically, a procedural language is more "natural" than a symbolic one.
Whoa there! Lisp *is* a procedural language! There have been *lots* of languages that are *both* symbolic *and* procedural. Lisp, Pop-2, SAIL, ..
>When I taught Scheme in school, it takes a good 2 weeks just to get the >recursive part into their heads.
Well, when teacher X teaches subject Y to students Z, any difficulties found *could* be due to - Z being dumb - Y being hard - X being a poor teacher - a heat wave that year - various combinations of the above... If the teacher thinks recursion is hard, the students will learn that recursion is hard. If the teacher thinks recursion is no big deal, and the students haven't been brainwashed by a bad teacher before, the students will learn that recursion is no big deal.
Scheme isn't the only recursive language in the world, you know. C has a "recursive part" too. So does PL/I. So does Fortran. So does Java. Where are the people doom-crying Java because it is recursive?
>If it is less natural, it is less productive, statistically speaking.
This is a mere assertion with no foundation whatsoever. If you want to speak statistically, provide statistics.
Face it: programming is not a natural art. We don't expect everyone to be a concert pianist. We don't expect everyone to be an Academy painter. We don't expect everyone to master tensor calculus (which isn't actually all that hard). If it comes to that, arguing soundly is not natural, and many people never learn the art. Predicate calculus is by *far* less natural than prefix syntax. There are quite a few VSO human languages, where "is-greater X than Y" is the way to go instead of the "unnatural" "X is-greater-than Y" (unnatural for _them_). You cannot be a good programmer without understanding the predicate calculus.
>Companies lose using a less productive tool. >It is a Darwinian selective process.
Hmm. Experiments have shown C to be substantially less productive than Ada. I would be thrilled to the very socks to hear that a Darwinian selective process was eliminating C in favour of Ada.
What matters to a company is not its productivity but its profits. This depends on - the difficulty of the tasks being undertaking - productivity - price of labour - what the product sells for - size of market. Productivity is only one of *many* factors. The continued survival of C and C++ demonstrates conclusively that "naturalness" of a language has very little to do with the survival of companies that use it.
*Connectivity* is more important than naturalness for many many programmers.
-- limits on the scope of cooperation are often due to the inability to recognise the identity or the acts of the other playes. --R.Axelrod Richard A. O'Keefe; http://www.cs.rmit.edu.au/%7Eok; RMIT Comp.Sci.
In article <Pine.LNX.3.91.970215050056.2872B-100...@sigil.wwe.net>, Teunis
Peters <snowl...@comfo.ca> wrote: > So, where do we start to make LISP a visible success?
Do work in some project that advances Lisp. There are a lot of people in the Scheme and CL community with interesting ideas/projects.
> Personally, I don't know. If proprietary projects are what caused LISP's > failure -- what other choices are there? I mean, following Common Lisp's > standard is a good place to start [but I'm primarily a VR programmer - > and there's naught for standard VR in LISP].
What is VR? "Virtual Reality"?
> I'm building a LISP engine... Both compiler/interpreter (actually - it > compiles dynamically dependant on available CPU cycles [sorta]). > I'm building it in C, 'cause I need a good assembly language and I don't > plan on only running it on an x86 processor.
> Is there some kind of SIMPLE place for me to start? Someplace > incremental to begin? (such as the original LISP engine). > - NOT written in LISP. I DON'T have a runnable LISP engine! > - well... okay, maybe. Just keep it small....
We already have enough Lisp implementations. Better start using an existing one (for example CMU CL) and work with that.
> I need information. I have NO access anywhere except online (am on > welfare basically - not fun). Any pointers would be appreciated.
Cyber is it you? Really? I'm comparing this to some older postings of yours.
> Some people still deny that Windows is the way to go. Well, I wish > they were right, but I'm not convinced that the choice is as simple as > "Unix or Windows". Unix and Windows can both work, and they can both > suck, depending on your experience. I wouldn't be at all suprised if > the same was true for Lisp machines.
It was/is.
> I've noticed that a lot of experienced Windows people will criticise > the MS "Bob" interface for being _too friendly_.
Bob was written in Lisp. ;-)
> > The Newton OS 2.0 has gotten very nice ratings > > by users and by the press. It is a proof that > > you can built an interesting system that > > is not foolishly redoing the mistakes of the past.
> I've not read as much as I'd like to, perhaps because I read the wrong > kind of magazines. Do you have a URL for a good overview?
Remember the inner workings of this OS should be *very* familiar to Lisp users.
> I recently discovered that the Tera assembler uses Scheme! Now that's > an unlikely combination, but I bet it's a very neat one. A little like > discovering that the connection machines used Lisp. It's too easy to > forget that supercomputing people don't just use Fortran/C/C++, but > sometimes choose a very different kind of tool.
Well for those who hunt for old pictures, I have put a scan (not very good, but you get the idea) of someone using a Lisp machine as a frontend to a Connection Machine cube on my pages: http://www.lavielle.com/~joswig/cm+lispm.jpg .
In article <jbs-1602971156360...@dial-sf1-6.iway.aimnet.com>, j...@quiotix.com (Jeffrey B. Siegal) wrote:
> In article <joswig-ya023180001402972045130...@news.lavielle.com>, > jos...@lavielle.com (Rainer Joswig) wrote:
> > I still don't like the word "proprietary". Why is the SPARC > > architecture not proprietary? MIPS? ALPHA?
> Let's not get caught up with the word "proprietary." If you like, > substitute "specialized," "Lisp-specific," "low-volume," or even > "roll-your-own."
> SPARC, MIPS and ALPHA did not exist in 1986. Sun was relatively low > volume; they used the 68K rather than develop their own architecture (and > they stayed with the 68K for three generations). It was only _after_ they > became much higher volume (much higher than any Lisp machine) did they > decide to move to SPARC.
Yeah, with a proprietary OS (Solaris) and proprietary software (OpenWindows, SunView, NeWS, NIS+, ...). It was specialized for running Unix/Solaris. I haven't seen that many other OS on these machines being sold.
SUNs idea was to make a standard (bitmap display, disk, VM, network adapter) workstation *relatively* cheap (the hardware that is). Symbolics failed to do that.
With a mighty <joswig-ya023180001702971420560...@news.lavielle.com>, jos...@lavielle.com wibbled into the void...
> > I've noticed that a lot of experienced Windows people will criticise > > the MS "Bob" interface for being _too friendly_.
> Bob was written in Lisp. ;-)
I'm not keen to point this out to C++ people, in case the "negative" aspects of Bob are associated with Lisp. That's not a good way to convert C++ people, in my experience.
This was what I was after. I found a few of your other links, but failed to find the mobile article. Thanks.
> > Now we should show what modern Lisp can do.
> Some people already are trying this.
> What is your contribution?
I'm still working on my Lisp to C compiler. Progress is slow because of various distractions, like sometimes writing C code for my employer. This week, I have some server code to re-write. I've no idea who else might use my compiler, as I'm ignoring code quality entirely, so that I can focus on supporting Win32 features. We'll see. -- <URL:http://www.wildcard.demon.co.uk/> You can never browse enough Martin Rodgers | Developer and Information Broker | London, UK Please remove the "nospam" if you want to email me. "Blow out the candles, HAL."
Henry Baker wrote: > In article <330512CF.6...@acm.org>, sin...@acm.org wrote: > > I think fundamentally, Lisp syntax is not natural for human being.
I don't read comp.lang.lisp, so I respond only to the comp.lang.scheme postings.
Why do we argue if this syntax is natural or not? This is silly. Go find a good sample of software engineers and ask them, "Is Lisp syntax and recursive thinking natural to you?" Tally the responses and you have the answer. No amount of argument will change that fact. (This seems like a good grad school project.)
I will place my bets on right now...
Gone are the days people (even professionals) change for computer. It is the time computer must become natural to people. Whether the syntax is mathematically beuatiful does not make it more natural.
I still assert that the more natural the syntax, the more productive your engineers. How can anyone dispute this fact?
* Sin-Yaw Wang | I still assert that the more natural the syntax, the more productive | your engineers. How can anyone dispute this fact?
because it is not a fact. please demonstrate how you came to believe this.
in my country, politicians try to have your kind of tallies to find out wether it is natural or reasonable (or any of those other "whatever I feel like" responses) that stock brokers should earn millions of dollars a year, and lo and behold! the general public is opposed to it. so now we're facing a proposal for a cap on stock brokers' earnings. (it won't win enough support -- after all, the fraction of politicians that are complete idiots in this country is still not big enough.)
speaking of fractions, a friend of mine is a math teacher. she says that the majority of the _adult_ population does not understand calculations with fractions. given a popular vote, fractions would also be removed from the curriculum of public education, like almost every other hard science or mathematical subject has been in what we call "Reform 94". it's intent is to make it possible for _all_ the kids out there to feel well about school, and learn only what's _natural_ to them. (it de-emphasizes the natural sciences to an alarming degree, and now they're doing away with every objective measure of a kid's improvement, too.)
I guess you're really in favor of dumbing down everything and everybody to the lowest common denominator (that's a term from the unnatural fractions).
I still think the human potential is largely untapped, and that if you argue about what's natural to the majority as a measure of what you will not allow _anybody_ to do, or that what's "natural" to the _uneducated_ as a measure of what people should not have to learn, you're going to destroy everything that _is_ natural to human beings: self-fulfilment, happiness, security, progress, and growth.
why don't you make a grad school project to determine how much money people should have in their bank accounts, too? and is it really _natural_ for the bank to own your house? do away with that, too! let the public vote on free houses!
#\Erik -- if you think big enough, you never have to do it
(quick warning beforehand - my mail setup is a LITTLE weird at the moment 'cause of HD space probs - so if ya WANNA reply, reply to snowl...@comfo.ca. It'll be easier :)
Nother quick warning: This is DEFINITELY not helping this 'holy war'. I'm trying to avoid any kind of flame at anyone in particular - so try not to take this personally. (most of my flames are self-directed anyways)
Oh, this is also a LONG message.... reader beware....
On 17 Feb 1997, Erik Naggum wrote:
> * Cyber Surfer > | The problem is that most people _are_ novices, and if you only write > | software for the experts, then your market will be very small.
> _all_ professional markets are small. I expect every professional to be an > expert in his field. novices should go to school. experts have graduated > and passed the equivalent of bar exams and review boards.
Yes. This is a VERY important point. I have MANY bones to pick with this (one being I would NEVER pass such a test - am completely broke. It is irrelevent that I almost never write buggy code and usually make it user-friendly (according to people who use it :).
But more importantly, my points: - Software is still in it's infancy; Consider it at a scientific point of ~14th century chemistry.... We have nothing TO standardise. (if it wasn't I wouldn't feel so bad about being 'unqualified') - There are no organizations to support this. Probably because of previous point, but the current failing government/education fields probably doesn't hurt. - Relating to medical profession is nice, but programming isn't that clean. We don't have a stable leg to stand on.... we'd all have to start fresh actually learning from prior experience rather than depending on previous work by unqualified people (aka Windows, for lack of a more appropriate example :) - We don't have any real experts. Just lots of people who either think they are or other people think they are. No board of experts. - No exam to qualify - what would be on it anyways?
FWIW - Talking about this in c.l.lisp or c.l.scheme is prolly a no-no, beyond that it impacts everyone present [lurker or not].
Anyone have any better comments? Just saying 'and so mote it be' is not an effective way of implementing change (normally) - so declaring 'let there be tests that qualify and boards of experts' won't do anything. Gotta be a way to make it happen (if it's actually worth doing).
> | Of course, a few of us will be fortunate enough to never have to use > | consumer products.
> what are you talking about? are you a professional in every field of your > life? I only have time for one profession and dabbling in a few others.
I like the comment earlier about this- 'aristocracy'.
I'm gonna add another one: 'poverty'..... I'm not quite to the point where I have to grow my own food.... (and I can still cover power bills)
I never use consumer products (or even see them) because they cost more than I can afford.
> I'm positively _delighted_ that I can buy consumer products so cheaply and > so conveniently, but -- get this -- I'm not in the business of making > microwave ovens or wine glasses or books or speakers, but I _do_ expect > those who _are_ to have professional tools, so I can buy consumer goods > inexpensively with moderately high quality. I don't _want_ Joe Blows' > Homemade Microwave Oven, OK?
I'll make them if necessary (though a microwave oven is NOT for home builders - unless ya wanna little self flash-cooking, eh? :)
And since when is professional high-quality anywhere outside the medical profession? (where quality is ensured by nasty laws and other unpleasant measures - not really by boards of doctors [that's a gross generalization - don't flame please :]. )
> | I just don't believe that Lisp should be denied to anyone based on their > | _existing_ (lack of) skills.
> to ask a rhetorical question first: why not? I'm moderately skilled in the > legal, medical, and veterinary professions, and I can discuss any issue I > might want to understand more fully with professionals and students in > these fields, but I hope I would be prosecuted if were to sell any such > services to the general public. in contrast, any goddamn idiot can call > himself a programmer.
I understand. I am an 'idiot' in many professions :) True capability is worthy of respect. Most programming is just how you look at things these days. True skill is yet to be seen. This is a 'science' in it's infancy - or a profession, if you prefer. FWIW software protection and information hiding is just slowing the growth of the profession. Not that it is a BAD thing, just that it is slowing things down.
> I don't want to deny Lisp to anybody. you can buy a pack of scalpel blades > and lots of medical equipment at well-stocked drugstores if not directly > from the importer or vendor, but you don't become a doctor because you can > buy his tools! neither does a surgeon get his tools from K-Mart.
I would LOVE too see programming tools at that level of quality. Not to mince too fine a point, but most tools I've seen (excepting a bit of the Lisp tool world) seem to be of the 'stone chisel' level. Some of the Lisp tools were the only surprise for me on that mark. Some of them are almost as advanced as 'iron chisels' :)
> what makes me nervous about the future is that unskilled people who are as > likely to kill or maim information as to heal it are entrusted with our > past (i.e., accurate records), with critical information for decisions that > affect lives and careers, and with all kinds of other information too > difficult or too voluminous to let people handle directly. our society is > totally dependent on the accuracy of its information. we entrust that > accuracy to unskilled labor and household-grade tools. that would be like > doing open heart surgery on your living-room table with only kitches > utensils. (I use the proper medical equipment on the dead animals I get, > because kitchen utensils aren't fit for the job at all.)
Where's the effective real-time OS? Waiting for stable tools, or being quietly written by people who ARE qualified. Who wants to trust a driveshaft (or nuclear reactor) to the vaguaries of a stable system like Windows? (sarcasm intented)
Erik Naggum <e...@naggum.no> writes: >* Teunis Peters >| (aside: I'm restricted at the moment to Linux+X11+no motif) >: >| I have LOTS of time on my hands (and no money... so don't recommend any >| commercial software, books, or anything involving money. I don't have >| any. Just a computer and lots of time). >: >| I'm building a LISP engine... Both compiler/interpreter (actually - it >| compiles dynamically dependant on available CPU cycles [sorta]). I'm >| building it in C, 'cause I need a good assembly language and I don't plan >| on only running it on an x86 processor. >you might wish to ask Franz, Inc, to send you their free personal use >licence to the already completed Allegro Common Lisp environment for Linux. >it will save you about two hundred years of programming time, and it's more >fun to write in Common Lisp than to write your own implementation, anyway. >I think it may need RedHat 4.0, but I don't know how compatible the >different distributions of Linux are.
Franz Allegro has a few Redhat dependencies in the installation script. Otherwise, you don't need much more than a running Linux kernel. I am even near to running it on FreeBSD.
Martin -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Martin_Craca...@wavehh.hanse.de http://cracauer.cons.org Fax.: +4940 5228536 "As far as I'm concerned, if something is so complicated that you can't ex- plain it in 10 seconds, then it's probably not worth knowing anyway"- Calvin
In article <33096B71.1...@acm.com>, sin...@acm.com wrote: > Why do we argue if this syntax is natural or not? This is silly. Go > find a good sample of software engineers and ask them, "Is Lisp syntax
^^^^^^^^^^^^^^^^^^
> and recursive thinking natural to you?" Tally the responses and you
^^^^^^^
> have the answer. No amount of argument will change that fact. (This > seems like a good grad school project.)
Bzzzt!! We we talking about students, and now you bring up 'SW engineers'. 'SW engineering' is a myth promulgated by Ada advocates who couldn't think of any other way to sell their dog language. There is also the highly charged question of what is 'natural'... I think that a great deal of ink has been spilled in vain by philosophers over this question...
> I will place my bets on right now...
> Gone are the days people (even professionals) change for computer. It
^^^^^^
> is the time computer must become natural to people. Whether the syntax
^^^^^^^
> is mathematically beuatiful does not make it more natural.
^^^^^^^^^^^^^^^^^^^^^^^^
> I still assert that the more natural the syntax, the more productive
^^^^^^^^^^
> your engineers. How can anyone dispute this fact?
^^^^
'Change' from what to what? Who is to say that infix is 'natural'? If you ask 3rd graders, I think you'd get a real diversity of opinion about this.
'Natural' is highly dependent on your context. I'm just guessing, but I suspect that you find Chinese characters more 'natural' than ASCII text.
'Mathematical beauty' and 'productivity' _do_ often go hand-in-hand. A system that can be taught faster and can do more will be more productive.
I don't think that there was ever any argument about whether Lisp was more productive (especially on Lisp machines). I think that the question was whether the productivity was worth the extra cost, and whether the result of this productivity could be delivered on low-cost platforms.
Sin-Yaw Wang <sin...@acm.com> writes: >Henry Baker wrote: >> In article <330512CF.6...@acm.org>, sin...@acm.org wrote: >> > I think fundamentally, Lisp syntax is not natural for human being. >I don't read comp.lang.lisp, so I respond only to the comp.lang.scheme >postings. >Why do we argue if this syntax is natural or not? This is silly. Go >find a good sample of software engineers and ask them, "Is Lisp syntax >and recursive thinking natural to you?" Tally the responses and you >have the answer. No amount of argument will change that fact. (This >seems like a good grad school project.)
Why do we argue if driving on the left is natural or not? This is silly. Go find a good sample of all of the drivers of the London Taxi Fleet and ask them "Is driving on the left natural to you?" Tally the responses and you have the answer. No amount of argument will change that fact. (This seems like a silly waste of bandwidth.)
>I will place my bets on right now...
Hmm...putting money on opionion polls...I though thats what election campaign contributions were for...
>Gone are the days people (even professionals) change for computer. It >is the time computer must become natural to people. Whether the syntax >is mathematically beuatiful does not make it more natural.
Absolutely! Well said! Here, Here!
Let me chime in and add my voice to the chant "Work harder, and not smarter." Keep that head a pounding and the brick wall WILL yield!
How can anyone expect someone to perform THE most natural feat of a human being: Learn, and adapt to its environment. What a shocking assumption.
>I still assert that the more natural the syntax, the more productive >your engineers. How can anyone dispute this fact?
Have you ever been in a design meeting? Here, people use their most natural syntax: shouting, finger pointing, opaque "charts and graphs", pre-concieved notions and petty little self-contained empires to protect. They aren't very productive at all.
861 (snowl...@comfo.caroot@comfo.ca) wrote: > - Software is still in it's infancy; Consider it at a scientific > point of ~14th century chemistry.... We have nothing TO standardise.
Well, I'd say there's quite a lot of good theory available; for many problems, the difficulty isn't that no applicable scientific background would exist, but that the production process tends to ignore theory, be it due to people not understanding much of it, or due to "external demands" being incompatible with responsible system construction.
What's much more important for most of Erik's criticism (which I share) than the lack of accumulated knowledge is the unwillingness or inability of many software designers/programmers to learn something such that the result isn't just a reproduction of several volumes of examples in the brain of the learner (dictionaries and reference manuals - particularly when managed by appropriate software - are better suited for it than a human's brain, and what's really frequently used will soon be remembered anyway), but also some insight into the learned topic, and some ability to notice when one's current competence is exceeded. Without such skills, a basic curiousity, and joy in exercising one's mental flexibility, I doubt that any amount of so-called "education" would help much. Good programming is also a lot like good literature - you can't judge it merely from inspecting the spelling, the grammatical patterns and a statistical distribution of words from a dictionary. It may be difficult to judge many important qualities objectively in typical educational environments, but this doesn't make them superfluous any more than the simplicity and formal verifyability of a train station's time table will transform it into a good piece of literature. For many programmers, the status quo is unfortunately more like creating a collage by cut-and-paste from the text parts of low-quality comics.
In article <33096B71.1...@acm.com>, Sin-Yaw Wang <sin...@acm.com> wrote:
>Henry Baker wrote: >> In article <330512CF.6...@acm.org>, sin...@acm.org wrote: >> > I think fundamentally, Lisp syntax is not natural for human being.
>I don't read comp.lang.lisp, so I respond only to the comp.lang.scheme >postings.
That's OK, I don't read comp.lang.scheme.
>Why do we argue if this syntax is natural or not? This is silly. Go >find a good sample of software engineers and ask them, "Is Lisp syntax >and recursive thinking natural to you?" Tally the responses and you >have the answer. No amount of argument will change that fact. (This >seems like a good grad school project.)
I'll tell you what you'll get: they'll tell you that whatever they use a lot is natural, and whatever they don't use a lot isn't. Since C and C++ is big right now in software engineering, the majority response will be that "C is natural" and "Lisp isn't natural". If you had done this about 1980 or so, the answer would have been that "COBOL is natural", and "Lisp and C aren't natural". If you want to find out what people find natural, you'll have to find people who haven't already learned programming, and therefore have no learned instincts. Try teaching half of them with Pascal and half with Scheme, and see who does better.
>I will place my bets on right now...
>Gone are the days people (even professionals) change for computer. It >is the time computer must become natural to people. Whether the syntax >is mathematically beuatiful does not make it more natural.
Aside from the fact that programming is a highly unnatural activity, programming languages and systems are still very inflexible and not intuitive, and require a lot of change in how people do things. I've heard rumors of Unix use here and there, and I think some people still work in MS-DOS. If you want something flexible and adaptable, you could do much worse than Lisp. You pretty much adopt one standard syntax, don't worry about the precedence of i + j << 2, don't have to remember that getchar() returns an int, and after that you don't have to change nearly as much; you simply reform the language.
>I still assert that the more natural the syntax, the more productive >your engineers. How can anyone dispute this fact?
Easy. What is natural? Engineers will be more productive working with something they're comfortable in, in general (although the few studies I've seen don't indicate a large effect here), but comfort can be attained by simple experience. How many of us are comfortable maneuvering a hunk of steel at 60 miles per hour (90 kph) with simple hand and foot controls? How many people are comfortable with while (*ch1++ = *ch2++);? Neither of these are natural, in any reasonable sense of the word.
Nor is there any evidence whatsoever that Lisp is less natural than C++. I'd argue the reverse, since Lisp has far fewer gotchas (do you know when exceptions might be thrown, and exactly how to keep the program in a constant state around them?). I know that C++ is more popular than Lisp, but I've never observed that popularity is dependent on nature.
-- David H. Thornley, known to the Wise as thorn...@cs.umn.edu O- Disclaimer: These are not the opinions of the University of Minnesota, its Regents, faculty, staff, students, or squirrels. Datclaimer: Well, maybe the squirrels. They're pretty smart.