Thursday, February 12, 2015

Digest for comp.lang.c++@googlegroups.com - 5 updates in 2 topics

Cholo Lennon <chololennon@hotmail.com>: Feb 12 05:58PM -0300

On 02/12/2015 04:49 PM, Christopher Pisz wrote:
>> continuous builds on all intended platforms during development.
 
> I've never seen a truly portable application, entirely in C++, in my
> life. I think it a fantasy, but I live in a Windows bubble.
 
I completely agree with you (and, in my case, I develop for several
platforms)
 
 
--
Cholo Lennon
Bs.As.
ARG
Cholo Lennon <chololennon@hotmail.com>: Feb 12 05:52PM -0300

On 02/12/2015 04:21 PM, Ian Collins wrote:
>> new core features in several platforms or modify code and recompile the
>> entire base is very, very time-consuming :-(
 
> Are you still using 80s compilers?
 
No... my guidelines are: VC++ 2003/2005/2012, gcc 3.4.1/4.1.2/4.6. My
code has to compile well with all of them (Luckily VC++ 2003 is almost
dead in our production base). I love C++ but I can tell you, is not as
easy as lots of people love to say.
 
 
 
--
Cholo Lennon
Bs.As.
ARG
David Brown <david.brown@hesbynett.no>: Feb 12 11:33PM +0100

On 12/02/15 20:49, Christopher Pisz wrote:
 
> The only truly portable application I could see being done entirely in
> C++ would be something that loaded data from file, manipulated it, and
> saved it to file, from the command line.
 
Being "portable" does not normally mean that exactly the same code is
compiled and linked in exactly the same way for all platforms, and that
it cannot use anything but the standards-specified libraries. With
those restrictions, you cannot write much of a program on any single
platform, never mind being portable.
 
"Portable code" means that the same code base can be compiled for a
variety of systems, using a minimal amount of target-specific code (with
#if's as needed, or having some sort of abstraction layer). It also
usually means using libraries that are designed to facilitate portable
and cross-platform development, such as Qt or wxWidgets.
 
So your portable code can be compiled and linked for Windows, Mac,
Linux, Solaris, or whatever else you want to use - it does not have to
be limited to the libraries and system calls that happen to be in a
common subset of the bare OS's.
Christopher Pisz <nospam@notanaddress.com>: Feb 12 05:13PM -0600

On 2/12/2015 4:33 PM, David Brown wrote:
> it cannot use anything but the standards-specified libraries. With
> those restrictions, you cannot write much of a program on any single
> platform, never mind being portable.
 
That's my point exactly.
 
> #if's as needed, or having some sort of abstraction layer). It also
> usually means using libraries that are designed to facilitate portable
> and cross-platform development, such as Qt or wxWidgets.
 
My opinion has always been that is the same thing as writing a project
for OS A and a project for OS B, but merging it together, when you start
plopping in #if preprocessor directives, scripting up compiler options,
etc. My opinion is that it isn't portable at all, it might actually run
on OS A and OS B after all is said and done, but it certainly won't run
on OS C without more work and it just becomes more difficult to follow.
 
I would think it far easier to create an entirely separate solution for
OS A and an entirely separate solution for OS B, with them sharing the
OS agnostic code from a common library that can be compiled for each.
 
I suppose this common library would be where all the discussion on types
and portability would apply.
 
Those "portable" libraries do the same thing. They're really just
libraries for Windows and Linux merged together into one. I'd rather
have them separated and not deal with keeping track of define this for
that and set this environment variable for that, when building.
 
Portable to me, means it runs on anything, without any trickery to
choose a separate execution path into OS specific code. In that regard,
only interpreted languages can be portable.
 
legalize+jeeves@mail.xmission.com (Richard): Feb 12 10:56PM

[Please do not mail me a copy of your followup]
 
Utah C++ Programmers meet up on the 2nd Wednesday of every month to
broaden our knowledge of C++ programming practices and libraries. In
our March meeting Richard Thomson will present cinder, a library for
creating exciting multimedia applications in modern C++. We'll take
a look at the 2D graphics, 3D graphics and audio features provided
by cinder.
 
Event details are here:
 
<http://www.meetup.com/Utah-Cpp-Programmers/events/220487444/>
 
Utah C++ Programmers meet ups are free to attend and everyone
interested in C++ is invited to join us.
--
"The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline>
The Computer Graphics Museum <http://ComputerGraphicsMuseum.org>
The Terminals Wiki <http://terminals.classiccmp.org>
Legalize Adulthood! (my blog) <http://LegalizeAdulthood.wordpress.com>
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to comp.lang.c+++unsubscribe@googlegroups.com.

No comments: