< In article <36218368.347796...@news.newsguy.com>, trashcan@david- < steuber.com (David Steuber "The Interloper") says... < < > When a program editor can show me syntax errors as I type them or find < > expressions for me, that makes my job easier. I can think more about < > the program than the task of code entry. < < I usually find errors by compiling and running the code. No editor can < tell me about errors not caught by the compiler or me checking the < runtime behaviour of the code I've just written. < < This is true for every language that I've used, so perhaps it says < something about the kind of code I write! YMMV, but I find that an editor < that does little more than matching of parens is good enough for me. < Curiously, most non-Lisp editors fail to do this.
I think it's a combination of tools that help most in reducing the silly bugs I make. For me it's auto-indentation, completion, deliminator matching, and an interpreter that can evaluate the code while I'm typing it. Dunno about an app-wizard. It sounds like it would be nice if it were merged into the emacs customize facility though (have it write elisp code rather than custom stuff that way you _don't_ have to edit it).
On 09 Oct 1998 16:55:35 +0000, Erik Naggum <e...@naggum.no> claimed or asked:
% I honestly think you should forget making money on free software, and % regard it as luck if it happens. the very concept is basically flawed: % masses of people will never pay for support, but they _will_ pay more for % upgrades than for the original product, which might as well come for % free. quality software does not sell in volumes, and free software is % generally high quality software.
Well, I have no expectation of making any money. Just a weak hope. For the project I am working on, I am my own client, so there are no issues there :-).
I would get a great deal of satisfaction if I am successful at releasing a product that people like to use. Whether I make a dime off of it is entirely secondary. I certainly wouldn't expect students, teachers, or other non-commercial users to want to pay anything, so I won't even ask. Commercial users may be another story.
However, I am putting the cart before the horse here. I should actually publish something before I worry about such hypothetical details.
On 09 Oct 1998 09:31:06 +0000, Erik Naggum <e...@naggum.no> claimed or asked:
% magazines, instead. I don't know anybody who doesn't think this was a % high prize to pay to change course, but life is too long to want to be an % expert in C++.)
Life is too long? I've never heard that one before :-)
C++ has lost a lot of its appeal to me as well. The language has become exceedingly complicated.
Common Lisp looks a bit scary too. I am hoping that is because it is a new language to me. In all my life of speaking one language, English, I haven't mastered it to the point where I could write for a living. For some reason, programming is more forgiving and I can do that for a living.
Will I ever master Lisp? I doubt it. I may be able to write useful programs in it though.
On Fri, 09 Oct 1998 17:39:20 GMT, Reini Urban <rur...@sbox.tu-graz.ac.at> claimed or asked:
% i you want to go the precise way use assembler. if you want to do lisp % use generalisation and abstraction. % forcing people to express themselves more precisely may loose one % important aspect of communication: associations on ambiguities. which % has to something do with learning.
But what happens when I ask a question in plain English, and the question it self is nonsense to everyone else? It is my responsibility to get the other person to hear what I thought I said, and not what I said.
How many legitimate interpretations are there for the following phrase?
"The answer, my friend, is blowing in the wind."
Then of course there is the old saw about the English to Russian and Russian to English machine translator. It took the phrase
"The spirit is strong, but the flesh is weak."
and translated it to Russian. Then it was translated back and came out like so
"The vodka is good, but the meat is rotten."
So when I as if Lisp is more concise, what does that really mean? I thought I was clear with the question. Obviously I wasn't.
On Fri, 9 Oct 1998 19:50:21 GMT, Kent M Pitman <pit...@world.std.com> wrote:
>i agree ambiguity is an immesnely important aspect of language, to the >point where i think scheme in its zeal to be minimalist loses some >important "opportunities" for ambiguity by defining them to be bad.
>[e.g., the whole designator concept costs very little to implement and >execute, and it saves a great deal of explicit coercion. it can be >trivially optimized if the performance impact turns out to matter by >just doing either type inferencing or declaration processing. it >causes a modest implementor burden and consolidates certain coercion >all in one place (perhaps even shrinking code size because of the lack >of explicit coercion) rather than distributing it.]
>so don't count me in the anti-ambiguity camp, regardless of how the >ambiguity of my "forcing" anyone to be unambiguous makes it look.
That sounds ambiguous to me :-).
>on the other hand, i don't think ambiguity for no good reason is a >good thing. ambiguity is your friend when what you want to exprss >is in fact ambiguous--that is, when you are mirroring a real-world >ambiguity. ambiguity is not your friend when you are saying >something that is intended to have specific meaning but your >ambiguity arises not out of a desire to be vague but out of a lack >of command of language, or out of a lack of willingness to spend >time being precise about what you DO know. so there is soemtimes >a case against ambiguity.
That latter bit seems to me to be a problem.
Ambiguity is *not* your friend when you're not sure which parts are necessarily ambiguous, and which parts are unknowns that are going to bite you later.
Scheme tries to do the "going back to first principles" thing so as to explictly shake out ambiguities, and I suppose that it's fair to suggest that the attempt to *eradicate* ambiguity may go too far.
I'd suggest that it's ambiguous whether it is preferable to: a) Attempt to eradicate ambiguity, and thereby risk dilemna when ambiguity is inherent to a system, or
b) Try to explicitly cope with ambiguity, thus risking that there are things that you only *think* are ambiguous.
And then there's the Lone Ranger...
-- When confronted by a difficult problem, solve it by reducing it to the question, "How would the Lone Ranger handle this?" cbbro...@hex.net- <http//www.hex.net/~cbbrowne/lsf.html>
cbbro...@news.hex.net (Christopher Browne) writes: > I'd suggest that it's ambiguous whether it is preferable to: > a) Attempt to eradicate ambiguity, and thereby risk dilemna when > ambiguity is inherent to a system, or
> b) Try to explicitly cope with ambiguity, thus risking that there are > things that you only *think* are ambiguous.
I have no problem with this "tension". The thing that bugs me about Scheme is that it's never a fight between "their way" and "our way". It's always a fight between "their right to assert theirs is the only way" and "our right to assert our way has a place, even if not a uniquely determined place".
"Obviously", ambiguity is sometimes bad. I had tried to pick a middle of the road presentation that said it is at least sometimes good, sometimes bad, and sometimes in a gray middle area.
I just tire of people in the Scheme community--not all Schemers, but enough to wear me down--using "Common Lisp" as synonymous with "the obvious work of the devil", and "CL-like" as synonymous with "hedonistic depravity of the most sinful and immoral kind". I probably come across as anti-Scheme, but really I'm not. Sometimes I just have to speak strongly on matters related to it not to put it down, but to prop up the things I see in my camp that they've given such a bad name.
I've been lately in the "everything is an analogy to the Clinton situation" mode, and this is no exception. The right-wingers are enjoying a certain smugness because they think they're "right" (pardon the pun) on this matter. But really the problem is more that the right-wingers have a certain simple model that is easy to articulate, and it's easy to confuse the ability to articulate and chant a certain simplistic (and perhaps even useful) view with the fact of being uniquely right. What the right-wingers have failed to recognize, because the left-wingers have failed to articulate it, is that there IS a morality which drives people to say that Clinton has done nothing wrong. It is not as simple as an abandonment of all that is good to say one is behind Clinton. What the left-wingers are doing, I think, is rejecting simple platitudes like "lies are always wrong" because, among other things, they think "lies are always wrong" is a useful lie, but is itself a lie, and therefore is itself a proof that the maxim is not universal.
Back to Scheme and ambiguity--it is easy to develop a theory of simplicity and elegance that tells you Scheme is right and everything else is wrong. What's hard to do is to prove that theory of simplicity and elegance is uniquely righteous. I personally happen to value simplicity of programmatic expression over simplicity of language, and I believe the two are in natural tension. To me, it's not important that the language is complex if it leads to simpler programs. To a Schemer, that's horrifying--and I think the price they pay for it is more complex programs than CL has.
But what's really sad is that one thing the Scheme community HAS done is invest in articulating its viewpoint, and the CL community has not really done that to the same extent. More often, we just grin and bear it when they take potshots at our language for what they say are inelegances. Lazy declarations is one. Multiple syntaxes for the same thing is another. Ambiguity (in the form of many pre-defined argument type coercions) is another. All of these things are "features" in my book. Not in the sense of being always the best thing--but in the sense of having been put ther out of an engineering belief that they'll be good enough of the time to make it worthwhile.
So if you see me push back at what may appear to be no specific criticism, it's usually that vague etherial sense that through faiulre to be just as militant as the Scheme people about these issues that are indeed part of our design methodology, people forget that there are reasons and start to believe the oft-chanted tommyrot about how CL is not a language designed by people who thought hard about issues and who valued elegance and all of that.
The CL designers value elegance as much as anyone. But they are somewhat pluralistic about the nature of elegance, and so there are conflicting theories. They also value other things that are not just elegance, like practicality. And so the elegance is sometimes mixed in with other aspects, and something you don't always see.
Since I was little, I've been a collector. Stamps, coins, and various odd idiosyncratic things. Sometimes I notice I collect things and don't even use them because my sense of "elegance" requires me not to use something lest I ruin its collector's value. Other times, I actively fight this and insist there is no purpose in owning and appreciating something if you don't actually use it. There's probably some truth in both of those. But CL and Scheme seem to me to fit by analogy into the same framework. Scheme seems to me like a language that has never really made its way out there to real things because it's so concerned with being pretty that it avoids adding useful stuff it really needs. CL was willing to add the useful things, even if it ment getting nicks, scratches, etc. from the use.
I have no idea if anyone but me thinks these are even related topics that I'm hopping between. Sorry--it's just how my mind works. Ambiguity is a tool upon which important structure is built. Like puns. Though sometimes considered low humor intellectually, puns are structurally pretty interesting. And a great deal of clever programming uses punning. (Whether "clever" programming is to be sought or merely tolerated or actively shunned I'll leave for another day. But I think the world would be sadder if there were no such cleverness in programming or in humor or whatever....) Maybe that helps link it all up for you, or maybe it just makes it muddier. But eithe way, I'll stop here before I appear to drift further afield.
Kent M Pitman <pit...@world.std.com> wrote: +--------------- | I remember some Ziggy cartoon, I think it was, that said something to | the effect of "never underestimate the power of being lazy. you can | bet power steering wasn't invented by an exercise freak." +---------------
Also see Robert Heinlein's short story "The Lazy, Lazy Man"...
----- Rob Warnock, 8L-855 r...@sgi.com Applied Networking http://reality.sgi.com/rpw3/ Silicon Graphics, Inc. Phone: 650-933-1673 2011 N. Shoreline Blvd. FAX: 650-964-0811 Mountain View, CA 94043 PP-ASEL-IA
... > All lies. Guile is the singlemost best designed lisp-like language. It compiles > from C source on all decent operating systems and can be easily extended with > wrappers over system libraries. GNU people only produce the best possible > software, unlike non-GNU people.
> Pardon me for using this newsgroup as a sounding board for some > questions / doubts in my mind about Lisp.
> alias Common Lisp Lisp ... > -- > David Steuber (ver 1.31.1b) > http://www.david-steuber.com > To reply by e-mail, replace trashcan with david.
> When the long night comes, return to the end of the beginning. > --- Kosh (???? - 2261 AD) Babylon-5
> "Where do you want to go tomorrow?" --- KDE tool tip
That is the standard attitude on lisp, and it was formed when the professors who taught the current generation of programmers last looked at it. Say, around Lisp 1.5.
At that time it was basically correct to say "Lisp was a general purpose language only in the sense that a Turing machine is." Lisp was a purely interpretive language in a day when every cpu cycle cost $$ and lisp programs took lots of RAM in a day when 32K was a HUGE computer (of course that was 36-bit words, not bytes).
Today, perhaps, things are a bit different. C++ programs use Megabytes of space on the hard disk. For that matter, so do full-color pixel images. Lisp comes with a built-in garbage collector, while C programs regularly die for lack of proper memory management.
I'm a pre-novice in Lisp, so I can't really tell you all that you want. I am an expert in C, intermediate in Java, intermediate in C++, post-intermediate in VisualBasic, novice in Ada, expert in Fortran 60, intermediate in Snobol (expired), etc. Most languages can do most things. All have certain things that they are best at. If you want direct control over the hardware, use C, and drop into assembler for small pieces when you need to. If you need to create object bindings dynamically, use a dynamic language (currently, this seems to be limited to Lisp and Smalltalk [that's why I'm studing lisp]). etc.
I see no reason that Lisp shouldn't work fine as a language for implementing a browser, just be sure that you can call foreign functions in case there's something lisp can't handle (What? [As I said, I'm pre-novice]).
* Charles Hixson <charleshi...@earthlink.net> | (They [Franz Inc] don't seem to mention prices on their web site, curious | eh?).
not really -- it has legal repercussions to quote prices in publicly available material, _and_ several companies that advertise on the Net and elsewhere would rather you call them based on product interest rather than price.
e.g., I still (occasionally) order pizza at special offer prices because they forgot to include important legal phrases like "prices subject to change without notice" and "offer valid through ..." on flyers that they left _millions_ of at the University of Oslo campus in the fall of 1988.
* Charles Hixson <charleshi...@earthlink.net> | That is the standard attitude on lisp, and it was formed when the | professors who taught the current generation of programmers last looked | at it. Say, around Lisp 1.5. | | At that time it was basically correct to say "Lisp was a general purpose | language only in the sense that a Turing machine is." Lisp was a purely | interpretive language in a day when every cpu cycle cost $$ and lisp | programs took lots of RAM in a day when 32K was a HUGE computer (of | course that was 36-bit words, not bytes).
LISP 1.5 Programmer's Manual, ISBN 0-262-13011-4.
Table of Contents:
... APPENDIX B The LISP Interpreter APPENDIX C The LISP Assembly Program (LAP) APPENDIX D The LSIP Compiler ...
date of publication: 1962-08-17.
it cost USD 8.95 when I bought my copy at the MIT Book Store a few years ago. you're advised to read it before you make claims about LISP 1.5.
> Also see Robert Heinlein's short story "The Lazy, Lazy Man"...
I don't know that one. Do you mean "The tale of the man who was too lazy to fail"? To expand a bit on my signature:
I don't think Dave thought of himself as an "efficiency expert" but every job he ever held he simplified. His successor always had less work to do then his predecessor. That his successor usually reorganized his job again to make three times as much work -- and require three times as many subordinates -- says little about Dave's oddity other than by contrast. Some people are ants by nature; they have to work even when it's useless. Few people have a talent for constructive laziness.
-- Lieven Marchand <m...@bewoner.dma.be> --------------------------------------------------------------------------- --- Few people have a talent for constructive laziness. -- Lazarus Long
On Sun, 11 Oct 1998 12:45:37 -0700, Charles Hixson <charleshi...@earthlink.net> claimed or asked:
% images. Lisp comes with a built-in garbage collector, while C programs % regularly die for lack of proper memory management.
Isn't Linux a C program? Well, about 10% is assembler...
I am looking at Lisp for two reasons. One is that the language offers an entirely different way of thinking about programs over C and its legacy. The other is that it seems like it may actually be the most suitable language for a project I want to do.
The project, as I've said before, is an extensible 3D animation modeler program that uses Lisp (or a subset) as a file format. Normally, C++ would have been my first choice in implementation languages. A year ago, I couldn't have imagined that there would be an alternative to C++.
The only two books I've read on AI had examples in Lisp. Every book I've looked at on Lisp starts out by saying that Lisp is the most powerful computer language ever devised by mankind.
People I've asked at work who have used Lisp and C++ generally preferred Lisp.
There must be something to this language. Ok, it isn't a mainstream language. In fact, it seems to be one of the obscure languages that if you asked a VB programmer about it, he would say, "never heard of it." But since when is a language a popularity contest? Most people are idiots. So popularity can't be used to judge the technical merits of something.
It comes down to individual choice, I imagine. I am not a language bigot. I will use what ever will get the job done with the least amount of effort on my part. I typically don't lump learning a new language into the effort equation. That would cause me to stick with only one language. I'm sure I can do everything in C++, but that doesn't make it the "One True Language."
The other major consideration is this. What is a computer programming language for? It is a way to allow the human to express a program in a way that is closer to human style thinking than machine style thinking. Based on this, what makes a good programming language is something that makes it as easy as possible to express a program in some form that can be translated into what the machine can process.
Because of that human thinking portion of the equation, computer languages will probably always be the subject of religious wars. Well, at least until the computers don't need us anymore.
* trash...@david-steuber.com (David Steuber "The Interloper") | There must be something to this language. Ok, it isn't a mainstream | language. In fact, it seems to be one of the obscure languages that if | you asked a VB programmer about it, he would say, "never heard of it."
I would argue that there _are_ no mainstream programming languages, only mainstream applications, with their attendant languages. in other words, you don't choose VB, you choose some Microsoft product that has VB in it. you don't choose C, you choose Unix. you don't choose C++, you choose Windows. you didn't choose Pascal, you chose a Macintosh. all of these inferior languages are chosen as _adjuncts_ to something else. Common Lisp is the first programming language I have chosen in its own right.
| The other major consideration is this. What is a computer programming | language for? It is a way to allow the human to express a program in a | way that is closer to human style thinking than machine style thinking. | Based on this, what makes a good programming language is something that | makes it as easy as possible to express a program in some form that can | be translated into what the machine can process. | | Because of that human thinking portion of the equation, computer | languages will probably always be the subject of religious wars.
as long as you keep thinking in religious terms, your understanding of rationally founded emotive responses will be seriously restricted. act as if religion and organized irrationality does not exist, and try to see the reasoning behind what you previously labeled "religious". _lots_ of interesting properties of human thinking will reveal themselves.
+--------------- | Rob Warnock <r...@rigden.engr.sgi.com> wrote: | >Also see Robert Heinlein's short story "The Lazy, Lazy Man"... | | Eh? I thought I'd read everything of RAH's, but this doesn't strike | a bell. Are you referrring to "The Tale of the Man Who Was too Lazy | to Fail" in _Time_Enough_for_Love_? +---------------
Could be, and if so, I apologize for the mangled reference. (I can't easily check right now since my copy of "Time Enough For Love" is in a box in the garage -- I know, I know, for shame!)
In any case [to bring this back to Lisp], the potential for a significant tradeoff between "thinking" and "working" is one of the things I like about Lisp (and Scheme). It sometimes seems to me that design in the presence of a decent macro system involves a kind of search for a minimum of effort: if you don't think enough, you "work stupid", and if you think *too* much up front, you never finish. But somewhere in between...
[p.s. Apologies in advance: Email'd replies may get a "vacation" bounce message while I'm on sabbatical...]
----- Rob Warnock, 8L-855 r...@sgi.com Applied Networking http://reality.sgi.com/rpw3/ Silicon Graphics, Inc. Phone: 650-933-1673 2011 N. Shoreline Blvd. FAX: 650-964-0811 Mountain View, CA 94043 PP-ASEL-IA
* Martin Rodgers wrote: > Performance today is not too meaningful, as it looks like the Guile > people intend to eventually replace the SCM core with a bytecoded design. > Check the archives for the Guile mailing list for details. Meanwhile, how > fast does a script engine need to be?
As fast as perl +/- a bit. Certainly faster than, say, scsh is (this is a property of scheme 48 not scsh itself I think). It also needs to start very very fast if it is to be accepted.
On 12 Oct 1998 06:51:30 +0000, Erik Naggum <e...@naggum.no> claimed or asked:
% as long as you keep thinking in religious terms, your understanding of % rationally founded emotive responses will be seriously restricted. act % as if religion and organized irrationality does not exist, and try to see % the reasoning behind what you previously labeled "religious". _lots_ of % interesting properties of human thinking will reveal themselves.
If you have the time, peruse some of the advocacy groups. comp.lang.java.advocacy is a good one. You will find lots of fanaticism and flame wars.
* trash...@david-steuber.com (David Steuber "The Interloper") | If you have the time, peruse some of the advocacy groups. | comp.lang.java.advocacy is a good one. You will find lots of | fanaticism and flame wars.
I don't need any more _examples_ of apparent or obvious irrationality. it is because of what I have seen already that I wonder why some people engage in it and still think they are rational and want others to believe that they are. as long as you brand it as "religious" or "fanaticism" or other such labels that communicate "there is nothing that can or should be understood here", you will obviously never understand them, either.
the other issue that I'm interested in, in this regard, is why certain cultural "pockets" forbid emotive responses in what they want to label "rational behavior". such must be the most repressive and destructive cultures around: given that people _are_ emotional beings, too, there's no wonder so many feel free to _become_ irrational if they feel strongly about something, even if they arrived at it rationally.
my point is simply that there is something to be understood from people who engage in "advocacy" and the like. I'm not quite sure what, but I have long since dismissed the arrogant idea that there is _nothing_ to learn from them. ironically, all the evidence suggests that those who refuse to listen are the _least_ rational, because they don't even know or recognize their _own_ emotive responses, and least of all do they realize that the conclusion that somebody is "rational" is fundamentally an emotive response, decided long before you actually hear what they say.
(of course, I'm not talking about the mentally ill -- they might even appear rational from an adaptation and survival instinct perspective.)
Sorry for the aside....RE: #:Erik :-) I have access to a snobol program (my wife is an english professor) that analysis written material. The analysis returns statistics regarding 1). the intellect [my word choice not theirs] of the author 2). the education [my word choice not theirs] level of the intended reader 3). several notes on pattern complexity 4). if all submitted works were written by the same author 5) on and on and on......The point - my wife run nine postings by #:Erik through the program -
Summary: [in my words not program output]
all nine were written by a post graduate author for an intended readership of -off the high end of the scale-. The notes on pattern complexity were all pegged out. [range was from 1 to 10, with 10 high]
The question I must ask is not do have I the intellect or poor work ethic, which every the Philosophy thread decided it took, to be a good lisp programmer, but do I have the IQ to read #:Erik's postings :)
> I don't need any more _examples_ of apparent or obvious irrationality. > it is because of what I have seen already that I wonder why some people > engage in it and still think they are rational and want others to believe > that they are. as long as you brand it as "religious" or "fanaticism" or > other such labels that communicate "there is nothing that can or should > be understood here", you will obviously never understand them, either.
> the other issue that I'm interested in, in this regard, is why certain > cultural "pockets" forbid emotive responses in what they want to label > "rational behavior". such must be the most repressive and destructive > cultures around: given that people _are_ emotional beings, too, there's > no wonder so many feel free to _become_ irrational if they feel strongly > about something, even if they arrived at it rationally.
> my point is simply that there is something to be understood from people > who engage in "advocacy" and the like. I'm not quite sure what, but I > have long since dismissed the arrogant idea that there is _nothing_ to > learn from them. ironically, all the evidence suggests that those who > refuse to listen are the _least_ rational, because they don't even know > or recognize their _own_ emotive responses, and least of all do they > realize that the conclusion that somebody is "rational" is fundamentally > an emotive response, decided long before you actually hear what they say.
> (of course, I'm not talking about the mentally ill -- they might even > appear rational from an adaptation and survival instinct perspective.)