<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#ffffff">
I was a professional C++ developer across 8+ different platforms for
almost a decade (before moving into architecture roles).&nbsp; Almost all
our code was C++ including the GUI, app, and DB layers. In all the
companies that I worked during that time, we used C++ libraries and
tools for cross platform GUIs and network-based communications. We used
CORBA (Iona Orbix), but these days I'd probably design a REST interface
instead. You can build your own GUI/cross platform library ... or
research which would be best for your needs and learn it.&nbsp; I really
enjoyed writing for Visix Galaxy and hated using Neuron Data tools.&nbsp;
Today, I'd take a long look at Gtk+ and Qt. There are other options
that are less well known.<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp; IDEs are for wimps, IMHO. <br>
<br>
If you use VC++ as the main dev platform, it will be extremely
difficult to learn which functions and methods are portable to other
platforms.&nbsp; However, if you use any UNIX-like platform, the non-GUI
code will be 95% portable to windows, mac, and 99.9% portable between
UNIX-flavors.&nbsp; For the first few months at least, please use an editor
like `vi` and straight Makefiles. 4 months in, then go looking for an
IDE. Freshmeat.net is a place to begin searching.<br>
<br>
Port early AND often.&nbsp; Where I worked, all code had to be compiled
across all platforms before it was checked into the VCS.&nbsp; Breaking a
build for another developer - for any reason - was penalized heavily
with extra grunt work that benefited the rest of the team.<br>
<br>
Use version control for your code. You'll thank me later.&nbsp; The few
times that I didn't use a VCS because the project was tiny, I regretted
it. I prefer using DVCS now, but have used SCCS, RCS, VSS, SVN, CVS.
GIT is very popular, but the interfaces are clearly created by a kernel
developer. BZR is usable by humans and has cross platform interfaces.
The big complaint against BZR is speed when compared to GIT. Does it
really matter if the interaction is 2x slower when it still finishes in
less than 3 seconds for normal sized projects?<br>
<br>
For a very light IDE - I use Geany on Linux. It understands 40+
different languages for syntax highlighting, tracking of functions and
symbols.&nbsp; For more options
<a class="moz-txt-link-freetext" href="http://freshmeat.net/search?q=c%2B%2B+IDE&amp;submit=Search">http://freshmeat.net/search?q=c%2B%2B+IDE&amp;submit=Search</a><br>
<br>
Of course, these are just my opinions and others will have learned
different things from their different experiences.<br>
<br>
<br>
<br>
On 11/16/2010 05:43 PM, Ron Frazier wrote:
<blockquote cite="mid:5.1.1.6.2.20101116171631.05905cb8@pop.1and1.com"
 type="cite">Frederick and Brian,
  <br>
  <br>
Thanks for the info on these libraries.&nbsp; I have looked at them briefly,
and plan to explore them in more depth.&nbsp; Based on discussions in this
thread and some of my own research, I've decided to reverse my prior
plan and learn C++ instead of C#.&nbsp; Either should be an employable job
skill.&nbsp; I still like both languages from a technical point of view.&nbsp; I
just need to get back in the groove after being away from it for 15
years.&nbsp; The following factors influenced my decision (in no particular
order).
  <br>
  <br>
C++ has the following vs C#.
  <br>
  <br>
1) Less potential legal problems
  <br>
2) More portability, maybe
  <br>
3) Libraries available for garbage collection, databases, threads, etc.
  <br>
4) Other libraries as mentioned in the posts below for various
functions
  <br>
5) Procedures and features to reduce memory leaks, pointer problems
  <br>
6) The ability to create a stand alone executable, without using a VM
  <br>
7) Possibly better performance
  <br>
8) Many open source projects use C++, which I might like to contribute
my new skills to
  <br>
  <br>
I bought Bjarne Stroustrup's book - Programming Principles and Practice
using C++.&nbsp; It looks pretty good.&nbsp; This one is oriented toward 1st
semester students, which will be good for me since I've been away from
this task for quite a while.&nbsp; If, I'm aggressive, I may be able to
finish the "basics" in this book (1000+ pages worth) in a few months
and move on to more advanced things.&nbsp; The book uses MS Visual C++ as
the development environment, so I can use that when I'm dual booting
into Windows.&nbsp; However, they point out that you can compile C++ on many
systems, and gives a little info about compiling using GCC in Linux.&nbsp;
They use a 3rd party GUI library rather than Winforms, and I think
their code is portable across various systems.
  <br>
  <br>
If anyone has advice for setting up an IDE and compiler on the Linux
side of the fence (Ubuntu 10.04), I'd be glad to hear it.
  <br>
  <br>
Sincerely,
  <br>
  <br>
Ron
  <br>
  <br>
At 11/10/2010 01:18 AM -0500, Frederick wrote:
  <br>
  <blockquote type="cite">Some other C++ libraries are
<a class="moz-txt-link-rfc2396E" href="http://www.cs.wustl.edu/%7Eschmidt/ACE-overview.html">&lt;http://www.cs.wustl.edu/%7Eschmidt/ACE-overview.html&gt;</a>ACE and
<a class="moz-txt-link-rfc2396E" href="http://www.boost.org/">&lt;http://www.boost.org/&gt;</a>Boost, which I have both used.&nbsp; Apache has
<a class="moz-txt-link-rfc2396E" href="http://xerces.apache.org/xerces-c/">&lt;http://xerces.apache.org/xerces-c/&gt;</a>Xerces for C++, and even a
<a class="moz-txt-link-rfc2396E" href="http://ws.apache.org/axis/cpp/index.html">&lt;http://ws.apache.org/axis/cpp/index.html&gt;</a>C++ web services
implementation (which I have not used).
    <br>
    <br>
On 11/09/2010 09:06 PM, Brian Pitts wrote:
    <br>
    <blockquote type="cite"><br>
On 11/09/2010 12:53 PM, Ron Frazier wrote:
      <br>
      <blockquote type="cite"><br>
OK.&nbsp; You guys, along with the inventor of C++, Bjarne Stroustrup, make
a
        <br>
strong case for avoiding encumbered languages.&nbsp; I MIGHT consider
learning
        <br>
C++ for my own purposes, assuming I can get good libraries for garbage
        <br>
collection (apparently available), threads, GUI, databases,
cryptography /
        <br>
security, file operations, printing, user I/O, USB, sound, and
        <br>
sockets.
        <br>
      </blockquote>
      <br>
      <br>
Have you looked at QT and kdelibs?
      <br>
      <br>
<a class="moz-txt-link-rfc2396E" href="http://qt.nokia.com/products/library/modular-class-library">&lt;http://qt.nokia.com/products/library/modular-class-library&gt;</a><a class="moz-txt-link-freetext" href="http://qt.nokia.com/products/library/modular-class-library">http://qt.nokia.com/products/library/modular-class-library</a>
      <br>
<a class="moz-txt-link-freetext" href="http://api.kde.org/4.0-api/kdelibs-apidocs/index.html">http://api.kde.org/4.0-api/kdelibs-apidocs/index.html</a>
      <br>
      <br>
    </blockquote>
  </blockquote>
  <br>
  <br>
--------------------------
  <br>
(PS - If you email me and don't get a quick response, you might want to
call on the phone.&nbsp; I get about 300 emails per day from alternate
energy mailing lists and such.&nbsp; I don't always see new messages very
quickly.)
  <br>
  <br>
Ron Frazier
  <br>
  <br>
770-205-9422 (O)&nbsp;&nbsp; Leave a message.
  <br>
linuxdude AT c3energy.com
  <br>
  <br>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Ale mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Ale@ale.org">Ale@ale.org</a>
<a class="moz-txt-link-freetext" href="http://mail.ale.org/mailman/listinfo/ale">http://mail.ale.org/mailman/listinfo/ale</a>
See JOBS, ANNOUNCE and SCHOOLS lists at
<a class="moz-txt-link-freetext" href="http://mail.ale.or">http://mail.ale.or</a></pre>
</blockquote>
<br>
</body>
</html>