<div class="gmail_quote">On Wed, Nov 18, 2009 at 2:28 PM,  <span dir="ltr">&lt;<a href="mailto:joshstrobl@hush.ai">joshstrobl@hush.ai</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Hello guys, I am in programming class for C++, but want to make<br>
software that is orientated to not just Linux but Windows and Mac<br>
also (even though I despise both).<br></blockquote><div><br>For my job, I write C++ software that has to compile and run on Windows, OSX (Intel and PowerPC), Linux (i386), and Solaris (sparc).  So I can tell you portability is not unique to Java -- in fact, just about every platform has at least a C compiler so C is in that sense the *most* portable language.  For example, the GNU C/C++ compiler (gcc) runs on a vast number of platforms, although I personally use Microsoft&#39;s compiler on Windows.<br>

<br>But we do have to compile different binaries for each of our target platforms, whereas a compiled java program can be directly run on any platform supporting java.  This is true to a lesser extent of compiled .NET programs (written in say C#), many of which can be run directly on Linux or OSX if Mono is installed.<br>

<br>Meanwhile I just saw Matt Nuzum&#39;s reply and he covered the rest of what I was going to say.  Garbage collection is nice, as manual memory management is a pain.  I particularly like Qt if you want a cross platform C++ GUI.<br>

<br>P.S.. I personally hate C++.  :-)<br></div></div><br>- Nathan<br>