A serious Linux Question
-
Ah, that is a good point. Yes, what about MSDN? Can I get a CD sent to me every quarter with all the current Linux API's documented and with samples. I'd expect to have to pay for that, it's been a while since I just got the library but I think it's about £150 quid a year for MSDN Library. What is the Linux equivlant of the Platform SDK and how much does it cost and where can I download it? Michael :-)
-
Okay we've been having fun the with anti-Linux v anti-Windows stuff but can I ask a question. If I wanted to develop an application on Linux, what would be the Linux equivalant of Visual Studio (VC++ and VB) MFC (big one this, I'd want a fully functional framework) STL (I suppose thats a no brainer) Can I develop COM applications, component based programming is my first love so is there an ActiveX/OLE equivalant? And the $64,000 question - is it possible to do all the above and not have to link to Open Source libraries because I want to make money from my apps and would rather avoid sharing the sourcecode (at least to start with) This isn't a flame or a mickey take, I'm looking for some serious answers. Michael :-)
-
What makes you thinking that if you link to Open Source libraries you would have to share the source code? There are many libraries and many licenses, some of them require you to share the code and others don't.
>There are many libraries and many licenses, some of them require you to >share the code and others don't. I'm aware there are many. I was hoping somebody could tell me what I need to develop for Linux as I do for Windows. Obviously a lot of Linux libs are marked as Open Source and it is more understanding that if you include Open Source code in a project then you have to distribute the source for you application as open source. I may be wrong about this, I've never had the time to research this. I'd just like to be able to pickup a cd which contains the Linux equivlent of VC++, MFC and MSDN and start writing GUI apps. If this isn't possible then Linux is a closed door for my development and no amount of Linux evangalizing will change that until I can. Michael :-)
-
>There are many libraries and many licenses, some of them require you to >share the code and others don't. I'm aware there are many. I was hoping somebody could tell me what I need to develop for Linux as I do for Windows. Obviously a lot of Linux libs are marked as Open Source and it is more understanding that if you include Open Source code in a project then you have to distribute the source for you application as open source. I may be wrong about this, I've never had the time to research this. I'd just like to be able to pickup a cd which contains the Linux equivlent of VC++, MFC and MSDN and start writing GUI apps. If this isn't possible then Linux is a closed door for my development and no amount of Linux evangalizing will change that until I can. Michael :-)
Well, KDE and GNOME are on the RH distribution CD, so it's even better than VC++ because OS comes with the proper development environment all together. As for licenses - just like on windows you have to read before you use anything - Open Source is not limited to Linuxm and many windows libraries are open too.
-
Well, KDE and GNOME are on the RH distribution CD, so it's even better than VC++ because OS comes with the proper development environment all together. As for licenses - just like on windows you have to read before you use anything - Open Source is not limited to Linuxm and many windows libraries are open too.
Okay, I'm a dumb windows programmer so can you tell me what KDE and GNOME are (apart from being bad names for a product). Are they development enviroments? Michael :-)
-
Okay, I'm a dumb windows programmer so can you tell me what KDE and GNOME are (apart from being bad names for a product). Are they development enviroments? Michael :-)
KDE and Gnome are 2 different desktops running on X. X is the graphical subsystem in Linux. - Anders Money talks, but all mine ever says is "Goodbye!"
-
KDE and Gnome are 2 different desktops running on X. X is the graphical subsystem in Linux. - Anders Money talks, but all mine ever says is "Goodbye!"
So I guess there is an XWindows API which has the CreateWindow function? I assume there all GUI apps have a #include "XWindows.h"? KDE and Gnome are two different implementations of that API? Will an app written to the KDE desktop also run on a GNOME desktop? Michael :-)
-
Okay we've been having fun the with anti-Linux v anti-Windows stuff but can I ask a question. If I wanted to develop an application on Linux, what would be the Linux equivalant of Visual Studio (VC++ and VB) MFC (big one this, I'd want a fully functional framework) STL (I suppose thats a no brainer) Can I develop COM applications, component based programming is my first love so is there an ActiveX/OLE equivalant? And the $64,000 question - is it possible to do all the above and not have to link to Open Source libraries because I want to make money from my apps and would rather avoid sharing the sourcecode (at least to start with) This isn't a flame or a mickey take, I'm looking for some serious answers. Michael :-)
Don't even try to compare Linux development with Windows. Linux is not as well organized as Windows is, but on the other hand it is more flexible and cheaper. They are two different platforms with many differences, but the main difference is the phsycology of programming that you'll have to adopt while developing, so get used to it ;) (2b || !2b)
-
So I guess there is an XWindows API which has the CreateWindow function? I assume there all GUI apps have a #include "XWindows.h"? KDE and Gnome are two different implementations of that API? Will an app written to the KDE desktop also run on a GNOME desktop? Michael :-)
Oops, now you are asking questions I can't answer... I'm not a Linux-guy, I just happened to have worked a bit with KDE and Gnome. Have never developed for any of them... - Anders Money talks, but all mine ever says is "Goodbye!"
-
Don't even try to compare Linux development with Windows. Linux is not as well organized as Windows is, but on the other hand it is more flexible and cheaper. They are two different platforms with many differences, but the main difference is the phsycology of programming that you'll have to adopt while developing, so get used to it ;) (2b || !2b)
So the tools are there but not put together in a professional package. A bit like the Mac before CodeWarrior came along. I smell an untapped market, but I guess there can't be any money there otherwise somebody would have done it already. > but the main difference is the psychology of programming Care to elaborate on that. Are you saying that Linux programmers still have that hacker mentality that I used to have in the early days when I wrote software on my Spectrum and my Amiga. Michael :-)
-
So I guess there is an XWindows API which has the CreateWindow function? I assume there all GUI apps have a #include "XWindows.h"? KDE and Gnome are two different implementations of that API? Will an app written to the KDE desktop also run on a GNOME desktop? Michael :-)
The X Window system is the "low-level" windowing API, it's not usually used directly by application programs. KDE and Gnome are desktop environments built on top of X, and each has it's own "toolkit" API which provides mechanisms for the usual GUI components. You can run both kinds of applications if you have the suitable run-time libraries (equvalent to .DLLs in Windows world). As an exaple, here's the KDE version of "Hello World":
/************* khello.cc *******************/
#include <kapp.h>
#include <kmainwindow.h>int main( int argc, char **argv )
{
KApplication a( argc, argv, "khello" );
KMainWindow *w = new KMainWindow();
w->setGeometry(100,100,200,100);a.setMainWidget( w );
w->show();
return a.exec();
} -
The X Window system is the "low-level" windowing API, it's not usually used directly by application programs. KDE and Gnome are desktop environments built on top of X, and each has it's own "toolkit" API which provides mechanisms for the usual GUI components. You can run both kinds of applications if you have the suitable run-time libraries (equvalent to .DLLs in Windows world). As an exaple, here's the KDE version of "Hello World":
/************* khello.cc *******************/
#include <kapp.h>
#include <kmainwindow.h>int main( int argc, char **argv )
{
KApplication a( argc, argv, "khello" );
KMainWindow *w = new KMainWindow();
w->setGeometry(100,100,200,100);a.setMainWidget( w );
w->show();
return a.exec();
}So are we saying that KDE is to Gnome what Visual C++ MFC is to Borland C++ Builder VCL? Just different ways of achieving the same thing but its the API which is doing the hardwork? Or does each implementation bring its own way of doing stuff like toolbars, dialogs etc Michael :-)
-
So the tools are there but not put together in a professional package. A bit like the Mac before CodeWarrior came along. I smell an untapped market, but I guess there can't be any money there otherwise somebody would have done it already. > but the main difference is the psychology of programming Care to elaborate on that. Are you saying that Linux programmers still have that hacker mentality that I used to have in the early days when I wrote software on my Spectrum and my Amiga. Michael :-)
Anything that is not 100% comercialized (linux) will be less profesional than something that is totally commercial (windows). Therefore Linux programmers must adopt a less professional approach to programming. This does not imply in any way that Linux programmers are not professional, it is just that they cannot rely on the same kind of developer resources, toolkits and documentation that windows programmers enjoy. This has got its advantages since developing for Linux leaves a lot of room for flexibilty, experimentation and understanding of the programs they develop. Of course there are also many disadvantages, but as they say, you cannot have the cake and eat it. Well, at least we've got the choice. (2b || !2b)
-
Okay, I'm a dumb windows programmer so can you tell me what KDE and GNOME are (apart from being bad names for a product). Are they development enviroments? Michael :-)
All you need to know: http://www.kde.org/ http://www.gnome.org/ Good luck!
-
So are we saying that KDE is to Gnome what Visual C++ MFC is to Borland C++ Builder VCL? Just different ways of achieving the same thing but its the API which is doing the hardwork? Or does each implementation bring its own way of doing stuff like toolbars, dialogs etc Michael :-)
-
KDE and Gnome toolkits have different APIs, different component technologies and different "look and feel".
Is there one which is more standard? or is the best bet to write an application for both API's to reach the widest user base. I'm starting to see why software houses don't convert their vertical market applications to Linux :-) Michael :-)
-
So are we saying that KDE is to Gnome what Visual C++ MFC is to Borland C++ Builder VCL? Just different ways of achieving the same thing but its the API which is doing the hardwork? Or does each implementation bring its own way of doing stuff like toolbars, dialogs etc Michael :-)
KDE and Gnome are desktop environments (kind of like the windows shell) which happens to expose their desktop-specific API's for use by the programmer. There are various widget libraries available that would be *kind of like* MFC and/or the Windows Common Controls. There are a number of programmer IDE's available like that provide Visual Studio-like functionality. Linux uses CORBA, not COM. Even though Microsoft promised that COM would be cross-platform, they never came through with that promise. Most Linux distributions comes with several programming languages (Pascal, Cobol, C++, and Fortran). I'm not a Linux expert, nor a Linux "zealot". I am, however, tired of being stomped on by Microsoft (as both an end-user AND a developer).
-
Okay we've been having fun the with anti-Linux v anti-Windows stuff but can I ask a question. If I wanted to develop an application on Linux, what would be the Linux equivalant of Visual Studio (VC++ and VB) MFC (big one this, I'd want a fully functional framework) STL (I suppose thats a no brainer) Can I develop COM applications, component based programming is my first love so is there an ActiveX/OLE equivalant? And the $64,000 question - is it possible to do all the above and not have to link to Open Source libraries because I want to make money from my apps and would rather avoid sharing the sourcecode (at least to start with) This isn't a flame or a mickey take, I'm looking for some serious answers. Michael :-)
As I see it (right now), the only way to make money writing Linux code is to get employed by a company that uses Linux internally and needs in-house applications written. At that point, you don't have to worry about whether or not the code is open source.
-
Okay, I'm a dumb windows programmer so can you tell me what KDE and GNOME are (apart from being bad names for a product). Are they development enviroments? Michael :-)
In that same way that Windows 3.1 was a graphical shell that ran on top of DOS, KDE and GNOME are competing graphical shells that run on top of Linux. That right there speaks volumes about the technological sophistication, and standarization, of Linux.
-
Okay we've been having fun the with anti-Linux v anti-Windows stuff but can I ask a question. If I wanted to develop an application on Linux, what would be the Linux equivalant of Visual Studio (VC++ and VB) MFC (big one this, I'd want a fully functional framework) STL (I suppose thats a no brainer) Can I develop COM applications, component based programming is my first love so is there an ActiveX/OLE equivalant? And the $64,000 question - is it possible to do all the above and not have to link to Open Source libraries because I want to make money from my apps and would rather avoid sharing the sourcecode (at least to start with) This isn't a flame or a mickey take, I'm looking for some serious answers. Michael :-)
Not sure if you are aware of this but Borland have released Kylix, which is Delphi for Linux. Admittedly this is Pascal based, but on the windows platform, where Delphi leads, C++ Builder usually follows, so I would expect the same to happen on Linux. Dr Dobb's journal has the Al Stevens programming column, and he is currently coming to grips with Linux programming, having been a Windows adherent in the past. Can't say it sounds all that simple though!! No I do not work for Dr Dobbs if you have seen my other email.