Programming Forums

Programming Forums (http://www.programmingforums.org/forumindex.php)
-   C++ (http://www.programmingforums.org/forum15.html)
-   -   Question about GUIs (http://www.programmingforums.org/showthread.php?t=15593)

IisNoob Apr 10th, 2008 11:19 PM

Question about GUIs
 
Are the Interfaces for programs such as AVG, Photoshop, Microsoft Word, Ventrilo etc. written in C++? That seems rather time consuming when you could write them in VB.net and then just implement C++? is that possible? I'd just like to get a better understanding of how programs like that are written. Do they use multiple languages?

EDIT: If theres anyone who is a professional programmer and has AIM or any other messaging service I have 1000's of questions to ask.

Fall Back Son Apr 10th, 2008 11:44 PM

Re: Question about GUIs
 
Most of the Windows XP interface is apparently written in C, which is strange to me. And a lot of GUIs in Cpp

IisNoob Apr 10th, 2008 11:52 PM

Re: Question about GUIs
 
Quote:

Originally Posted by Fall Back Son (Post 143748)
Most of the Windows XP interface is apparently written in C, which is strange to me.

same here whats the advantage of using C?

Ancient Dragon Apr 10th, 2008 11:55 PM

Re: Question about GUIs
 
win32 api functions are all considered low-level functions and were written in C, and possibly some assembly because it can be called from most programming languages, while C++ can not. Some of the internals may be c++, but none of the win32 api functions are. Microsoft Word project was started before Win95 and was initially all written in C language. I don't know what's happened to it since then but I suspect most of it is still in C.

>>same here whats the advantage of using C?
Its tighter and smaller than c++ programs. When space (RAM) is critical then use C because C compilers produce smaller code and often more efficient. Of course that also depends on the compiler, some compilers produce better code than other compilers. If there is lots of RAM to work with and speed is not all that important then use C++ or some other languages such as VB.

mbd Apr 11th, 2008 1:53 AM

Re: Question about GUIs
 
if you want to learn about the APIs for those programs and you are working on windows, then you need to learn about COM. i can only really speak from experience about word. it is composed of thousands of COM objects. they can be accessed from any COM compliant language. this means that several languages were probably used to create the interfaces for these programs. i would bet that mostly c++ and vb6 were used in the past, and .net is used more now.

TheAberrant Apr 11th, 2008 6:44 AM

Re: Question about GUIs
 
A lot of larger applications use pre-built frameworks for their GUIs. For example, I know Adobe uses QT for photoshop, and I hear it's becoming more popular. A lot of open source applications use the GTK (but not sure if that's an actual GUI framework or what...) However, that being said it's always useful to learn and understand the underlying system code, in case you ever find yourself having to debug an error in the framework.

Just my 2 cents :)

Game_Ender Apr 14th, 2008 5:48 PM

Re: Question about GUIs
 
I am pretty sure photoshop proper is *not* written in QT. The only thing I can find about like that a photoshop derived product was written with QT. I think the first version of Photoshop was released even before QT released and it was a Mac only program then.

You will find many older applications written in C++ have there own GUI frameworks they built along with way. The windows office team has there own C++ widget toolkit, and the same goes for Adobe. C++ is/was chosen for its portability and speed, both areas .NET lags C++ in. It can also be hard to interface C++ with managed languages on the .NET platform, so people chose to keep everything in C++.

Ooble Apr 14th, 2008 11:53 PM

Re: Question about GUIs
 
Photoshop on Mac OS uses Carbon, not Qt. I doubt they use Qt for Windows - they're pretty concerned about speed issues over at Adobe.

TheAberrant Apr 15th, 2008 6:36 AM

Re: Question about GUIs
 
Quote:

Originally Posted by Game_Ender (Post 143878)
I am pretty sure photoshop proper is *not* written in QT. The only thing I can find about like that a photoshop derived product was written with QT. I think the first version of Photoshop was released even before QT released and it was a Mac only program then.

You're right, my bad. Photoshop Albums was written using QT. I'll try to do proper research before talking out of my arse :P

Soulstorm Apr 16th, 2008 10:41 AM

Re: Question about GUIs
 
Quote:

Originally Posted by Game_Ender (Post 143878)
I am pretty sure photoshop proper is *not* written in QT. The only thing I can find about like that a photoshop derived product was written with QT. I think the first version of Photoshop was released even before QT released and it was a Mac only program then.

That's right. However, many years have passed since then, so a change in API use is necessary, don't you think? I don't know what API the guys at Adobe use, but they better change what they are using fast, because Apple is slowly dropping support to everything except Cocoa, so Adobe may find themselves drowning sooner or later...


All times are GMT -5. The time now is 4:11 AM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC