Why are you reading this book, Map? Btw, have you considered doctoral studies in linguistics? Good questions. Bad thing, they are intermixed so tightly I do not know where to start. They form a semantic ring, and text has a linear structure -- one needs to start somewhere, and where to start is too arbitrary a decision for my taste.
Anyway, this will be my 5000th post and I am going to do my best to make it as meaningless as possible.
Why am I reading this book. One possible answer: this can be asked about any book I am reading, and I need to read something anyway, so I am reading this book. Another possible answer was given by Mikhail Epstein: "my brain knows what it needs" -- this was said to justify his own random reading list. Of course, Mikhail Epstein is not a programmer but a philosopher and literary man, so what would you expect... Yet another answer bring us to the next question:
"doctoral studies in linguistics" -- Michael Ernest was there and had to seek an intellectual asylum in RMI, so you can imagine how boring "doctoral studies in linguistics" are, if somebody could choose RMI instead.
Seriously, my mode of thinking is right the opposite to what doctoral studies require: I am making circles wider and wider, and doctoral studies make them narrower, like a kite who noticed a victim and is ready to swoop... One of admittedly arbitrary extensions of the G�del theorem is that any system can be explained and understood only in terms of an encompassing and embracing system -- hence my widening circles. What are these encompassing and embracing systems for programming? Predicate logic, set theory, lambda-calculus etc. from one side. Linguistics from another. I would name
philosophy as an abstraction building activity on the third side, but I am not sure if there is anything philosophy can say besides what logic and linguistics already said. I am done with "Symbol, Status and Personality", by the way, and I am finishing "Understanding Semantics" and I can tell, all programming "language games" (aka UML or XML) are only a pale copy of what semantics can achieve.
To seek explanations is one motivation, another is to seek justification. I read "A Mathematician's Apology" by G.H.Hardy and wondered why would a world class mathematician undertake a task to provide justification for mathematics? He notices "I propose to put forward an apology for mathematics; and I may be told that it needs none", only to write later "I shall ask, then, why is it really worth while to make a serious study of mathematics?"
There is some humility in seeking justification for what was an essence of one's life.
Let's admit it, programming is a second-class intellectual activity, with a few exceptions. It's a caricature on mathematics, because it leaves a realm of pure abstractions and goes to the dirt of "real world", and it goes there with bad intellectual equipment -- or what else do you think is a meta-message of "bug lists", "bug databases" or whatever we call it...
More important, programming is a second-class intellectual activity because it is
unimportant.
"A chess problem is genuine mathematics, but it is in some way 'trivial' mathematics. However ingenious and intricate, however original and surprising the moves, there is something essential lacking. Chess problems are
unimportant. The best mathematics is
serious as well as beautiful - 'important' if you like <...>
I am not thinking of the 'practical' consequences of mathematics. <...> if a chess problem is, in the crude sense, 'useless', then that is equally true of most of the best mathematics; that very little of mathematics is useful practically, and that little is comparatively dull. The 'seriousness' of a mathematical theorem lies not in its practical consequences, which are usually negligible, but in the
significance of the mathematical ideas which it connects."
G.H.Hardy. "A Mathematician's Apology".
Programming isn't even chess, it's more akin to building a toy railroad...
But programming is a caricature of linguistics too, because it relies on degenerate languages, formal and dry, freed of anything that makes natural languages alive. With programming you cannot say anything original or significant, simply because your language lacks expressive power and ultimately leaves you silent.
So programming isn't rigorous enough an activity to be considered a legitimate branch of math, and it is too rigorous and formal to be considered of any interest for linguistics. The only consolation is it's a better philosophy than philosophy, because it
has to run, and it's a better religion than religion, because
you are a God and
you create your own Universe, too bad I developed interest in neither philosophy nor religion.
[ November 01, 2002: Message edited by: Mapraputa Is ]