From: PCMan <pcm...@gm...> - 2011-12-29 04:39:34
|
On Thu, Dec 29, 2011 at 10:45 AM, Alexis Lopez Zubieta < azu...@es...> wrote: > Thanks for your replies Klaus Knopper and PCMan. > As I understood you are planing to use an structured approach to create > lxpanel2 and the rest of the LXDE desktop environment. > Now I want to expose something. I'm an student of informatics engineering > in the UCI where I learned to design and create applications with Object > Oriented techniques. But when I came to the world of LXDE I found that > there is not an object in the whole code and also I didn't find any design > or model of the programs that you build. > So two questions come to me: > - Are you designing the aplications before start to write code? > Sure, but I did not receive any formal training and taught myself programming with books, other OSS projects, and, google only. So the design can be a little bit weird sometimes. GTK+ itself is designed in a fully OO way and uses a lot of design patterns, but it's written in C. However there is no language support for objects in C. We only have struct + functions. A virtual function table in GTK+ world is a C struct which needs to be filled by hand. Things does not look like OO initially, but its spirit is OO sometimes. > - How do you do it? (wich engineering thechniques do you use?) > None. I did try and error in the past. Now I often tried to figure out the design/interfaces/APIs first, and start implement them later. For the GUI programs, now I tend to design the GUI first. Regards > Alexis. > > ------------------------------ > *From: *"PCMan" <pcm...@gm...> > *To: *"Klaus Knopper" <lx...@kn...> > *Cc: *"Alexis Lopez Zubieta" <azu...@es...>, "lxde-list" < > Lxd...@li...>, "lubuntu-desktop" < > lub...@li...> > *Sent: *Wednesday, December 28, 2011 4:58:39 AM > *Subject: *Re: [Lxde-list] About lxpanel2 > > > If your "object oriented" refers to the programming language, I'm using > Vala now, which is a OO language built on top of GObject/C runtime. The > language itself is OO. This, however, does not mean that the program > written in it will be OO. > I'm not a fan of "making everything an object" approach. No single > programming style is best for all cases. > Using too much OO stuff in GObject will create extra overhead as its type > system is all created at runtime. > Type-casting and virtual function calls sometimes requires looking up in > tables. Signal emission in GObject/C > is also very inefficient, too. So basically, I'd avoid "unnecessary" OO > whenever possible. > > If the term "object oriented" here refers to making everything on the > desktop an object, that's a totally different thing and is not related to > language used. > > On Wed, Dec 28, 2011 at 5:27 PM, Klaus Knopper <lx...@kn...> wrote: > >> Hi PCMan, >> >> On Wed, Dec 28, 2011 at 03:21:02PM +0800, PCMan wrote: >> > On Wed, Dec 28, 2011 at 11:05 AM, Alexis Lopez Zubieta >> > <[1]azu...@es...> wrote: >> > >> > I have a question about lxpanel2. >> > Are you planing to make it using an object oriented approach? >> > >> > What do you mean by object oriented approach? >> > I don't understand what you mean. Any examples? >> >> I THINK he means whether or not you will be using an object oriented >> programming model and programming language (or interpreter on the >> runtime or macro level), which has certain advantages (everything like >> programs, icons, files, windows etc. are objects where all the code >> needed to manage the object is included in the objects class, and not >> spread across different places in the code), and disadvantages (well, >> object oriented code tends to get voluminous and slow, maybe even buggy, >> at least that is the common perception). >> >> http://en.wikipedia.org/wiki/Object-oriented_programming >> >> Gnome and KDE both use object oriented models for their desktops, where >> KDE also uses an object oriented language, while GNOME works more with >> procedural languages (C) and its own object management code. >> >> Btw, for LXDE, I would, independent of that question, opt for using >> anything that is stable, small (in the total resources footprint) and >> fast, even if it means less features. I like C, even that it means you >> have to be extra careful about memory management and pointer >> arithmetics. >> >> One of the "major features" of LXDE for me was always that it needs less >> than 5 seconds to start up all necessary components (lxpanel, pcmanfm, >> window manager), instead of initializing a lot of services before you >> can do actual work on the desktop. I hope that the new versions of >> lxpanel and pcmanfm will still be similarly efficient, no matter which >> model or toolkit you will use. >> >> Regards >> -Klaus >> > > > -- > ------------------------------ > University of Informatic Sciences (UCI) http://www.uci.cu* > *Nova Light Development Team http://www.nova.cu > Alexis López Zubieta azu...@es... > > > <http://www.antiterroristas.cu/> > > |