Slate Digest, Vol 15, Issue 6
Levente Meszaros
melevy at freemail.hu
Tue May 10 12:04:34 PDT 2005
> How many man hours does it take to write an office suite in C? How many
> in Slate?
> I'd like to think it'd take on the orders of magnitude less in Slate
> than in C. Now, one
> could reasonably assume a Slate version might, with reasonable levels of
> optimization
> that are standard for Java, be about twice as slow as the best C
> version, and consume
> twice as much memory.
This really makes sense I think, but let me say that we shall go even
further than that.
In conventional languages like C++ or Java (not even speaking of assambly)
you can not represent your problem domains in a way that is close enough to
your mind's abstraction level. Which is key if you think of a computing
system on the long term. There will always be changes and new requirements
and if you are programming (transforming) your ideas into a lower level of
abstraction, then you loose information. As time goes on it gets harder and
harder to do the reverse transformation to find out your orignial
abstractions. Personally I think documentation does not help this process as
much as people think.
In a nice utopia one could think of computing systems being able to
understand natural languages as programs if you will. I know it's a very
long way to get there (and probably we will all be dead way before), but
certainly we will not stick forever to assembly, C++, Java, and I think
(sorry guys ;-) but to slate as well. On the other hand I think slate and
languages like this are important steps. I find it very interesting that
artifical intelligence in the sense of acting like a human in many ways is
the best programming environment.
Think of an expert system (a kind of limited AI) for the problem domain of
computer programming. I think knowledge representation and composition
models close to our own abstractions in our minds might help much more than
any optimization.
Another big advantage of dynamism is being able to reuse programs,
components, whatever globally not locally. I think compiled code and the
absence of reflexivity and dynamism kills this idea.
levy
More information about the Slate
mailing list