Hi,
first of all, let me briefly introduce myself. I worked four years on
a medium-sized open-source operating system called Haiku
(http://haiku-os.org), first as a C++ developer for the network stack.
Later I began to hate coding, became responsible for the website (&bug
tracker), other non-coding areas (e.g., usability, Google Summer of
Code, community issues, ...). My main interest is how to make
computers easier to use (I try to learn interaction design and new
interaction concepts in my little spare time). I'm highly frustrated
with software being so complicated to use and my main motivation is to
change that. VPRI sounds like a perfect match.
Am I correct in my assumption that you want to basically create a much
more powerful Squeak/eToys (at least, the website gave me the
impression)?
This might seem like a stupid question, but what will this project
offer to make a programmer more productive? I mean, did you study
where code is wasted on "hacking" and what particular concepts will be
provided that make it easy to describe algorithms, formats, etc.?
I like that you want to integrate parsing into the language because
IMHO a lot of code is wasted on transformations between different
formats. What I didn't see, yet, is a way to create a bijective
description of a data format. For example, it could be possible to
describe a network protocol with a combination of the data format and
a finite state machine (hopefully visually instead of as text) or it
could be possible to describe a file format somehow such that you can
work with a compact and correct code base when describing the
corresponding algorithms. I hope that it's possible to compile
efficient code from such specifications. Is something like that
possible or even planned, at all?
I have the impression that, in general, a lot of code is wasted on
processing data. There is no direct way to specify intentions. I don't
know how to describe it. There's lots of resource management code
everywhere (add/remove/list/find/lock/unlock) and lots of correctness
checking which is repeated everywhere (instead of specifying that in
an array 0 <= index < length, for example). These contribute almost
nothing to specifying your intentions. Maybe what we need is a simple
way to transform data into different representations such that the
algorithms can always operate on the most appropriate representation.
Something is conceptually wrong and I don't yet have an idea what it
is, but from reading on your website (separating intention from
optimization, etc.) I guess you do. Could you please elaborate? (if
you are allowed to do so :)
Something else that I think we should finally get rid of: developers
currently have to agree on their code style, but why can't the editor
automatically style their code correctly? Underneath, there would only
be the AST and you can use a plugin to get the code style of your
choice. When you type a line of code it automatically gets wrapped on
multiple lines. Press enter to finish the instruction, so no
instruction terminator (';','.') needed. You just concentrate on the
code, not its look. Time is wasted on removing unnecessary whitespace
and programmers seem to constantly clean up code because it doesn't
comply to the style guidelines (I've seen lots of commits in Haiku ala
"style cleanup").
Anything that distracts you from the actual goals is waste, so why
don't we eliminate all waste?
Anyway, I have a strong desire to make programming and computers
easier and I could definitely need an efficient programming language
to finally implement my ideas without having to code many long years.
That's why I would like to help where and when I can (not with code,
but mostly with creating a good interaction model and UI). Let me know
if you're interested.
Bye,
Waldemar Kornewald
_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc