Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. A serious Linux Question

A serious Linux Question

Scheduled Pinned Locked Moved The Lounge
c++comquestioncsharpvisual-studio
26 Posts 10 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Michael P Butler

    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 :-)

    M Offline
    M Offline
    markkuk
    wrote on last edited by
    #14

    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();
    }

    M 1 Reply Last reply
    0
    • M markkuk

      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();
      }

      M Offline
      M Offline
      Michael P Butler
      wrote on last edited by
      #15

      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 :-)

      M realJSOPR 2 Replies Last reply
      0
      • M Michael P Butler

        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 :-)

        J Offline
        J Offline
        James Pullicino
        wrote on last edited by
        #16

        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)

        1 Reply Last reply
        0
        • M Michael P Butler

          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 :-)

          G Offline
          G Offline
          George
          wrote on last edited by
          #17

          All you need to know: http://www.kde.org/ http://www.gnome.org/ Good luck!

          1 Reply Last reply
          0
          • M Michael P Butler

            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 :-)

            M Offline
            M Offline
            markkuk
            wrote on last edited by
            #18

            KDE and Gnome toolkits have different APIs, different component technologies and different "look and feel".

            M 1 Reply Last reply
            0
            • M markkuk

              KDE and Gnome toolkits have different APIs, different component technologies and different "look and feel".

              M Offline
              M Offline
              Michael P Butler
              wrote on last edited by
              #19

              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 :-)

              1 Reply Last reply
              0
              • M Michael P Butler

                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 :-)

                realJSOPR Offline
                realJSOPR Offline
                realJSOP
                wrote on last edited by
                #20

                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).

                1 Reply Last reply
                0
                • M Michael P Butler

                  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 :-)

                  realJSOPR Offline
                  realJSOPR Offline
                  realJSOP
                  wrote on last edited by
                  #21

                  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.

                  1 Reply Last reply
                  0
                  • M Michael P Butler

                    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 :-)

                    J Offline
                    J Offline
                    Jim A Johnson
                    wrote on last edited by
                    #22

                    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.

                    M 1 Reply Last reply
                    0
                    • M Michael P Butler

                      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 :-)

                      B Offline
                      B Offline
                      Bob Groves
                      wrote on last edited by
                      #23

                      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.

                      M S 2 Replies Last reply
                      0
                      • B Bob Groves

                        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.

                        M Offline
                        M Offline
                        Michael P Butler
                        wrote on last edited by
                        #24

                        Thanks.I'll try and find the DDJ articles. Although I think I'm going to leave any Linux development until the platform matures. Michael :-)

                        1 Reply Last reply
                        0
                        • J Jim A Johnson

                          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.

                          M Offline
                          M Offline
                          markkuk
                          wrote on last edited by
                          #25

                          Yes, Linux is a modern, modular OS that can be easily configured to suit different needs, instead of a huge monolithic chunk of software like the current versions of Windows. For example, if a Linux system doesn't need a GUI, you can simply leave it out to save memory, disk space and CPU power. Additionally there are several different ways to do almost any task, because diversity and competition among applications is better than having one company to dictate how everyone should use their computers.

                          1 Reply Last reply
                          0
                          • B Bob Groves

                            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.

                            S Offline
                            S Offline
                            Steven Mitcham
                            wrote on last edited by
                            #26

                            Kylix's license agreement forces all applications made with it to be Open Source. It's not the development environment for a closed source shop. When religion and politics help drive the same cart, they tend to drive faster and faster until it is too late to stop when they see the cliff ahead -- Frank Herbert.

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • World
                            • Users
                            • Groups