This
really makes me wish a library like Qt could be used for non-GUI programming, because its the only
library I know of implementing true OO concepts to create a comprehensive framework to work with,
It can, but it requires that X11 be installed. Maybe you should write to Troll and ask if they can break off their non-GUI stuff (collection classes, sockets, XML, etc) into a seperate library.
In C++, you can avoid pointer errors if you don't care about performance. Use vector instead of array. Use string. Only use pointers to get polymorphic behaviour. (these pointers are less likely to cause grief than array-style pointers where arithmatic is performed) This use of pointers is not as problematic (for example, in Qt one uses new to create all widgets, but parent widgets always delete their children, so one only needs delete the top level widget.)
In conclusion, most of the error-prone pointer code is there for performance reasons. And most of the complaints about C++ are pre-STL.
Exception handling
Exception handling is part of the standard. Exceptions are first class objects, and can be caught polymorphically. AFAIK, they're not much different to javas.
You're missing the point. Java does indeed collect garbage. It doesn't just "run destructors", it doesn't even use a simple "reference count", which still requires a fair bit of baby sitting (eg linked lists).
Java has proper garbage collection. That is, any object that is no longer accessible gets collected (so isolated cycles of objects get collected for example).
The issues they are discussing are problems with garbage collection in general, they are not unique to java. You are likely to find yourself facing the same issues if you write nontrivial programs.
If you just wanted to upgrade packages, it's very easy -- just use ssh and loop through all the machines. Or you could have the machines all configured to automatically install packages from a remote file system. This is what I do -- all I need to do is dump the packages in a certain directory, and test the upgrade on one of the machines. The cron job takes care of the others.
No you haven't. You displayed it on the Windows box, but it was running on your Linux machine. The difference here is that the application is running on the Windows machine, so one can try out GNOME applications without needing to install Linux.
Please, could someone correct me on this, if I am wrong, but it seems to me that this adds another layer on
top of the existing UI of windows,
In what sense ? MFC also adds a "layer of abstraction". Or maybe you're confusing GNOME with a Window manager. Repeat after me:
GNOME IS NOT A WINDOW MANAGER
The point is that if you want GNOME applications to run on Linux, you've got to port the GNOME development platform (yes, GNOME includes a development platform, it is NOT a Window manager)
How many of your professors run GNOME applications on their Windows desktop ? WOuldn't it be nice if they could do so, given that GNOME/KDE have all the momentum at the moment ?
a) He means desktop environment when he says Window Managers
I'd take a radical viewpoint and suggest that KDE is more than just a desktop environment. The KDE distribution includes an application development framework (kdelibs), a desktop environment (most of kdebase), and a suite of applications that use that development framework (kdegraphics, kdenetwork, koffice, kdeutils,... )
Kwin is part of the main KDE distribution, and it's an application that uses the KDE API -- so I agree that it's a (proper) subset of KDE.
To most people Kde is a windowmanager and your insistence that they think otherwise will not cause them
to either change their opinion or to use Kde.
Whatever. The fact remains that they are wrong.
And the people who criticise the KDE project based on the assumption that KDE "is a Window manager" simply don't even understand what they are criticising.
Regarding Windowmaker, you are dead wrong. Consider the windowmaker dock apps which are like a
cottage industry of their own. That's just for starters.
Dockable apps do not make it more than a Window manager. btw, it's referred to as a "window manager" in the FAQ page more times than I can count. I've yet to see a piece of functionality there that makes it not a window manager.
At least Windowmaker is more than a Window manager, or can be.
How so ? I thought it was approximately a Window manager. That's what the Windowmaker homepage says.
This is true, but it is really not possible to use some of Kde's
best features without also using Kwin.
The basic desktop stuff (taskbar, session manager, etc) is sort of like an extension of kwin. But KDE is much more than just kwin and friends. It's an application development framework upon which one can develop usable applications, and an application suite that uses that framework. The Window manager (and friends) is just a small part of KDE.
It's all right for people to think of Kde as a window manager.
KDE is not even close to being a Window manager, and those that mistakenly believe that KDE is a "window manager" project are a mile from the mark.
It sort of reminds me of the three blind men and the elephant. One man uses kwin and says "ah-huh! KDE is very much like a Window manager". The second one is shown koffice by a KDE fan, and says "so that's it! KDE is sort of like Microsoft Word". Another man attends a seminar on component programming where DCOP is mentioned, and concludes that KDE is a CORBA replacement.
Actually, the last two characters are fictional (but are invented to expose the short-sightedness of the first), but the first one is very common.
No, it's not a "rip off" of the win95 GUI. The resemblences are fairly superficial. As someone who actually writes code, I want a decent object oriented development framework, and guess what ? KDE/Qt is it. So if you think that KDE is just a crutch for drooling Windows idiots, you'd better think again.
if you want something innovative, try enlightenment or blackbox. if you
want somethin that looks like windows, use gnome or kde.
Huh ??? KDE is an application development framework and a suite of applications that run on that framework (including but most certainly not limited to a window manager), Blackbox and E are Window managers. It makes absolutely no sense to compare the two. You are confusing kwm with kde. They are not the same thing.
Repeat after me: KDE is NOT a window manager
lets remember that there are a hell of a lot more
than 2 window managers out there
Again ( repeat after me: ) KDE is NOT a window manager. Neither is GNOME.
And neither of these are "Windows ripoffs".
i don't know about you, but i
really wouldn't be caught dead using a beefed up, ripoff of a microsoft gui.
Why not ? If you're afraid that doing so would make you a "windows idiot", suffice it to say that there are developers vastly more skilled (or l334 or whatever) than yourself who use KDE/GNOME.
Ripping of a five year old Microsoft UI is in no way innovative,
KDE is considerably more than a "rip off" of the "Microsoft UI". It is a modern application development framework, and yes, it is an interesting one. Similarites to Windows are superficial. The KDE and Qt APIs are most certainly not in any way "borrowed" from Windows.
When it all comes down to it, the jewelcase and box means shit in this day and age. Anyone trying to sell a
linux distro that is not freely available will fall below the radar, PERIOD. And RedHat reaps the profit.
Last I checked, they weren't reaping anything resembling a profit...
Their model is a nice idea, but there;'s no evidence that it's viable.
The MPAA, RIAA, etc...
We really need a legitimate alternative to the way music and video is purchased and distributed. It really
angers me that we have to repeatedly spend money for content that we have already spent money for -- to
replace damaged, aged and obsolete media .
THen you should remember to scream at the theives who abused the service. Maybe you were using it for legitimate purposes, but the problem is that others weren't.
(If anyone out there is using sizing, layout or positioning commands in a
LaTeX document they're either real experts or complete idiots who have missed the point. The latter is
much more likely.)
On the contrary, one often needs to specify hard numbers, since percentages can't be used (iirc)
A LaTeX document doesn't say anything about display sizes, page sizes, font sizes or any of that ugly shit.
Actually, I believe the \documentclass directive specifies a certain paper size. True, you don't hard code it through the document, but it is there, and TeX needs to use this information to determine (for example) where to break lines.
But the big problem with latex as a replacement for html is that there's no sgml/xml-like generalisation of it.
Easy, they aren't trying to make money selling the software. Their business plan is to make money selling
support, both to end-users and corporations.
So why waste resources on development, and distribution packaging ? Why not just sell support ? would it not be more profitable ? THat's the problem with the "write-free-software-and-sell-support" "business" model. You're running two operations, one profitable (selling support) and one unprofitable (writing free software). So why maintain the unprofitable operation ? For example, why is it in Redhat's interests to allow their distribution to be downloaded for free, and why is it in their interests to fund software development >
The idea is consultancy. RedHat, being one of the biggest developers of Linux, is probably one of the best
places to go to get developers for a Linux system.
This is not entirely true. Redhat primarily repackage and integrate. They do not develop an enormous amount of software (there is not one major software project that has been initiated and completed at Redhat).
For example, anyone who buys Oracle Applications is
free to modify the system themselves, yet Oracle has a huge business contracting out consultants for
$500/hour to do modifications. The reason? Oracle built it,
But Redhat didn't "build" Linux (well, they compiled it, but they didn't write it).
Exactly! RedHat is basically a bunch of hackers that are getting paid to implement and write yet-to-exist
implementations.
No, they are not. They are a distributer who repackage other peoples applications. Almost all of the stuff they sell was written by others. They build, configure, integrate and package it. This is primarily what a distributor does.
The old paradigm of selling software
*products* is dead.
On what do you base this claim ?
Now (as always) service is all that's left after the industry gets crowded and the margins
decrease to nothing.
On the contrary, if you can create a software product that is valuable to your customers, there's no reason why the margins should decrease.
The only weakness RedHat has is having to wait until business gets enough brains to realize that the 25% it
spends on software product is always followed by another 75% of support.
If it is indeed support that is more expensive, then that would seem to be more reason why the product is worth spending on (for example, if you spend 40% more on the product, and save 30% on support, you are making money.)
This means cash flow for sure even though the margins won't ever touch Microsoft's. But someday, this
model eventually takes over, and then nobody's will.
Last I checked, the Debian source packages could only include one source tarball and one patch. src.rpm packages can include several source tarballs and several patches.
Of
course, it's almost certain RedHat would oppose any attempt to get rid of it's inferior RPM format.
Redhat's source packaging is actually nicer -- they don't have the stupid one patch limit that Debian has. The main thing RPM lacks is dependency-tree generation.
It can, but it requires that X11 be installed. Maybe you should write to Troll and ask if they can break off their non-GUI stuff (collection classes, sockets, XML, etc) into a seperate library.
In C++, you can avoid pointer errors if you don't care about performance. Use vector instead of array. Use string. Only use pointers to get polymorphic behaviour. (these pointers are less likely to cause grief than array-style pointers where arithmatic is performed) This use of pointers is not as problematic (for example, in Qt one uses new to create all widgets, but parent widgets always delete their children, so one only needs delete the top level widget.)
In conclusion, most of the error-prone pointer code is there for performance reasons. And most of the complaints about C++ are pre-STL.
Exception handling
Exception handling is part of the standard. Exceptions are first class objects, and can be caught polymorphically. AFAIK, they're not much different to javas.
Java has proper garbage collection. That is, any object that is no longer accessible gets collected (so isolated cycles of objects get collected for example).
The issues they are discussing are problems with garbage collection in general, they are not unique to java. You are likely to find yourself facing the same issues if you write nontrivial programs.
If you just wanted to upgrade packages, it's very easy -- just use ssh and loop through all the machines. Or you could have the machines all configured to automatically install packages from a remote file system. This is what I do -- all I need to do is dump the packages in a certain directory, and test the upgrade on one of the machines. The cron job takes care of the others.
I say they should fine him $1- for each email, and if he can't afford it, they should just bankrupt him and reposses his house ...
Answer: it doesn't.
Kaffe has been ported to openbsd for quite some time now,
and yet the perl port,
... actually works and runs the vast majority of perl scripts.
No you haven't. You displayed it on the Windows box, but it was running on your Linux machine. The difference here is that the application is running on the Windows machine, so one can try out GNOME applications without needing to install Linux.
In what sense ? MFC also adds a "layer of abstraction". Or maybe you're confusing GNOME with a Window manager. Repeat after me:
GNOME IS NOT A WINDOW MANAGER
The point is that if you want GNOME applications to run on Linux, you've got to port the GNOME development platform (yes, GNOME includes a development platform, it is NOT a Window manager)
How many of your professors run GNOME applications on their Windows desktop ? WOuldn't it be nice if they could do so, given that GNOME/KDE have all the momentum at the moment ?
Cheers,
I'd take a radical viewpoint and suggest that KDE is more than just a desktop environment. The KDE distribution includes an application development framework (kdelibs), a desktop environment (most of kdebase), and a suite of applications that use that development framework (kdegraphics, kdenetwork, koffice, kdeutils, ... )
Kwin is part of the main KDE distribution, and it's an application that uses the KDE API -- so I agree that it's a (proper) subset of KDE.
Whatever. The fact remains that they are wrong. And the people who criticise the KDE project based on the assumption that KDE "is a Window manager" simply don't even understand what they are criticising.
Regarding Windowmaker, you are dead wrong. Consider the windowmaker dock apps which are like a cottage industry of their own. That's just for starters.
Dockable apps do not make it more than a Window manager. btw, it's referred to as a "window manager" in the FAQ page more times than I can count. I've yet to see a piece of functionality there that makes it not a window manager.
How so ? I thought it was approximately a Window manager. That's what the Windowmaker homepage says.
This is true, but it is really not possible to use some of Kde's best features without also using Kwin.
The basic desktop stuff (taskbar, session manager, etc) is sort of like an extension of kwin. But KDE is much more than just kwin and friends. It's an application development framework upon which one can develop usable applications, and an application suite that uses that framework. The Window manager (and friends) is just a small part of KDE.
It's all right for people to think of Kde as a window manager.
KDE is not even close to being a Window manager, and those that mistakenly believe that KDE is a "window manager" project are a mile from the mark. It sort of reminds me of the three blind men and the elephant. One man uses kwin and says "ah-huh! KDE is very much like a Window manager". The second one is shown koffice by a KDE fan, and says "so that's it! KDE is sort of like Microsoft Word". Another man attends a seminar on component programming where DCOP is mentioned, and concludes that KDE is a CORBA replacement.
Actually, the last two characters are fictional (but are invented to expose the short-sightedness of the first), but the first one is very common.
It's not really fair to compare verdana to a serif font.
No, it's not a "rip off" of the win95 GUI. The resemblences are fairly superficial. As someone who actually writes code, I want a decent object oriented development framework, and guess what ? KDE/Qt is it. So if you think that KDE is just a crutch for drooling Windows idiots, you'd better think again.
if you want something innovative, try enlightenment or blackbox. if you want somethin that looks like windows, use gnome or kde.
Huh ??? KDE is an application development framework and a suite of applications that run on that framework (including but most certainly not limited to a window manager), Blackbox and E are Window managers. It makes absolutely no sense to compare the two. You are confusing kwm with kde. They are not the same thing. Repeat after me: KDE is NOT a window manager
lets remember that there are a hell of a lot more than 2 window managers out there
Again ( repeat after me: ) KDE is NOT a window manager. Neither is GNOME.
And neither of these are "Windows ripoffs".
i don't know about you, but i really wouldn't be caught dead using a beefed up, ripoff of a microsoft gui.
Why not ? If you're afraid that doing so would make you a "windows idiot", suffice it to say that there are developers vastly more skilled (or l334 or whatever) than yourself who use KDE/GNOME.
KDE is considerably more than a "rip off" of the "Microsoft UI". It is a modern application development framework, and yes, it is an interesting one. Similarites to Windows are superficial. The KDE and Qt APIs are most certainly not in any way "borrowed" from Windows.
Last I checked, they weren't reaping anything resembling a profit ...
Their model is a nice idea, but there;'s no evidence that it's viable.
THen you should remember to scream at the theives who abused the service. Maybe you were using it for legitimate purposes, but the problem is that others weren't.
On the contrary, one often needs to specify hard numbers, since percentages can't be used (iirc)
A LaTeX document doesn't say anything about display sizes, page sizes, font sizes or any of that ugly shit.
Actually, I believe the \documentclass directive specifies a certain paper size. True, you don't hard code it through the document, but it is there, and TeX needs to use this information to determine (for example) where to break lines.
But the big problem with latex as a replacement for html is that there's no sgml/xml-like generalisation of it.
So why waste resources on development, and distribution packaging ? Why not just sell support ? would it not be more profitable ? THat's the problem with the "write-free-software-and-sell-support" "business" model. You're running two operations, one profitable (selling support) and one unprofitable (writing free software). So why maintain the unprofitable operation ? For example, why is it in Redhat's interests to allow their distribution to be downloaded for free, and why is it in their interests to fund software development >
This is not entirely true. Redhat primarily repackage and integrate. They do not develop an enormous amount of software (there is not one major software project that has been initiated and completed at Redhat).
For example, anyone who buys Oracle Applications is free to modify the system themselves, yet Oracle has a huge business contracting out consultants for $500/hour to do modifications. The reason? Oracle built it,
But Redhat didn't "build" Linux (well, they compiled it, but they didn't write it).
No, they are not. They are a distributer who repackage other peoples applications. Almost all of the stuff they sell was written by others. They build, configure, integrate and package it. This is primarily what a distributor does.
The old paradigm of selling software *products* is dead.
On what do you base this claim ?
Now (as always) service is all that's left after the industry gets crowded and the margins decrease to nothing.
On the contrary, if you can create a software product that is valuable to your customers, there's no reason why the margins should decrease.
The only weakness RedHat has is having to wait until business gets enough brains to realize that the 25% it spends on software product is always followed by another 75% of support.
If it is indeed support that is more expensive, then that would seem to be more reason why the product is worth spending on (for example, if you spend 40% more on the product, and save 30% on support, you are making money.)
This means cash flow for sure even though the margins won't ever touch Microsoft's. But someday, this model eventually takes over, and then nobody's will.
Socialism is good for socialist economies.
Redhat's source packaging is actually nicer -- they don't have the stupid one patch limit that Debian has. The main thing RPM lacks is dependency-tree generation.