People wait all week for friday,
all year for summer,
all life for happiness.

Finally, my project thesis is over. Over. Woooohoo! Now I can proceed with trying to get my diploma.

Well, the topic was strongly connected to program extraction from proofs. Which is a topic hardly in-between mathematics and computer science. One the one hand, it produces algorithms which can be verified from mathematical proofs, which makes it interesting for computer science. On the other hand, these proofs mainly have to be constructive, which gives interesting applications to constructive mathematics.

Both topics are rather niche-topics of both sciences, I didnt quite understand why, until now that I have prepared my report on that topic, which should show it to people not familiar with it. I thought the topic itself was rather trivial and the main efforts are taken in finding clever relations to increase the usability, but in fact, there is a lot of things to know and a lot of intuition to gain, until one can really work with it and see the beauty of all of it.

Which will probably never be done by "professional" programmers. It takes too long to explain the advantages, and its not "cheaper" to use, "beauty" is not interesting in IT.

Whats the future of programming? A question I often wonder about.

For example, my view may be very limited, but I see academic research getting into completely different directions than software engineering does.

One thing that one has to accept (I guess) is that there is no future for Lisp and its dialects as a language of wide-spread use. Scheme seems to me not to be a good choice for portable programming of large systems, and Common Lisp is too anachronistic in some senses, and still too "innovative" for the ordinary programmer which currently learns to accept some circumsized version of lambda-abstractions in C/C++.

Still, Lisps are good languages for doing research stuff, and I dont think that they will vanish. I think they will stay being what I think they are now: A niche for people who dont want to wait another century until its concepts finally find their way into the mainstream. I see program extraction from proofs having its future in the lisp-world, because it fits more into it than into others. You may have a type-system which is similar to functional languages rather than lisp, but the essential parts are the proofs which produce the algorithms - the program. Which is whats central to lisp rather than functional programming languages.

Then there are a lot of languages that are basically made for the laziness of people, exchanging programming complexity by computer power. I think of PHP and several other scripting languages. There is nothing wrong with this, as long as it stays small, but I am afraid it wont. I assume there will come a lot of fancy new such languages which basically do subsets of the stuff Common Lisp does (as they do today) but in a worse and slow way.

Since functional programming is so hardly pushed in universities, and direct formal program verification, i.e. not extracting the program from a proof but proving the correctness of a program, is something that is basically a lot easier under functional langugages, I think there will soon or later be some mainstream-language, and I am afraid Haskell will be this language. It has everything a hype needs: A lot of weird stuff only people who are really willing to get deeply into it can understand but still not being too complicated for an ordinary undergraduate student, a lot of special cases, especially in its syntax, with which people can do things in a way they can act up with their superior knowledge.

In the end, it will stay chaotic. As it is now. But in the end, its just programming. Who cares.