Very interesting email, worth a post somewhere.

2013/4/17 Esteban Lorenzano <esteba...@gmail.com>

> Hi,
>
> On Apr 17, 2013, at 11:23 AM, kilon <theki...@yahoo.co.uk> wrote:
>
> > Anyway, my only objection is the fact that we will have twice the code to
> > maintain and more to worry about.
>
> let me explain this little thing a bit...
>
> Do you think that code doesn't need to be maintained and taken care how it
> is right now?
>
> I will draw you a picture of how it works this now
>
> /----------------------------------------------\
> | "Pretended wonderland" (image) |
> ===========================
> | Lots of things: I/O, FFI, etc.             |
> -----------------------------------------------
> | Virtual Machine (Cog, Stack, Int)  |
> \----------------------------------------------/
>
> This is your world right now. You work on "pretended wonderland" side,
> assuming that everything below will work and hence you "don't need" to
> maintain what is below wonderland, isn't?
>
> Well, wrong.
>
> Everything need to be maintained. What you do not see too (you do not see
> it, but it is there, oh yes).
> The difference is:
>
> - in wonderland, everybody can try to fix things (even id they fail, it is
> there to play/change/adapt)
> - in levels below, there are just a few people on earth who actually can
> maintain that: Igor, myself and some others, but is for sure less than ten
> people.
> In fact, what happens now is that I have to maintain not two, but three
> different versions of the same thing (for each platform), in two different
> languages (C and Objective-C) and three different sets of libraries. And
>  yes, I "personalize" and use the "I" instead "we" because most of the
> times is me, with some really valuable from Igor and Camillo (but well,
> they do Athens and a PhD respectively, so many times is just a
> one-man-work).
>
> So, what actually happens now is that problems stack waiting for a
> solution, a solution which btw will never be of total satisfaction of users.
> As an example, let's see the display plugin (which of course is not a
> plugin at all, if you remove that from vm, it stops to work).
>
> Display plugin is based in BitBlt, who creates/transforms bitmaps and
> renders them into screen.
> Forget about 2D vectorial graphics (or any thing that can bebefict of
> using of GPU).
> This technology is obsolete and retina displays on mac prove that: there
> is no way to do it work fine (that means: good rendering and good
> performance).
>
> So we need to change that.
>
> How to do it? There are two basic approaches possible:
> The traditional one says that some "gurus" should write a new plugin
> (ideally backward compatible with the previous one). Then you have an
> updated plugin (and probably a perfect one, if you don't want to maintain
> it), until next time technology changes and then the gurus can be summoned
> again to do their magic.
> As you can see, since our community of potential gurus is (with luck) ten
> persons in the world, that does not scales at all.
>
> Then it is our approach: move to the image all the things that can be
> moved. Then you will have this:
>
> /----------------------------------------------\
> | "Pretended wonderland"                 |
> -----------------------------------------------
> | Abstract system layer in image      |
> | (that most of people will never       |
> | see anyway)                                      |
> ===========================
> | Virtual Machine (Cog, Stack, Int)   |
> \----------------------------------------------/
>
> With NativeBoost we can achieve same performance that we achieve using
> plain C.
> And we have an incredible huge extra bonus: it is there so everybody can
> try to modify/fix/update if needed, not just the gurus.
> And we also have much more advantages to show: this is moving also the low
> level programing to "pharo way", and as I showed in my silly videos, is
> bring the "immediate feedback" experience also to that level (something
> that you could never achieve with older way of thinking)
> And finally... been in image does not need that you will need to deal with
> that. How many of you know of the internals of Zinc/Zodiac or the Weak
> Registry? (just to put a couple of examples). Most of us just take it and
> use it.
>
> Our path is to bring to the whole community the power to change everything
> in your environment. To change it live, in the pharo way.
> And some times I feel that it is a power that the community is afraid to
> take :)
>
> lose your fear: having that power feels good :)
>
> And again: do you still think there is no need for maintain low level
> stuff? Think again.
>
> cheers,
> Esteban
>
>
>

Reply via email to