473,804 Members | 3,607 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

What's about the future of C++?

What is the future of C++?, and what is the C++0x? and is it really
going to include a standard portable libraries for GUI, networking,
embedded systems and so on?

May 31 '06
29 2334
Earl Purple wrote:

Those who have implemented GUI will not be out of work - as even
standard GUI will still need implementations (just like Roguewave were
not out of work when STL came along). And as I said earlier, the
current libraries could probably be used to implement the standard
interfaces anyway.


Just a small point, I can tell you first-hand that Rogue Wavers were in
fact put out of work as the STL came along and matured.

-York
Jun 1 '06 #21
Earl Purple wrote:
[..in response to my questions..]
What console functions? It seems you have a wrong impression about
what
the Standard Library contains at this point.


std::cout is part of the standard, isn't it? And even printf is still
there inherited from C.


Yes, and what relationship to console do they have? Is that because
_your_ OS associates the console with the standard out? It has nothing
to do with the language or the library.

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
Jun 1 '06 #22

homsan toft wrote:
kwikius wrote:
Which major parts of GUI technology are moving so fast?


Guis are new in the computing world, compared with eg filesystems.
The basic features and uses have hardly stabilized yet.


Apparently GUI has been around in some shape or form since the 1950's.

http://www.macos.utah.edu/Documentat...sxone/gui.html

What is striking is how little we have moved on. See Xerox Star in the
above link.

Also interesting Wiki:
http://en.wikipedia.org/wiki/History_of_the_GUI
The common features of Mac, Windows, java and web forms are
beginning to form a kind of useful core that isn't *just* minimal.
But there are still parts that may be useful to everyone but have few
widely-used implementations to look at or submit - no standard spreadsheet
component and only a few tree displays.
Having recently installed Fedora Linux I was amused at the similarity
between OpenOffice Calc Spreadsheet App and Microsoft Excel.

The Web influence is a good point however. Browsers are a (relatively)
platformless GUI. Also intersting is XUL:

http://xulplanet.com/tutorials/whyxul.html

though I havent gone that far into it yet.
Fonts are available for each system, but work quite differently
... etc
Though the interface for user to pick a font is often quite uniform
AFAICS and that is what this is about really, a common interface. There
are parallels to e.g picture/graphics formats. Many file formats
translated to one screen format.
Also, some infrastructure that shouldn't be provided just for the gui library
is not in place - eg no signals in c++ yet.

Then, for a successful submission someone usually picks up from experience of
widely used implementations , and provides something with a leap of usefulness
and generalization (stepanov with STL, boost'ed libraries like regex...)
This just hasn't happened yet for guis, but maybe it does sometime within the decade.
(not in time for c++0x though, unless 0x is the hexadecimal prefix)
Sure. If it happens it wont happen soon and will not happen by magic,
but that is no reason to give up on it.
There's a big discussion on boost list once or twice a year, someone starts a
proof of concept implementation, then it bogs down because there's absolutely
no agreement on the problem to solve, scope of solution or even basics of
2D points...


The discussions on Boost may have died but again its no reason to give
up on the goal of having a standardised C++ GUI AFAICS.

regards
Andy Little

Jun 1 '06 #23
kwikius wrote:
homsan toft wrote:
Guis are new in the computing world, compared with eg filesystems.
The basic features and uses have hardly stabilized yet.
Apparently GUI has been around in some shape or form since the 1950's.

Also interesting Wiki:
http://en.wikipedia.org/wiki/History_of_the_GUI
So there. Filesystem may be bad comparison - but programming in recognizable form
goes back to 19th c - it still makes GUIs "relatively recent" in some sense.
The common features of Mac, Windows, java and web forms are
beginning to form a kind of useful core that isn't *just* minimal. Having recently installed Fedora Linux I was amused at the similarity
between OpenOffice Calc Spreadsheet App and Microsoft Excel.
That's because StarOffice (the base for O-O) was a direct clone that purposely
tried to match most of Microsoft Office feature by feature - and was good at it.
See http://wikipedia.org/OpenOffice
The Web influence is a good point however. Browsers are a (relatively)
platformless GUI. Also interesting is XUL: http://xulplanet.com/tutorials/whyxul.html
As is Qt, FLTK and the UI toolkit of OpenOffice.

I like the 6-line C++ API of a Flash gui - http://codeproject.com/useritems/FlashGui.asp
Event I/O takes another couple of dozen lines.
Then Flash programmers can do all the interaction and graphics,
and let C++ programmers work with algorithms.
Doesn't quite cut it for standardization of course, but a rad approach.
Then, for a successful submission someone usually picks up from experience of
widely used implementations , and provides something with a leap of usefulness


Sure. If it happens it wont happen soon and will not happen by magic,
but that is no reason to give up on it.


No notion of giving up, just telling the OP that it likely won't be in next standard version.
Regards,

homsan

Jun 1 '06 #24
Earl Purple wrote:
Victor Bazarov wrote:

But doesn't this simply mean that you need Product XYZ which
*already* supports all those things (and probably more), and there
is no need to have this in the Standard library? Just asking...
But they won't all support it with the same API. Common API, different
implementations .


Who they? I am saying "Product XYZ" (as in "a single product"), and
please don't ask me to name any examples, so common API is *already*
at your disposal.
Of course, for those things that the standard won't support, you'll
still need other libraries. If the standard supports enough for 80% of
apps that have a GUI content not to use library-specifics, it would be
worthwhile having one.


Oh, yes... Of course. Meanwhile we'll complain about something else
that doesn't exist in the standard, like programming of tactile
interfaces or genome manipulation or ...
Jun 2 '06 #25
* kwikius:
Phlip wrote:
homsan toft wrote:
An updated standard that they hope to finish before 2010.

...
for GUI,
No, probably not.

There's the slight problem of hitting a fast-moving target with a
slow-moving projectile there...

;-)


Which major parts of GUI technology are moving so fast?


Depends what you mean by "fast".

The last ten years we have seen a major shift from procedural to
declarative GUI design, separating the visual aspects as XML (e.g.
Mozilla's XUL and Microsoft's XAML).

This means a C++ GUI framework for 2008 and a few years onward, should
better not be concerned with how to e.g. create buttons, but only with
how to react to button events (or perhaps at a higher level of
abstraction, user commands) and establish the connection from XML to C++
code.
--
A: Because it messes up the order in which people normally read text.
Q: Why is it such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
Jun 2 '06 #26
homsan toft wrote:
So there. Filesystem may be bad comparison - but programming in
recognizable form
goes back to 19th c - it still makes GUIs "relatively recent" in some
sense.
It ain't the depth of history, it's the breadth of application. The shiny
thing in your cell phone is a GUI, too.

A Standard C++ Implementation must promise to support the same purported
Standard GUI across the broadest range of platforms which have screens and
input devices. So, jack of all trades == master of none. Such a GUI wouldn't
be competitive even with a portable GUI, like wxWidgets, that supports fewer
platforms.

And by the time we have this Standard, the 3D GUI Desktop will have matured.

Now discuss how Standard C++ could support the kernel of a GUI - maybe a
message pump, windows, common widgets, a canvas, and an HTML portal - and
then support generic plug-ins. Similar to custom iterators in STL, such
platform-specific plug-ins could then host all the platform-specific
extensions, following local de-facto standards.
Doesn't quite cut it for standardization of course, but a rad approach.


Today's discovery:

http://sourceforge.net/projects/stickwiki
"Wiki on a Stick"

It's a single self-modifying HTML file containing a passable Wiki. [Only
works on FireFox, but] imagine our Standard GUI with its HTML portal hosting
such a file. Instant power-usage, in a handy portable container. Our GUI,
HTML, and Ecmascript would all be (variously) Standard, too.

--
Phlip
http://c2.com/cgi/wiki?ZeekLand <-- NOT a blog!!!
Jun 2 '06 #27

Sgt. York wrote:

Just a small point, I can tell you first-hand that Rogue Wavers were in
fact put out of work as the STL came along and matured.


And a lot of us who have been writing infrastructural type c++
libraries have been made redundant by boost.

Jun 5 '06 #28

Victor Bazarov wrote:
Oh, yes... Of course. Meanwhile we'll complain about something else
that doesn't exist in the standard, like programming of tactile
interfaces or genome manipulation or ...


like concurrent programming (threads) or networking and database
interaction? i.e. common programming paradigms?

If there's a big demand for it, why not have a standard for it? Even if
the demand for it is limited and it's added to the standard, nobody is
forced to use that part of the library, just as I rarely use locale and
never use valarray now.

Jun 5 '06 #29
Earl Purple wrote:

Library additions will go include the shared_ptr and scoped_ptr from
boost. Not sure about any of their other libraries. (Others can fill me
in). Would be nice to see bind in there, although some would propose
some language changes to aid that.


There's no proposal for scoped_ptr. But all of TR1 except for the math
special functions is now in C++0x.

--

Pete Becker
Roundhouse Consulting, Ltd.
Jun 9 '06 #30

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
1748
by: Pavils Jurjans | last post by:
Hallo, I yesterday was browsing the book, JavaScript The Definitive Guide (4th ed), which is, unquestionably, the best reference book for JS. To my surprise, I didn't find any documentation about the static properties of global RegExp object, ie, RegExp.lastMatch, RegExp.leftContext, RegExp.rightContext, and all those RegExp.$x properties. I lloked up the ECMA-262 PDF and to my surprise realized that they are not included into the...
35
3363
by: GTO | last post by:
I do not believe that C# is the future of C++. I also do not believe that adding two thousand new library functions to the standard library is the future of C++. But what is the future of C++? Is it as good as a programming language can get? Like so many of you, I programmed speech recognizers, image recognition systems, a portion of a chess program, lots of numeric code using STL, and tons of other applications in C++, (even firmware...
121
10196
by: typingcat | last post by:
First of all, I'm an Asian and I need to input Japanese, Korean and so on. I've tried many PHP IDEs today, but almost non of them supported Unicode (UTF-8) file. I've found that the only Unicode support IDEs are DreamWeaver 8 and Zend PHP Studio. DreamWeaver provides full support for Unicode. However, DreamWeaver is a web editor rather than a PHP IDE. It only supports basic IntelliSense (or code completion) and doesn't have anything...
2
3679
by: Martin Høst Normark | last post by:
Hi everyone Has anyone got the least experience in integrating the Digital Signature with an ASP.NET Web Application? Here in Denmark, as I supose in many other countries, they're promoting the digital signature. A lot of people already has one, to do their taxes, and much more. I have to use for a business-to-business e-commerce solution, where it's vital that the right user is being logged on, and not give his username and password...
2
2170
by: | last post by:
Everything seems to be moving to .NET and VC++ seems to be adding a lot of managed code support every new release. The questions: is unmanaged code in VC++ beeing phased out in favour of managed code? And suppose I still program in VC++ 6.0, can I safely assume that the code I use in VC++ 6.0 will still be available in future VC++ versions. Finally will VC++ 6.0 generated executables be still be able to run on futur Windows versions and...
8
3192
by: Midnight Java Junkie | last post by:
Dear Colleagues: I feel that the dumbest questions are those that are never asked. I have been given the opportunity to get into .NET. Our organization has a subscription with Microsoft that basically entitled to us to just about every .Net development tool you can imagine. I cant even begin to mention them. To begin with, my background is not that of a programmer, but a systems engineer and the closest I have come to "programming"...
23
1927
by: yezi | last post by:
Hi, all: The 1st sendtence: int main(){ char string={""}; string = {" connected "}; ..... }
133
6954
by: Alan Silver | last post by:
Hello, Just wondered what range of browsers, versions and OSs people are using to test pages. Also, since I don't have access to a Mac, will I have problems not being able to test on any Mac browsers, or is there some other way of checking? TIA --
39
3237
by: windandwaves | last post by:
Hi Folk I have to store up to eight boolean bits of information about an item in my database. e.g. with restaurant drive-through facility yellow windows
2
1959
by: mak1084 | last post by:
hi guys, I'm totally confused for my future...Right now I just started working as jr. php programmer. But I'm Confused about my future Coz here where I'm working is giving me very very less as compared to what a Jr. programmer should get. I dont mind this coz i'm getting experience and this is my first job. but still I htink that a PHP programmer Does not have as good future as any other pro programmers have like java or .NET. So my...
0
9579
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10571
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10326
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
10075
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9143
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7615
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6851
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5520
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
3815
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.