On 6/15/2011 6:30 AM, Dethe Elza wrote:
On 2011-06-15, at 3:22 AM, BGB wrote:
and, meanwhile, recent output has been net negative...
Nothing wrong with that, we learn to write better, tighter code and get rid of
the old cruft. Some of the best code I've seen has been written with the delete
key...
a lot of it in my case seems to be factoring things out.
say, one replaces a big glob of code with a function call (the function
then does the same task). then the big glob of code becomes an "#if 0
... #endif" block (this has happened a lot in my script VM recently,
there are a large number of these blocks).
then generally, sometime later, this "#if 0" block ends up being removed
(once the code is confirmed no-longer-useful).
it seems that recently this factor has been outweighing the addition of
new code.
in some other cases, some partially redundant systems (doing nearly the
same thing in slightly different ways, or via a different interface)
have been effectively merged, ...
the partial result (after removing 150 kloc of GPL code, dropping
project size to around 1.05Mloc or so) was then my project going from
around 1.05Mloc down to about 750 kloc (in approx 6 months).
so, a shrinkage of around 300 kloc in 6 months or so...
granted, there is some room for error here (I have better things to do
than accurately catalog then when and where of the removal of code, or
to keep a running log of the total project kloc at various moments in
time). I just occasionally re-run line counters, and see what I see.
a mystery though is how generally "off putting" the school experience can be to
people...
I generally remember these years of my life to be just plain dismal (I really
don't know how people can find much enjoyment in all this...).
Don't get me started on how bad school can be for turning kids off from
learning. No mystery to it, helping kids learn just really isn't part of what
schools were designed for, despite using that as a story to sell them to the
public.
fair enough...
for those of us without much of a social life, and not personally all
that motivated by grades, ..., there is really not a lot to find
enjoyable in all this.
One more point that is more on topic: Using the Scratch block-based visual
programming, I saw that an eight year old was able to download, read,
understand, and modify successfully (i.e., make the changes he
desired/anticipated) pretty much any code he found on the Scratch site. Not too
many languages I can say that for, even with adults. Not all of that can be
attributed to the visual nature -- Scratch is also very tightly constrained and
the limits can aid understanding too, as well as picking the right abstractions
to represent with blocks, but it was impressive and I think the fact that the
blocks show visually the structure and behaviour (sets of blocks tied to a
specific sprite, blocks highlight as they are run) of the program does help
considerably in being able to read, understand, and maintain someone else's
code.
In fact, I'm interested enough in the block structure visualization that I've
been porting just the blocks, without the Scratch semantics and runtime, to the
web. You can use scratch-like blocks to write and output any language, provided
a language plugin. As a demonstration, I'm writing a language plugin for
Javascript (plus Raphael, for graphics) and Martyn Eggleton is working on a
plugin for writing Arduino code. It is still early days, very alpha, but if
anyone is interested there is more here:
https://github.com/dethe/waterbear/wiki [info]
https://github.com/dethe/waterbear/ [code]
https://waterbearlang.com/ [Javascript demo]
http://stretch.deedah.org/waterbear/ [Arduino demo]
I've been meaning to share this with the group here, but wanting to get it
roughed in a bit more, but here it is in all its half-baked glory. Feedback
highly appreciated.
fair enough, I will leave the above here, but don't have much time to
look at or comment on it at the moment.
_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc