Wednesday, January 30, 2008
Gee, another Lisp written in Lisp
It looks like Paul Graham's new language Arc has been released (link via lemonodor). I was reading over the announcement when I saw this:
In exploratory programming, the fact that it's unclear what a list represents is an advantage, because you yourself are unclear about what type of program you're trying to write. The most important thing is not to constrain the evolution of your ideas. So the less you commit yourself in writing to what your data structures represent, the better.
What is it with programmers?
Did I not get the memo?
Are programmers incapable of thinking when writing code? Or is thinking a form of premature optimization?
I'm beginning to think mainstream programmers must think that thinking is a form of premature optimization, because they sure as hell go out of their way to keep from thinking when writing code.
I then read:
Arc embodies a similarly unPC attitude to HTML. The predefined libraries just do everything with tables. Why? Because Arc is tuned for exploratory programming, and the W3C-approved way of doing things represents the opposite spirit.
Tables are the lists of html [sic]. The W3C doesn't like you to use tables to do more than display tabular data because then it's unclear what a table cell means. But this sort of ambiguity is not always an error. It might be an accurate reflection of the programmer's state of mind. In exploratory programming, the programmer is by definition unsure what the program represents.
And any interest I might have had in looking at Arc goes sailing out the window.
I'm currently working on a PHP application (we're pretty much taking it
over since it's no longer being supported by anyone) and I've been ripping
out all the
<TABLE> based layout and replacing it with
much simpler HTML, with
CSS for layouts. It's
making the PHP code much easier to deal with.
Hmm … perhaps I don't understand what “exploratory programming” means. Perhaps it's randomly typing on the keyboard when you have a vaugue idea that you want a program, never mind what it does, just that you want one? Or perhaps it's doing the work of a compiler and checking data types at run time by hand? Or perhaps they like micromanaging code?
I don't know.
Even worse—Arc only supports ASCII. In the 70s? Okay. 80s? Sure. 90s? Maybe for legacy code. But today?
Supporting just ASCII
Yup. To me, that says Paul Graham is a muddleheaded thinker.
Update a few minutes later
Yup, seems like some other people find HTML plus CSS easier to deal with than a
<TABLE> based layout.