joeganley.com — "I wanted to get a feel for just how powerful JavaScript is as a programming language, so I sat down one evening and wrote this. It turns out that it was quite good for this application, since it is so flexible - dynamically sized arrays are used throughout, and associative arrays make the symbol table quite easy."
Jun 17, 2006 View in Crawl 4
roguemanJun 17, 2006
If you mean most languages are Turing-equivalent, that's true. But there is a great difference in power. You can't really compare Basic to C++, it's obvious which is more powerful. One uses goto, the other OOP :) Lisp is actually pretty powerful, more then c++ for instance. In the beginning of programming there were two languages: lisp and fortran. Fortran was built thinking about the computer: how to write the compiler, how to optimize the code etc. And so have most languages since. Lisp was written for the programmers, to be the ideal language to write code in. So ideal that in the beginning it was not really usable in practical applications. In the last 40 years it became much more usable, but while keeping its status as top-of-the-line language. Garbage collections wasn't invented by java or c#... it was in lisp in the 80s. It's object oriented mechanism makes the inheritance-based we work with look laughable... and on top of this you don't even really need OOP in lisp. The downside.. it's not easy to learn. Yes, the syntax is a lot simpler then anything else, but to get past the basics and write big useful code takes some time. I've been working on it on and off for some months, but its worth it.
yahoofromJun 17, 2006
So what is the point? A proof that JavaScript can do all Lisp can do?
rjnerdJun 17, 2006
I have to concur. I developed products in lisp, faster, and with smaller development teams than competitors using conventional languages. We developed a very good and complete IC cad system (schematic capture, simulation, IC layout (with automatic device generation), design rule checking, and an analog aware router (one that understood things like kelvin connecting grounds), with a total development effort of 15 man years. The competition had compareable resources on its build scripts alone.
Closed AccountJun 17, 2006
Lisp is a gay language.
farrelljJun 18, 2006
So when does RMS port EMACS to it? :-)Then you can:-Read mail-Do math-Emulate vi-Create Databases-Check Spelling-Encrypt email with PGP-Java Development Environent-Apply "diffs" to files-And even surf the web in text mode...from within EMACS ported to Javascript LISP in a Firefox Webrowser!Did I mention I sometimes get a bit silly at times?BTW, RMS Rocks!ttyl Farrell
whatsagoodnameJun 18, 2006
zephc:Lisp syntax isn't about writing a lisp parser easily. In fact, it isn't easy to write a lisp parser (a full one, not this javascript thing). Lisp syntax is about making lisp macros possible. Lisp's list operations can be applied to fragments of lisp code in the expansion of the macro.Lisp macros allow you to "build the language toward your problem" That is, create concise syntactic constructs that capture the essence of what you are trying to achieve with the program. Other languages will eventually have everything else that lisp has, a powerful OO and meta-object protocol etc. But anything that makes writing macros as easy as lisp will probably look much like lisp syntactically.
rjnerdJun 18, 2006
Lisp only needs a very small set of operations to be "native". The rest you build in lisp itself. One of the really powerful things about the language, is that anything you write "looks like lisp". In more conventional languages, a function call looks nothing like an infix operator.This is called the "ball of mud" effect -- you start with a small ball, and glom on more mud. The result is bigger, but you can't tell the original from an addition. Do that for almost 50 years, and you get a really big ball. Makes the language very powerful, expressive, and possesing a truly steep learning curve.