Saturday, March 07, 2009

Are we there yet?

Found an interesting project over there, but their wiki set me off a-ranting, and reminded me of some other blogs which got me a-thinking about languages, and if I can't rant here then WTF?

The interesting project is "enough", and their goal is to "design and implement the computing platform of the future"

Let's set up some points of agreement first (as in: if you don't agree with me on these, there's no point to you reading this, I'd recommend that instead)
  • No programming language is less ambiguous than natural language, because the former are all defined and standardised using the latter. People may often use natural language more sloppily, but they do that in the programming languages too!
  • The "most natural way to express" any idea is multi-paradigmatically. Outside of programming no-one ever expresses themselves using only objects, or only functions, or only ...
  • If "the best way to describe a system is the easiest for a programmer to use", then there can not be one best way to describe a system - apart from homework assignments.

Readability is the only problem. Enough code has already been written - the problem now is to understand enough of it in order to re-use the most relevant parts.


Maybe I've just been reading different books - but it seems to me the problems described on this page have more in common with the ideas of Chomsky, Jackendorf, Pinker, ... than Knuth, Wall, Fowler, ... Because the former group are much more aware of the fact that the real problem is *how people think*, not how they express themselves, nor how machines compute.

Unskilled users don't mind a bit of syntax. People have a natural ability to ignore the things they don't understand, that's how children learn to speak.
Surely also a programming platform can be inducted into ignorance of some superfluous ambiguity?

Labels: , , , , , , , ,

Tuesday, October 04, 2005

Why AI ?

AI is agitatingly interesting.

I just can't get it out of my head, it has such arresting implications, and actual implementations. But still has room for mailing lists full of tomes that start with "I believe ...".

Of course there is no such thing as "Artificial Intelligence", because there is no agreed definition of intelligence. Hence poor ol' Deep Blue takes on the champeen o de worl', beats him, and ... is not "intelligent" after all. And many algorithms will suffer the same applied ignominy as it turns out their solutions aren't "intelligent" after all. Like Jane in Michael Jackson's story.

All of which shall continue in the great world out there, but in here I am going to apply insights derived from the field to the more awkwardly immediate problem of PI - programming intelligence.

Why should PI be a more immediate problem than AI ? Because I need it daily, and the tools I have to work with are so fucking primitive. With one or two honourable exceptions, the tools I use for programming, are nothing to do with programming !

Ok, ok, caveats galore again - I do use compilers, and build systems, and debuggers, but for two out of these three I don't use them directly, they happen behind the curtain. And, now that I think of it - I haven't used a debugger in months. Not since I switched to Python.

So I can reasonably repeat - the tools I use for programming know nothing about programming.

Enhanced by Zemanta

Labels: , , , , , , , ,