Common Lisp and Schem are really different.
on
Practical Common Lisp
·
· Score: 5, Funny
Comon Lisp and Scheme are as different as programming languages can be.
Scheme can be said to be ontological attack against Lisp. It looks Lisp but is as far from Lispiness as you can and being still Lisplike.
Schemer: "Buddha is small, clean, and serious." Lispnik: "Buddha is big, has hairy armpits, and laughs." -- Nikodemus
Greenspun's Tenth Rule of Programming: "Any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp."
Common Lisp people seem to behave in a way that is akin to the Borg: they study the various new things that people do with interest and then find that it was eminently doable in Common Lisp all along and that they can use these new techniques if they think they need them. -- Erik Nagggum
More than anything else, I think it is the ability of Lisp programs to manipulate Lisp expressions that sets Lisp apart. And so no one who has not written a lot of macros is really in a position to compare Lisp to other languages. When I hear people complain about Lisp's parentheses, it sounds to my ears like someone saying:
"I tried one of those bananas, which you say are so delicious. The white part was ok, but the yellow part was very tough and tasted awful." -- Paul Graham
Lisp is about rising above implementation to saying something of lasting value. -- Kent Pitman
Pascal is for building pyramids -- imposing, breathtaking, static structures built by armies pushing heavy blocks into place. Lisp is for building organisms -- imposing, breathtaking, dynamic structures built by squads fitting fluctuating myriads of simpler organisms into place. - Alan J. Perils
Puns are pricey to have in the language becuase they lead to ambiguity but they are also a source of great expressional power, so we live withthem. People who don't like them should probably seek out Scheme, which tends to eschew puns, for better or worse. -- Kent M Pitman @ comp.lang.lisp
Q: How can you tell when you've reached Lisp Enlightenment? A: The parentheses disappear. LISP has survived for 21 years because it is an approximate local optimum in the space of programming languages. -- John McCarthy (1980)
``Lisp has jokingly been called "the most intelligent way to misuse a computer". I think that description is a great compliment because it transmits the full flavor of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts.'' -- "The Humble Programmer", E. Dijkstra, CACM, vol. 15, n. 10, 1972
Lisp is like a ball of mud--you can throw anything you want into it, and it's still Lisp".
Java was, as Gosling says in the first Java white paper, designed for average programmers. It's a perfectly legitimate goal to design a language for average programmers. (Or for that matter for small children, like Logo.) But is is also a legitimate, and very different, goal to design a language for good programmers. -- Paul Graham
> The continuing holier-than-thou attitude the average lisp programmer...
There are no average Lisp programmers. We are the Priesthood. Offerings of incense or cash will do.
-- Kenny Tilton at c.l.l
Dalinian: Lisp. Java. Which one sounds sexier? RevAaron: Definitely Lisp. Lisp conjures up images of hippy coders, drugs, sex, and rock & roll. Late nights at Berkeley, coding in Lisp fueled by LSD. Java evokes a vision of a stereotypical nerd, with no life or social skills.
In the Algol family, parentehses signal pain. In the Lisp family, they signal comfort. Since most people are highly emotional believers, even programmers, it is very hard for them to relinquish their beliefs in their associations of parentheses with pain and suffering. This has nothing to do with aesthetics, design rationales, ease of u
Zen and the Art of Archery was first book in the long line of books named "Zen and the Art of X". In fact this was the only book that had accurate name. It was about Zen and Archery.
Now! I have been practising zen many years (zazen meditation) and I know something about zen's history and I can think myself as an Zen Buddhist on even numbered days. I find this Zen and stuff quite funny (Zen is japanese for Chan which is chinece for Jahna which is sanskrit/pali term meaning meditative concentration). How many people actually know that Zen is actually form of Buddhism!
Zen is probably the most media sexy name any religion or spritual tradition has ever had. How many other religions do you know that have mp3 player named after it.
....The Strategic Air Command (SAC) in Omaha quietly decided to set the "locks" to all zeros in order to circumvent this safeguard. During the early to mid-1970s, during my stint as a Minuteman launch officer, they still had not been changed. Our launch checklist in fact instructed us, the firing crew, to double-check the locking panel in our underground launch bunker to ensure that no digits other than zero had been inadvertently dialed into the panel. SAC remained far less concerned about unauthorized launches than about the potential of these safeguards to interfere with the implementation of wartime launch orders. And so the "secret unlock code" during the height of the nuclear crises of the Cold War remained constant at OOOOOOOO....
Star Trek is The Bold and the Beautiful for the nerds.
There is some differences tough. I have seen good episodes in Star Trek. I haven't heard there is any in BnB.
Maybe they could make Star Trek miniserie every other year with only good episodes and not of that day to dayt crap. Or they could relax the format a little and ask Quentin Tarantino and others direct episodes like Ltn. Worf and planet of samurai swords.
Thanks for reference (computational capasity of universe). I have been thinking this.
For funny side of things. Now that we know that we
10E90 bits will be enough for everyone. 299 bits will be enough to address every bit in the universe. 296 bits if we want to access 8-bit bytes.
It also seems evident that universe wasn't compiled with full optimizations. There is no input or output so all this computation could have been optimized out. Let's have silent moment for this tought.
The leader of the open source implementation of.NET says no one is forced to use Mono
Good news.
R: Well, we mused, you could hardly expect The Beast to come up with a LISP machine, could you, ha ha? G: No, but they could have been more creative than that. -- www.theregister.co.uk interviewing James Gosling about C#
It's about making computer from model railway system where computation is expressed in trains moving along rail. Think about trains as bits and rails as wires. If it's Turing equivalent you can port Linux in it.
There now exists formalization of Occams razor: minimum description length principle. In very short summary: It can be shown that if there is two theories fitting the same data, the shorter has better probability of being right theory. Those of you who want to know the details can start from the wikipedia article above.
It works well in practice. Thre are many machine learning algorithms that utilize this theory.
Good architect will know how to choose tools to match the problem. (If you can't, either you are not educated or you are code slave)
Rule:
If you don't need to spend 5-10% of your development time to speed/size optimizing your program to make it useable, you are not using language/abstractions that is high level enough to your task.
Explanation:
If I use high level languge (say Haskell/OCaml/Clean/Common Lisp) and use all it's abstarction powers, program code will usually be 10-50% of the size compared to same program written in C/C++ (and Even Java). Now that X% (50-90%) of slack will take X% of development time and contain X% of the bugs. It will make the program much harder to change too. You can see that the 5-10% spent into optimization (you can even write the fast parts in C if you like) will pay.
If you don't belive, compare code of gnu-arch arch to darcs.
Both are similar version control systems.
If USA would really like to make cheap, reliable, CEV fast they should let Russia, China, Japan and EU in bidding (maybe India too).
China and russia have working and tested CEV:s already (think of it! space modules from USA, Russia and China have standard mutually compatiple docking mecanism already). If all earthlings work together we have moonlander in no time.
This should be done as commercial manner as possible (just business) One big main contractor (Boeing), modular desing and that could be done.
But of course this would be free competition and capitalism. Not good.
Many good points. It's good ui-desing to give another way to do same thing.
As I see it there is roughly three levels of mouse related sophistication:
mouse users with 1-button mouse,
mouse users with n-button mouse,
users without mouse (mostly Emacs users)
If you have good ui that gives users powerful configurable keybindings (like Emacs), that really speeds things up for powerusers.
Intresting thing is that trying to teach people to move from level 2 to level 3 is IMHO usually as difficult as from level 1 to level 2.
In both cases there are significant reasons to upgrade your ui-habits. It also seems that in both cases there is many weeks of hard training before benefits can be seen.
Games are better if you can't read well of course.
But otherwise this is total bullshit!!!
Look where many rich IT-millionaires put their kids. They go to those elite private schools where they use computers as little as possible. Even less than in your local city center ghetto. You have to write with a pen. Write a lot. Do things in your head in the old way. Hand held calculators are luxury.
Good education is when you learn to think. Sitting behind computer you learn to copy paste information. Not good.
... so it had to come up, and one of the least productive solutions, XML, won the day. I was there, at the conference table where the first thoughts that became XML surfaced. a few months earlier, I had proposed the need for a special marker for empty elements -- and then retracted that proposal because it led to new problems -- but guess what survived in XML!...
Attributes in XML are inherited from SGML and they were thingking markup for textual documents. When you want to represent data it being attribute or not is completely irrelevant.
Whether something is an attribute or element is _completely_ arbitrary. It is based on some arbitrary choices in the design process that reveal absolutely no inherent qualities. For purely pragmatic reasons, SGML folks will use attributes for some things and elements for others because their tools can deal with some things in attributes and some things in elements. The faulty idea that attributes say something "about" the element and sub-elements somehow constitute be their contents is the same premature structuring that premature optimization of code suffers from. The whole language is incredibly misdesigned in making that distinction.
... XML, being the single suckiest syntactic invention in the history of mankind, offers you several layers at which you can do exactly the same thing very differently, in fact so differently that it takes effort to see that they are even related.
<foo type="bar">zot</foo> actually defines three different views on the same thing: Whather what you are really after is foo, bar, or zot, depends on your application. XML is only a overly complex and otherwise meaningless exercise in syntactic noise around the message you want to send. Its notion of "structure" must be regarded as the same kind of useless baggage that come with language that have been designed by people who have completely failed to understand what syntax is all about. It is therefore a mistake to try to shoe-horn things into the "structure" that XML allows you to define.
In the abaove example, foo can be the application-level element, or it can be the syntax-level element and bar the application-level element. It is important to realize that SGML and XML offer a means to control only the generic identifier (foo) and their nesting, but that it is often important to use another attribute for the application. This was part of the reason for #FIXED in the attribute default specification and the purpose of omitting attributes from the actual tags. In my view, this is probably the only actually useful role that attributes can play, but there are other, much more elegant, ways to accomplish the same goal, but not within the SGML framework. Now, whether you use one of the parts of the markup, or use the contents of an element for your application is another design choice. The markup may only be useful for validation purposes, anyway.
The XML now contains all the syntax information of the "host" language. Many people think this is the _only_ granularity at which XML should be used, and they try to enforce as much structure as possible, which
The programming industry is the largest service industry pretending to be a manufacturing industry.
IBM makes it's money from hardware, consulting and services. What is better business idea than supporting and developing free software and then selling support and consulting. If your customers don't buy software they can spend that money to service and hw! Smart!
This is whre progress is going. For example Prof. David Patterson (inventor of RAID and first MISC instruction set computers) has been trying to do this many years. See IRAM
There is some practical problems.
Low yield. Failure rate grows with bigger chips. Makes them more expensive.
Harder to make. Different prosesses for making memory and logic (this has been done already of course).
Heat problem. It's easier to cool separaate chunks of prosessor, graphics processor and memory.
Upgrading. New usb spec, make new mask. Upgrade graphics prosessor, make new mask. New mask for every memory configuration. Uh.
We may get close eventually. Practicality may dictate that we end up with 1-3 chips per home PC. Maybe optical connections between.
My time estimate for this to happen is 10-30 years from now.
Comon Lisp and Scheme are as different as programming languages can be.
Scheme can be said to be ontological attack against Lisp. It looks Lisp but is as far from Lispiness as you can and being still Lisplike.
Schemer: "Buddha is small, clean, and serious."
Lispnik: "Buddha is big, has hairy armpits, and laughs."
-- Nikodemus
Greenspun's Tenth Rule of Programming:
"Any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp."
Common Lisp people seem to behave in a way that is akin to the Borg: they study the various new things that people do with interest and then find that it was eminently doable in Common Lisp all along and that they can use these new techniques if they think they need them.
-- Erik Nagggum
More than anything else, I think it is the ability of Lisp programs to manipulate Lisp expressions that sets Lisp apart. And so no one who has not written a lot of macros is really in a position to compare Lisp to other languages. When I hear people complain about Lisp's parentheses, it sounds to my ears like someone saying:
"I tried one of those bananas, which you say are so delicious.
The white part was ok, but the yellow part was very tough and tasted awful."
-- Paul Graham
Lisp is about rising above implementation to saying something of lasting
value. -- Kent Pitman
Pascal is for building pyramids -- imposing, breathtaking, static structures
built by armies pushing heavy blocks into place. Lisp is for building
organisms -- imposing, breathtaking, dynamic structures built by squads
fitting fluctuating myriads of simpler organisms into place.
- Alan J. Perils
Puns are pricey to have in the language becuase they lead to ambiguity
but they are also a source of great expressional power, so we live
withthem. People who don't like them should probably seek out Scheme,
which tends to eschew puns, for better or worse.
-- Kent M Pitman @ comp.lang.lisp
Q: How can you tell when you've reached Lisp Enlightenment?
A: The parentheses disappear.
LISP has survived for 21 years because it is an approximate local
optimum in the space of programming languages.
-- John McCarthy (1980)
``Lisp has jokingly been called "the most intelligent way to misuse a
computer". I think that description is a great compliment because it
transmits the full flavor of liberation: it has assisted a number of our
most gifted fellow humans in thinking previously impossible thoughts.''
-- "The Humble Programmer", E. Dijkstra, CACM, vol. 15, n. 10, 1972
Lisp is like a ball of mud--you can throw anything you want into it, and
it's still Lisp".
Java was, as Gosling says in the first Java white paper,
designed for average programmers. It's a perfectly
legitimate goal to design a language for average
programmers. (Or for that matter for small children, like
Logo.) But is is also a legitimate, and very different, goal
to design a language for good programmers.
-- Paul Graham
> The continuing holier-than-thou attitude the average lisp programmer...
There are no average Lisp programmers. We are the Priesthood. Offerings
of incense or cash will do.
-- Kenny Tilton at c.l.l
Dalinian: Lisp. Java. Which one sounds sexier?
RevAaron: Definitely Lisp. Lisp conjures up images of hippy coders,
drugs, sex, and rock & roll. Late nights at Berkeley, coding in Lisp
fueled by LSD. Java evokes a vision of a stereotypical nerd, with no
life or social skills.
In the Algol family, parentehses
signal pain. In the Lisp family, they signal comfort. Since most people are
highly emotional believers, even programmers, it is very hard for them to
relinquish their beliefs in their associations of parentheses with pain and
suffering. This has nothing to do with aesthetics, design rationales, ease
of u
Zen and the Art of Archery was first book in the long line of books named "Zen and the Art of X". In fact this was the only book that had accurate name. It was about Zen and Archery.
Now! I have been practising zen many years (zazen meditation) and I know something about zen's history and I can think myself as an Zen Buddhist on even numbered days. I find this Zen and stuff quite funny (Zen is japanese for Chan which is chinece for Jahna which is sanskrit/pali term meaning meditative concentration). How many people actually know that Zen is actually form of Buddhism!
Zen is probably the most media sexy name any religion or spritual tradition has ever had. How many other religions do you know that have mp3 player named after it.
Creative Mormon mp3 player just don't feel right.
http://www.cdi.org/blair/permissive-action-links.c fm
Whores work hard for their dual 2GHz G5's. Has anyone ever heard of whore who got brand new Apple machine without returning favors?
Or am I totally wrong and Torvalds really whored to get his toy? Huh. Who gave it?
Maybe they could make Star Trek miniserie every other year with only good episodes and not of that day to dayt crap. Or they could relax the format a little and ask Quentin Tarantino and others direct episodes like Ltn. Worf and planet of samurai swords.
For funny side of things. Now that we know that we 10E90 bits will be enough for everyone. 299 bits will be enough to address every bit in the universe. 296 bits if we want to access 8-bit bytes.
It also seems evident that universe wasn't compiled with full optimizations. There is no input or output so all this computation could have been optimized out. Let's have silent moment for this tought.
Good news.
It's about making computer from model railway system where computation is expressed in trains moving along rail. Think about trains as bits and rails as wires. If it's Turing equivalent you can port Linux in it.
Not wery practical.
I haven't been fortunate enough to find a computer that was more powerful than a sufficiently large finite-state machine.
It works well in practice. Thre are many machine learning algorithms that utilize this theory.
What changes they have against Apple? Price maybe? Then there is also Sony.
If you want trees and grass that don't grow you have plastic already. If you want nature have nature. If don't have asphalt.
I really would like to see software upgrade that makes Fiat Punto into Ferrari F430.
Rule:
If you don't need to spend 5-10% of your development time to speed/size optimizing your program to make it useable, you are not using language/abstractions that is high level enough to your task.
Explanation:
If I use high level languge (say Haskell/OCaml/Clean/Common Lisp) and use all it's abstarction powers, program code will usually be 10-50% of the size compared to same program written in C/C++ (and Even Java). Now that X% (50-90%) of slack will take X% of development time and contain X% of the bugs. It will make the program much harder to change too. You can see that the 5-10% spent into optimization (you can even write the fast parts in C if you like) will pay.
If you don't belive, compare code of gnu-arch arch to darcs. Both are similar version control systems.
... Duke Nukem Forever!
- infrared body temperature masurement
- Left Ventricular Assist Device (heart pump)
- The LORAD Stereo Guide Breast Biopsy System
- Tempur
- Tang
- Medical imaging technologies using digital imaging and processing techniques, such as MRI and CAT scans.
- Smoke detectors were first used in NASA's Skylab orbiting space station in 1973
- bar codes
- Lifeshear, a pyrotechnic-based cutting tool
- Cordless appliances were first used by Apollo astronauts to drill into the moon's surface and collect rock and soil samples
- Excimer laser technology.
Nasa spinoffs has moreChina and russia have working and tested CEV:s already (think of it! space modules from USA, Russia and China have standard mutually compatiple docking mecanism already). If all earthlings work together we have moonlander in no time.
This should be done as commercial manner as possible (just business) One big main contractor (Boeing), modular desing and that could be done.
But of course this would be free competition and capitalism. Not good.
iPod with shoulder speakers.
- mouse users with 1-button mouse,
- mouse users with n-button mouse,
- users without mouse (mostly Emacs users)
If you have good ui that gives users powerful configurable keybindings (like Emacs), that really speeds things up for powerusers.Intresting thing is that trying to teach people to move from level 2 to level 3 is IMHO usually as difficult as from level 1 to level 2.
In both cases there are significant reasons to upgrade your ui-habits. It also seems that in both cases there is many weeks of hard training before benefits can be seen.
When somebody is talking so high on Bush it seems it's ment to be ironic. But I'm not sure on this one.
But otherwise this is total bullshit!!!
Look where many rich IT-millionaires put their kids. They go to those elite private schools where they use computers as little as possible. Even less than in your local city center ghetto. You have to write with a pen. Write a lot. Do things in your head in the old way. Hand held calculators are luxury.
Good education is when you learn to think. Sitting behind computer you learn to copy paste information. Not good.
what is the opposite of living your life as if every day were your last?
Thanks, but no thanks.
form Re: Lisp syntax, what about resynchronization?
Attributes in XML are inherited from SGML and they were thingking markup for textual documents. When you want to represent data it being attribute or not is completely irrelevant.
Deep explanation: From:The horror that is XML
The programming industry is the largest service industry pretending to be a manufacturing industry.
IBM makes it's money from hardware, consulting and services. What is better business idea than supporting and developing free software and then selling support and consulting. If your customers don't buy software they can spend that money to service and hw! Smart!
There is some practical problems.
We may get close eventually. Practicality may dictate that we end up with 1-3 chips per home PC. Maybe optical connections between.
My time estimate for this to happen is 10-30 years from now.