Software Development

Correcting The Future

Addendum: 100 Year Language

I haven't written two entries in one day yet, but I have to correct myself on the last blog entry. I thought I'd go back and read an article posted by Paul Graham, a LISP programmer that has many articles on programming and creating startups. He's also creating is own dialect of LISP. You can find the article here 100 Year Language.

I said that no one mentioned anything about operators. Well, Paul Graham does in this article. I'll quote him now, but I recommend you read his entire article. There's good stuff in there.


Any programming language can be divided into two parts: some set of fundamental operators that play the role of axioms, and the rest of the language, which could in principle be written in terms of these fundamental operators.

I think the fundamental operators are the most important factor in a language's long term survival. The rest you can change. It's like the rule that in buying a house you should consider location first of all. Everything else you can fix later, but you can't fix the location.



This is the basis of most of my previous blog entry. This is the key. Also shocking, even though I had read the article a while back is the following:


Could a programming language go so far as to get rid of numbers as a fundamental data type? I ask this not so much as a serious question as as a way to play chicken with the future.



When I first read Paul's article, I went right by this. I never paid much attention to it. Only now that I'm trying out different ideas is this rather surprising. My programming environment does not have any fundamental data types. It has groupings, but they are not concrete constructs. Perhaps this is why LISP enjoys its use of lists. But also, I go a step further and do not have any operators of any kind.

The first quote makes reference that operators cannot be changed. My programming environment does not have any concept of operators. You can build them and there will be libraries supplied, but the language itself has no such notion. The operator is part of the source code rather than the language as it is in 100% of languages today.

Paul also mentions the necessity of macros. He's so close to the 100 Year Language as he puts it. It's as if he cannot see the forest for the trees. But he's the only one I've seen that has come this close. And I now see why he likes the list concept in LISP. It is the only concept ingrained in my new programming environment.

Anyhow, you should really read Paul Graham's articles. He has some interesting ideas.

Now that I've corrected myself, I'll probably find someone else who says the same thing about operators.

Creating Something Out of NothingToo Much Power

Write a comment

New comments have been disabled for this post.

June 2012
S M T W T F S
May 2012July 2012
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30