From 5401054814093630696
X-Google-Thread: f78e5,f292bdd67daeb7bb
X-Google-Attributes: gidf78e5,public
X-Google-Language: ENGLISH,ASCII-7-bit
Path: g2news2.google.com!news2.google.com!news3.google.com!newsfeed2.dallas1.level3.net!newsfeed1.dallas1.level3.net!news.level3.com!wn13feed!worldnet.att.net!207.14.113.41!news.alt.net!comp-std-cpp-robomod!not-for-mail
From: "kwikius" <andy@servocomm.freeserve.co.uk>
Newsgroups: comp.std.c++
Subject: Re: C++ Embraces Procedural Programming Over OO Programming [OT]
Date: Wed, 29 Nov 2006 09:58:03 CST
Organization: http://groups.google.com
Lines: 83
Approved: Fergus Henderson <fjh@cs.mu.oz.au>, moderator of comp.std.c++
Message-ID: <1164799891.346141.92780@16g2000cwy.googlegroups.com>
References: <eka8bt$thg$1@news2.ipartners.pl>
   <memo.20061126140058.144A@brangdon.cix.compulink.co.uk>
   <ekd1ul$o3r$1@kujawiak.man.lodz.pl>
   <UvvqlIS46taFFwvB@robinton.demon.co.uk>
   <1164724788.102215.311700@h54g2000cwb.googlegroups.com>
   <ES3bh.7279$yf7.2177@newssvr21.news.prodigy.net>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
X-Trace: posting.google.com 1164799897 8447 127.0.0.1 (29 Nov 2006 11:31:37 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Wed, 29 Nov 2006 11:31:37 +0000 (UTC)
Return-Path: <devnull@stump.algebra.com>
X-Authentication-Warning: mulga.csse.unimelb.edu.au: fjh set sender to devnull@stump.algebra.com using -f
X-Robomod: STUMP, ichudov@algebra.com (Igor Chudov)
X-Original-To: std-c++@mailman.ucar.edu
Delivered-To: std-c++@mailman.ucar.edu
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727),gzip(gfe),gzip(gfe)
Complaints-To: groups-abuse@google.com
Injection-Info: 16g2000cwy.googlegroups.com; posting-host=84.64.48.8;
   posting-account=pit0EQwAAAD9OLsvmYg9jyN3nz5VdUEk
X-Virus-Scanned: amavisd-new at ucar.edu
X-Virus-Scanned: amavisd-new at csse.unimelb.edu.au
X-Virus-Scanned: amavisd-new at csse.unimelb.edu.au
Xref: g2news2.google.com comp.std.c++:4830

"Tony" wrote:
> "kwikius" <andy@servocomm.freeserve.co.uk> wrote in message
> news:1164724788.102215.311700@h54g2000cwb.googlegroups.com...
> >
> > Francis Glassborow wrote:
> >> In article <ekd1ul$o3r$1@kujawiak.man.lodz.pl>, Sektor van Skijlen
> >> <ethouris@guess.if.gmail.com.is.valid.or.invalid> writes
> >> >Stating GUI, as an example, with current approach to the standard,
> >> >either the
> >> >standard has GUI thus making compilers for embedded platforms
> >> >nonstandard, or
> >> >it doesn't have, which means that there is no "standard GUI" thus making
> >> >a
> >> >user learned in "Standard C++" useless for making GUI in favor of guys
> >> >learned
> >> >in C# or Java.
> >>
> >>
> >> There is a far more fundamental problem. Try defining a portable GUI
> >> that is efficient on all platforms that support a GUI concept.
> >
> > Provide a virtual platform and you remove the problem.
> > hmm.... I wonder why no one has thought of that.... ;-)
>
> In your view, how is a cross-platform GUI API different from a
> "virtual platform"? That it implies that other cross-platform APIs
> (such as threads, networking, files etc) aren't included?

To answer that question would need a more definitive description of
what a virtual platform is. However one significant feature is that it
is as an abstraction independent as far as possible of a particular
API, and  API's should ideally be built or adapted to use it as it as a
common base layer.
I don't have a long time to go looking for suitable links, but here is
a random google search for some "int32" type. Some of these types are
the same, some have a tight spec and some have a loose spec, but the
int32 in each API has similar basic functionality and in many cases
resolves to the same C++ type but in many cases a particular API uses
its own naming conventions. A good virtual platform would of course
provide a detailed spec of the semantics of an int32. If  the virtual
platform cannot be implemented on a real platform then that real
platform simply doesnt meet the requirements to be considered as
implementing the virtual platform. Its that simple. In reality though
it might be sensible to work bottom up of course to write the spec to
get some chance of adoption, but that is down to the judgement of the
designers of the spec. A completely "anything goes" spec is as useless
as one that is too tight...

http://msdn2.microsoft.com/en-us/library/system.int32.aspx

http://tinyurl.com/y3vz7c

http://www.lispworks.com/documentation/lw445/LWRM/html/lwref-586.htm
http://tinyurl.com/y8ncn5

http://ftp.omnimark.com/documentation/concept/777.htm

http://developer.gnome.org/doc/API/2.0/glib/glib-Basic-Types.html

http://gtk-gnutella.sourceforge.net/doxygen/structdquery.html

The other way to look at a virtual platform is that is the logical
development from per API cross platform development.

Once you have such a specification you have removed a major hurdle to
cross platform development. Because C++ has no such spec cross platform
dvelopment results in each library duplicating this type of
functionality.

Various times I have heard it is hard to write the spec for such a
virtual platform, but nevertheless they exist for e.g Java and . Net.
Sure its hard, but it makes life much simpler for the user and library
developer.

regards
Andy Little

---
[ 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://www.comeaucomputing.com/csc/faq.html                      ]



