On Sun, Dec 30, 2012 at 11:33 PM, Carsten Haitzler <ras...@rasterman.com> wrote: > On Sun, 30 Dec 2012 14:19:01 -0200 Lucas De Marchi > <lucas.demar...@profusion.mobi> said: > >> On Sun, Dec 30, 2012 at 12:51 PM, Carsten Haitzler <ras...@rasterman.com> >> wrote: >> >> > i shall start with a single one: 'Subject: [E-devel] Eobj - Request for >> > review/comments' in april 2012. >> >> indeed I missed that. But don't be that silly. Let me explain: > > wait. you challenge me to provie even 1 example (there's more) and now you > dismiss it by saying "don't be silly"? this line of logic i fail to follow.
It's the same logic Mike applied. That was not a "RFC: generalizing all objects with a single one" > >> I just added a project under PROTO/ named ldm with features X, Y and >> Z. Will you review it? probably not. > > if you said "we want to make this the future of all oo infra in efl" and asked > for input, i would. > >> 5 month later later I come back and replace all your Eo structs >> underneath you with my ldm structs, because this is the way I think is >> the right way. Will you complain? Of course you will. > > that is nothing like what happened. not even close. you have many > opportunities > to have input, comment etc. > >> To worse, it was added together with the move of the tree to efl/. And >> I *DID* complain saying there was no reason to rush eobj in. Of >> course you didn't hear because a patch like eobj would be impossible >> to maintain out of tree. > > indeed it would be impossible - saying i didn't listen is just your way of > saying "you disagreed therefore i will say you didn't listen". you even > provide > a justification for disagreing here, and yet... you decide it's "not > listening". for me "not listening" is the same as disagreeing here. > > what i see here is "there is a change, and i don't like change. i hate change. > change means i have to adapt and i hate doing that". ohhhhh, who is clueless now? I am the changer guy. I love changes. The good ones, not just because we can. > > i suggest we roll back the async rendering code in evas. it's change. it > creates problems. it hasn't solved anything. oh - and edbus. it's change. it's > created leaks and crashes and soaked up my time during my vacation. let's roll > it back. i hate change. I am impressed by your lack of arguments now bringing up this. > > don't be silly. this is EXACTLY what you sound like. you'd now just pulling > justifications out of the air to back a desire for "no change". I said "don't be silly" because you are twisting the words and facts to justify adding eo. > >> And as others pointed out, saying "this has been discussed on IRC and >> mailing list" and interpreting that like "it has been decided to do >> this way" is just silly. > > there were 2 main lines of how to solve our "oo stuff". gustavo's which was > "just use smart objects" which i said wouldn't fly because we can't make lower > level objects use this (timers etc). they are also too heavy-weight for such > uses even if we twisted the world. evas canvases then can't ve objects either. > they also do not support multiple inheritance (or multiple interfaces) which i > listed as a requirement because elm was literally creating objects that did > this (scrolled entry for example). i had requirements that went roughly like > this: > > 1. support normal single inheritance > 2. multiple inheritance must work sensibly > 3. we have to be able to go down to ecore and make timers etc. into objects > 4. we have to be able to attach objects to eachother weakly or tightly (weak > refs or strong refs) > 5. we need to clean up our callback prototype mess and unify > 6. we need to make object ptr (handle) access much safer in the event of freed > objects or errant (garbage) pointers as well as typechecks > 7. since #6 probably is going to raise object access overhead, some way of > alleviating this would be really nice > 8. we have to be able to slide it under our current api/abi so "stuff keeps > working as it used to" but in future we can migrate to it once slide > underneath > everywhere > 9. support runtime method overriding etc. > 10. unify the data attaching we have (evas_object_data_set/get/del) > 11. allow for memory compaction/gc to alleviate fragmentation > > i think i had a few more. some were more important that others, but > multiple-inheritance was a big one as it was problematic with just stuffing > struct in struct methods of single inheritance gobject did. oh... now I see one of the reasons why I don't like it... it's gobject on steroids. > > eo wasn't even created yet. there were toy attempts/exampels in different > forms > etc. to explore ideas and see what would work or not but nothing concrete. > this > was the time to have a say. even with the first iterations of eo - it was the > time to have a say. eo solves the bove, OR lays the groundwork to be able to > solve the above transparently under the hood in future. > > now you claim eo adds all sorts of problems. the eo_do() is impractical. i > just > don't get that. it's just as practical as now. > > obj = evas_object_image_add(evas); > evas_object_image_filled_set(obj, EINA_TRUE); > evas_object_file_set(obj, "blah.jpg", NULL); > evas_object_move(obj, 0, 100); > evas_object_resize(obj, 200, 100); > evas_object_show(obj); > > very common thing in code. with eo > > obj = eo_add(evas_object_image_class_get(), evas, > evas_obj_image_filled_set(EINA_TRUE), > evas_obj_image_file_set("blah.jpg", NULL), > evas_obj_position_set(0, 100), > evas_obj_size_set(200, 100), > evas_obj_visibility_set(EINA_TRUE)); > > how is that impractical to use? how is it ugly? > > i've already said that eo_do is not ioctl() - it's vastly different since it > doesnt rely on passing in magic struct ptrs filled in from prior call code and > is NOT 1 eo_do == 1 operation. > > backrace - yes. that's what happens if you slide in a layer. if you slide in > any layer no mater what it is it'll add to the bt. arguing against this is > arguing against any chnage at all to code that may possibly add another call. > that means you argue for no change every - no unification. no shared common > layer OR no compatibility. that's a bogus argument. yes - it adds 2 layers. > this can be alleviated inside eo. just make it macros or diectly copy & paste > the code. the perfromance argument was one that went around a lot and we > investigated and looked into and he whole varags thing was a way of addressing > it. > > eo to some very minor extent does kind of "invent a new lang" within c. i this has all to do with my complaints. And it's one major argument against it. > mulled the idea of an added pre-processor at compile time to be able to add > things like namespacing and cutting down typing fluff but others rejected the this would have being even worse. > idea. it didn't happen - ok. fair enough. it'd be c PLUS some efl speciic > "language extensions" in a preprocessor much "smarter" than cpp. c++ would > entail a massive change much more invasive than eo and it'd come with other > side-effects too like the complaints of build times and memory needed just to > build efl from eveyr dev. your complaints herew oudl jsut morph into other > peoples complaints about this. > > the smart object thing i've already addressed. you have a very narow veiw if > all u think is smart objects. this had to solve more than evas, thus its not > viable > > for the loglevles - agreed here isnt a need for eo to be so noisy log-wise. > this is at least useful and constructive feedback and something easily > addressed. > > and we've had our disgreement on if its api or abi breakage. we could solve > this with ifdef CPLUSPLUS stuff... but then it wouldn't get access to any of > the eo infra in parallel - it'd have to stick to the old api and types only. > at > this stage it hasn't ben done - i'd like to hear from andreas about this since > he was he one affected. i am thinking we possibly should split the headers > anyway right now - "old efl" stuff and the new eo stuff. #include them from > the master "Evas.h" etc. etc. I never said abi has been broken. but yes, the api did. If this solves the breakage, then IMO it should be applied. Anyway, I am off the discussion now. Now I understand Gustavo's approach and I will do the same... wait and see. And avoiding that code as much as I can. hey, and happy new year to all :-) Lucas De Marchi ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 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_122412 _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel