Maverick programmer and venture capitalist Paul Graham is challenging all comers to beat him after finally releasing a working version of his Lisp update – called Arc.
Best known for his pioneering early 1990s work on web development and spam filters, Graham announced in 2001 he was working on an economic version of Lisp, one …

COMMENTS

Web Pioneers

LOL. There are sure a lot of "web pioneers" these days. I guess it's slightly better than "inventor of the internet".

LISP was an interesting piece of computer science, based on lambda calculus. Well based incorrectly until dynamic scoping was fixed, but that's an important cautionary lesson in computer science.

I was a fan of the language at one time (I wrote a fast interpreter for the VAX) but I would never recommend it anymore today. For serious programming projects, it just has too many notorious maintainabilty and readability problems.

LISP lost a lot of credibility in the 1980s when a very expensive VLSI design project was undertaken at a major research consortium in Texas. One of our department heads in Bell Labs research left to join them, but the project caved in and failed. The word spread that LISP was blamed for creating an unmanagable software engineering problem.

LISP is for weenies...

Forth?

Forth is the ultimate extensible language where you can modify the actual language syntax itself on the fly. I'm sure that with the appropriate massaging Forth could be made far tighter than Lisp or a Lisp derrivative.

For the strange

I remember learning LISP at University in the 80's, in those days LISP used to stand for Lots of Indecipherable Silly Parenthesises and created un-maintainable code even by those bad old days standards, that only the very seriously strange could understand (or seriously drunk but thats another student programming story ..........)

STILL a fan...

*Hmmph* Yet Another Language War. Programmers are religious fanatics when it comes to language selection.

What was that old chestnut? Oh yeah, "When C is your hammer, every problem looks like a thumb."

I use Common Lisp for most of my prototyping and proof-of-concept code regardless of what the final code is written in. It's a large language that supports most programming styles: functional, object oriented, etc. With a REPL, it's fairly quick to develop and debug with and being able to edit and compile individual functions on the fly while the code is running avoids a lot of the edit-save-compile-link-run that comes with other languages.

And no, I have no problem reading Lisp. Like any other bloody computer language it's just a matter of practice. Forth is more usually the one mislabeled 'write-only'.

The only problem maintainability-wise is finding Lisp programmers in a world of VB script kiddies.

Arc is more of a concept language right now, like the cars of the future you only see at conventions. It may go somewhere, who knows? It just seems to be lacking a lot right now...

@beachboy

Nearly all students write unmaintainable code - it's only when you've had to fix someone else's and felt the pain you realise what you need to do - before then it's just an abstract problem.

I've read his Ansi Lisp book, and you can get his other Lisp book - which is full of really good stuff - on-line. I like PG's stuff, he knows what he's talking about.

I make my living using Rails these days and a lot of the ideas are in Ruby (& Python) so I do wonder if there's any room in all honesty. But compared with Java I'd use almost anything else - the pain !!! arrrrggh !!! XML files full of incoherent crap !!!! Struts !!! (shudder)

Xkcd

Evolution is the problem...

The problem with ALL computer languages is developers just can't resist "enhancing" the language until the "improvements" raise the complexity past the sweet spot. With a computer language, often "less is more" but language syntax never gets refactored even as programs do. Perl for example, was a great language several revisions ago, but has now been horribly tainted by the "kitchen sink" mentality. The greatest advantage in a computer language is in the simplicity of its paradigm, but no computer language can sustain that simplicity for very long. And at another extreme, attempts to reduce to "bare essentials" invariably end up with something so rudimentary that it needs megabytes of library routines to become useful.

It's the nature of the beast, as technology is on the march and presents new challenges that so far, no programming paradigm has been able to forsee. Lisp and Forth were near-perfect at a time when the OS was crude or nonexistent, APL when baud rates were 300 or less, and C when good performance was based on knowledge of the resultant machine code generated by the compiler. But times have changed, and while attempts have been made to adapt languages with the times, the results have not been pretty...

Age of Hardware

Has anyone mentioned APL yet?

I took a (whirlwind tour of many) 'Programming Languages' course at university back around 1980 or so. At the same time I had a TRS-80 CoCo with several languages such as Basic, Logo, and Forth. This commentary is bringing back some good memories.

Oh God

As any competent programmer or systems analyst will tell you the clever bit is writing the algorithm -- once that's set in stone the actual language that it gets implemented with is irrelevant.

This has never been more true than today, where a loop in C++ is no longer any faster than a loop in VB or C# or LISP or anything else (apart from perhaps some forms of Assembler). Since all executable files are decompiled as they run into machine instructions and since all the software most people will ever be writing in their career will be aimed at WinDoze, UNIX or OSX it matters not a jot as long as they know what they're doing (sadly an assumption we can no longer take at face value).

“Mission critical” stuff (whatever way you care to define that) is never (or at least seldom) written in mainstream languages with mainstream constructs anyhow.

And with the overweaning insistence on the use of .net these days the chosen language really is totally irrelevant. The end result is an executable that will be as equally good or bad regardless of the language used to implement it.

Forth still has modern day derivatives -- PostScript is a descendent of Forth and is embedded in every PostScript printer.

LISP is still used by its adherents but most know that what they do could be done equally if not better using something else. The reason that there is no universal programming language is laziness. Most people know what they like and stick to it.

Coals to Newcastle....?!:-)

"As any competent programmer or systems analyst will tell you the clever bit is writing the algorithm -- once that's set in stone the actual language that it gets implemented with is irrelevant" ...

And that clever bit will not need to be written down, Greg, especially whenever "Mission Critical"?

I agree with your post.although I would say that there is a universal programming language but it is stealthy, which some might say would be to stay healthy but it is really only looking for the right form of simple words easily transcribed into any language/embedded into every brain/supersubconsciously.

Work in AI Progress, Greg, at least IT is in Magical Mystery Turing Fields.