On Fri, 28 Dec 2012 22:31:18 +0000 Michael Blumenkrantz <[email protected]> wrote:
> On Fri, 28 Dec 2012 20:17:14 -0200 > Lucas De Marchi <[email protected]> wrote: > > > Hey! > > > > I'd like to start a discussion about eo and its usage in EFL. I got > > very frustrated on how it was merged regardless the opinion of the > > other EFL developers. IMO it could make some sense in elementary, > > but not in the core like ecore, evas, edje. > > > > Asking around I discovered I was not the only one.... rather the > > opposite - everyone I asked hates how it's done. Recently I had to > > review some patches to elementary, adding the systray support. My > > eyes were bleeding. I will enlist here some reasons in no > > particular order. Surely there are more... others are welcome to > > fill them here. > > > > - We replaced the function calls with eo_do(func()). Now, take an > > application and imagine all ecore_*, evas_*, elm_* functions > > replaced with eo_do(func()). This is not just ugly... it's > > impractical to use. > > > > - eo_do() is the userspace incarnation of ioctl() - search on LKML > > to see how it's hated there. > > it does make me consider entering one of those code obfuscation > contests... > > > > > - *every* "function" in a backtrace comes with the > > _eo_dov_internal()/_eo_op_internal() companion - besides polluting > > the bt, for sure they have a cost. And I saw no benchmarks on > > mailing list after the addition of eo. One might think that since > > *I* am complaining, *I* should provide them, but I think it's > > exactly the opposite - people who added this thing should make sure > > it's now the same or better than it was before. > > backtraces with eo are the reason I don't see myself ever switching > to the 1.8 branch. as for benchmarks, I saw some supposed numbers > thrown around during early eo development which claimed that it "was > slower, but not that much slower, and worth it for the gains" > > > > > - If we really needed this level of OO in ecore, evas, edje, we'd > > be better off using C++ or inventing our own language to fit our > > needs instead of doing what we are doing now. > > > > - why is it any better than the smart object we had all these > > years? Why not improve that instead of replacing with eo? > > > > - run elementary_test with EINA_LOG_LEVELS=5 and see the > > construction/destruction party > > not to mention the spam just from running e > > > > > - Despite raster arguing this is not an API break, I strongly > > believe it is. It broke compilation of lots of c++ applications > > (I'll not repeat myself here... in the mailing list there are my > > other arguments why it is an api breakage) > > > > > > > > My opinion is to revert the whole thing, but I'm sure this would be > > a major task after the surgery to put it in was made. I'd at least > > like the people responsible for it to answer the points above, and > > people who like me think this is all crap to step up and say so. > > > > > > > > Lucas De Marchi > > > > depressing though it may be to think about, I have to agree with your > points. I'm not saying it needs to be reverted, but I don't see any > benefit to keeping it unless the goal was to reduce my commits to the > afflicted areas to near zero. > > while it's impressive that all of the eo stuff was added with > relatively little breakage (as opposed to my expectations), the idea > of having to learn what is essentially a different programming > language in order to work on efl internals again in trunk is really > demotivating. maybe I'll become the kwo of the 1.7 branch? I'll add my two cents worth. Initially I think I was keen on the idea, but was waiting to see what the implementation was like. It did worry me that we seemed to be getting more than one OO system being worked on at the same time. However, I've just wasted a whole day tracking down that I was passing an Evas_Object to a function that needed an Evas. It compiled and worked fine under the merged efl tree, but not on EFL 1.7.4. Under 1.7.4 there was no complaints, just missing text. So today, I don't like the implementation. I've not actually studied it though, just pissed off after today's wasted work. There may be things about it I actually like if I bother to look at it. lol -- A big old stinking pile of genius that no one wants coz there are too many silver coated monkeys in the world.
signature.asc
Description: PGP signature
------------------------------------------------------------------------------ Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812
_______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
