Developer's path to Windows/*NIX multi-platform?

forum at forum at
Sat Mar 27 14:20:21 CST 2004

I'm an experienced software developer (Electrical Engineering student) who 
has written plenty of software for DOS, Windows, and *NIX. I've been able 
to make money selling Windows shareware, and selling manuals+support for 
GNU GPL'd Linux/UNIX software I develop.

So far, all my UNIX software is non-graphical so it compiles and runs 
easily on Linux through to MacOS. I'm very happy about this and wish to 
continue developing primarily UNIX software, exclusively in C for low 
overhead and high efficiency. But I need to start making GUIs :)

On the other hand, I have a lot of customers of my Windows software (also 
written in C using Win32 API calls, no MFC) who I can't abandon. I need to 
keep supporting Windows natively and hopefully mobile/Windows CE as well.

More specifically, I wish to write software that will still run on MS 
Windows while also running almost-natively on Linux, BSD, Solaris and 
hopefully even Mac OS. I don't mind compiling individually for each 
platform (i.e. I don't expect one binary to run on all). But it would be 
nice to share the same source so I don't have platform-specific forks.

I know this is a tall order. I've rejected Java due to what I see as 
unacceptable overhead and poor efficiency (people are still using some of 
my software on low-end Pentiums with 16M of RAM). I really want to write in 
C because it is flexible and because speed is one of my primary goals.

I tried using Wine on Linux to run my existing Win32 binaries and although 
it's pretty close, the appearance and behaviour is NOT close enough to be 
acceptable for me (lots of GUI glitches; some of them probably my fault).

I am willing to re-write my best Windows software from scratch, but I 
insist that the result is native or almost on Linux so there are not any 
weird GUI glitches. Do you think Wine is the way to go for me, or am I 
better off writing individual versions and keeping the Windows software 
native and then producing QT or GTK versions for *NIX? I'm at a cross-roads 
here, since I'll be dedicating years of work in whatever direction I take.

Sorry for the lengthy question. I imagine there are a slew of other 
previously-Windows developers facing a similar question who may stumble 
upon this in the archives!

forum at

More information about the wine-users mailing list