From -726866885539341222
X-Google-Language: ENGLISH,ASCII
X-Google-Thread: f78e5,dfce3f6ed7b423cd
X-Google-Attributes: gidf78e5,public
From: jkanze@otelo.ibmmail.com
Subject: Re: maturity of the STL as a standard in the C++ standard library
Date: 1998/07/14
Message-ID: <6ofjff$7o$1@nnrp1.dejanews.com>#1/1
X-Deja-AN: 371368030
X-NNTP-Posting-Host: 195.75.80.130
Approved: stephen.clamage@sun.com (comp.std.c++)
References: <6m2afs$9e2$1@nnrp1.dejanews.com> <6moued$o53$1@news.interlog.com> <6mrhrn$5uk$1@nnrp1.dejanews.com> <m3btqvpfba.fsf@gabi-soft.fr> <6obh99$2qf$1@shell7.ba.best.com>
X-Http-User-Agent: Mozilla/4.03 [de] (WinNT; I)
Organization: Deja News - The Leader in Internet Discussion
X-Article-Creation-Date: Tue Jul 14 12:38:07 1998 GMT
Newsgroups: comp.std.c++
Originator: clamage@taumet

In article <6obh99$2qf$1@shell7.ba.best.com>,
  ncm@nospam.cantrip.org (Nathan Myers) wrote:
> J. Kanze<kanze@gabi-soft.fr> wrote:
> >I know of one company that did everything using MFC, ...
> >they had initially used a third party GUI library, and were
> >seriously stung when the library vendor when out of business.
> >Their choice was based on the somewhat reasonable assumption
> >that whatever the intrinsic quality of their software,
> >Microsoft would not go bankrupt.
>
> This is a strong argument for using a library whose definition
> is in the public domain.
>
> Companies don't only "go bankrupt"; they destroy products, cancel
> them, render then unrecognizable, change license terms, and what-have-
> you.  Microsoft, though unlikely to go bankrupt, has done all these
> things, and will again because their primary motivation must always
> be to maintain their monopolyi (until they lose it).  Your needs as
> a developer (just as for a user) are incidental to this goal.
>
> This argues for using standard interfaces (e.g. ISO & Posix),

Definitely.  Failing an official standard, an industry standard can also
be useful ; a standard embraced by several competing companies being
obviously preferable to one imposed by a single company.  Still, as I
think I pointed out, when a UNIX port was required, the company in question
was able to find a third party implementation of MFC for UNIX/X.  (I presume
that the implementors did this with Microsoft's blessing, but I really
don't know.)  The more people using a library, the more effective it
is as a pseudo-standard.

And as always, there are trade-offs involved.  The standard X-Windows
API, as well as MFC, is very low level -- the added risk of using a library
like ILog is, IMHO, more than paid for by the increased level of abstraction,
permitting faster development times.

> and
> also for using free libraries.  With a free library there is nobody
> to "go bankrupt" and nobody to make the product unusable for you.

Depending on what you're doing, the "free" library may already be unusable
because of copyright restrictions -- the GPL is about the most restrictive
license I know of.

Globally, licensing, etc. are just more elements to consider during the
evaluation.

Typically, if your vendor doesn't appear too stable, you will probably
be able to get sources.  If he goes under, you may also be able to get
someone to fix the code.  On the other hand, just having the sources
doesn't ensure that you will get a bug fix when you need it.  If it's
a week from delivery, it may be a little late to try and start understanding
the 100KLOC library that was previously a black box.

> Of course a free standard-conforming library is best.

The presence of a second source is an advantage for any library, standard
or not.  Whether the second source is free or not is not really that
significant.

> You can
> always find somebody to maintain it for you, even if not for free.

Perhaps.  Another factor to consider in the evaluation.

> There are not yet (and never will be) an acceptable free counterpart
> for _every_ proprietary library, but when there is, that's the safe
> way to go.

I don't think that the answer is that cut and dried.  There are a number
of factors to consider.  For a standard library, I'd go with the OS/
compiler provider -- even g++ uses the library provided by the OS for
Posix, and I find it hard to imagine a case where I would not use the
standard library provided by the compiler (provided it was provided,
of course).  For an extension library, the stability of the library
and the length of time it has already been around and been maintained
(as an indication of the probability of it continuing to be around and
maintained) would probably be the most important criteria.

--
James Kanze    +33 (0)1 39 23 84 71    mailto: kanze@gabi-soft.fr
        +49 (0)69 66 45 33 10    mailto: jkanze@otelo.ibmmail.com
GABI Software, 22 rue Jacques-Lemercier, 78000 Versailles, France
Conseils en informatique orient�e objet --
              -- Beratung in objektorientierter Datenverarbeitung

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]




