The Future of C++ ?

T

Tony

Greg said:
Frederick Gotham wrote:
In other words, is programming difficult, or is it just
that C++ makes it so? The fact that individuals are able to program
productively in other languages that lack C++'s complexity does lend
support to the latter point of view.

The second statement above is not necessarilly true: C++ can mean
"programming close to the bare metal" which can be more difficult.
The nice thing about C++ is that it let's one program at that level if
they want to. One can just as easily program at a higher level by
using libraries that abstract the underlying complexity. Consider
for example that one can purchase a bullet-proof library of internet
protocols and interact with servers out on the internet without
knowing or having to implement such stuff. Granted, knowing how
it works is usually important, but one doesn't have to be the
architect of such software in order to use it. As a developer (no, I'm
not exclusively that!), I don't like languages that do it all for me and
don't allow me to do it on my own or my way if I want to. My analogy
is the English language. I'll use it as I wish (C++) and not be constrained
by "political correctness" (java?). I'll make my point how _I_ want to.
And if I want to use STL or not is my choice. If I want garbage
collection, I can have it, or not! :)

Your post has a lot of questions/concerns that people who haven't used
C++ I think. I don't think C++ is too complex. I won't think so unless
it starts imposing policies on what I can or cannot do with the language.
Sure all the template stuff is getting "real evolved" (complex), but if
you don't use or need that, it doesn't make requirements of you as the
developer.

Overall, if one "does C++ by the book", yeah, I'd agree, there's a lot
to know. Over time, one discovers what one needs and when and
breaks away from the newbie programmer "everything all the time"
programming "model".

Tony
(For me, switching to a programming language away from C++ or asking
me to consider such, would be like asking me to trade English for another
language (read: I don't have that much time left on the planet and I have
better things to do!))
 
T

Tony

Greg said:
Frederick Gotham wrote:
Like a program written in a managed language versus one written in C++,

"managed language"?? You've been watching too much TV! LOL,
"managed language". Even the chosen MS terminology is repulsive.
Using a word that to programmers means "repressed", is pretty stupid
marketing, don't ya think?

Tony
 
T

Tony

Greg said:
Frederick Gotham wrote:
Neither approach is necessarily "wrong" and in fact both make sense in
their own way. A C++ programmer does not need a simpler language in
order to program, just as someone who can drive a manual transmission
does not need an automatic transmission in order to drive. So both the
C++ programmer and the skilled driver are likely to prefer to have a
faster program (or a faster car). Whereas everyone else - those who
lack the skills to program in C++ or to drive with a stick shift -
would prefer that technological advances be used to produce a
programming language they could program in - or car they could actually
drive.

_I_ think you have used analogy (or euphemism?) in the wrong way. The
only time using such is good is if someone isn't understanding what you
said and you give "a kinda like". But to go deeper into the parallels, which
almost never relate, is perilous.

So, I'd say, if you want talk cars, talk cars. If you wanna talk programming
languages talk those. There is no need to talk around every element via
remote abstraction (and it's even "incorrect" to do so in that is doesn't
help anything).

Tony
(The other time when analogy is wrong is in counter to a preceding analogy
which of course is just USENET analogy war material and has nothing to
do with the original point at all (read: it's a pissing contest!)).
 
P

Phlip

Tony said:
"managed language"?? You've been watching too much TV! LOL,
"managed language". Even the chosen MS terminology is repulsive.
Using a word that to programmers means "repressed", is pretty stupid
marketing, don't ya think?

Absolutely. Programmers should be free to write whatever they feel like, and
mantain their own servers, without people around them telling them what to
write and keeping their servers up for them.
 
T

Tony

kwikius said:
I'm sure you don't mean nobodies interest. It is certainly in the
interest of newcomers trying to get to grips with the language.

If I was an instructor at a university, I would NOT put templates into a
first semester class. That's an advanced and additional paradigm and
requires choice to "buy into" IMO. I view C++ as a smorgasbord: I'll
eat what I want and like (no sushi for me!).

Actually, even before C++, it would probably be better to take a
general studies course on programming paradigms! Then students can
take C++ as an course tailored to their needs. (No, that won't work,
cuz students by definition can't make that choice). Oh well, something
like that then.

Tony
(Templates are KINDA like sushi, for me)
 
T

Tony

you can also argue that in fact this is just yet another layer of
complexity, and so the only way to make the language simpler is to
write another language, extracting the 'useful' parts of C++.. hence
Java and C#.

No. No need to extract. Just use what you need, ignore the rest. The other
facilities are there if/when you need/want them. No need to throw the
baby out with the bath water (or whatever the appropriate cliche is...
hey, isn't English HARD?!).

Tony
 
T

Tony

At the language level, there is only one way for C++ to go and that is
to become even more complicated as you can't remove features of course.

But C++ doesn't force you to use those things. The only time you'd be
concerned with the complexity of the entire body of C++ is if you wanted to
produce a conforming implementation (compiler).

Tony
 
T

Tony

A big problem is the libraries. There are often questions on
comp.lang.c++ regarding Graphics and a GUI on the one hand and also
vehement responses on the other that C++ doesnt need a standard GUI or
graphics libraries There seems to be powerful interests at work. It is
surely in some peoples interests that C++ does become ever more
complicated with out any actual usability features (e.g libraries for
common tasks) and more and more newcomers will simply stick with Java
and C# and so on, where they can get the libraies off the nearest
shelf.

Someone else please chime in on the availability of C++ libraries. There is
a lot of them available. I think what you are saying is that you don't want
to shop/evaluate/choose from a number of them (?).

Tony
 
T

Tony

There is no money behind C++ except from companies and maybe many of
their interests lie elsewhere.

Whatever that means.
Its the lack of good libraies that will kill C++ AFAICS.

Example please. What area is missing "good libraries" and what would,
for you, make it a "good" library? (Perhaps FREE?)
And BTW. I am putting my time where my mouth is and currently working
on a C++ GUI library to fill the gap. I'm not making any code public as
babykilling is too simple of a pastime.

regards
Andy Little

I know that name. The Minix newsgroup?

Tony
 
T

Tony

Every programming language has a prime life time and every programming
language is eventaully superceded. C++ is no exception to the rule. C++
did it to C after all.

That's conjecture. In a previous post, I said that I'm as like to switch
from
C++ as I am from English!

Tony
(Or maybe not EVEN conjecture: facetiousness/pessimistic optimism/or...
the dreaded "manager making decisions on shallow/one-point data! Try
trend analysis instead, it may serve you better.)
 
T

Tony

Frederick Gotham said:
Greg:



But that's how all professions work! If just anyone could design space
shuttles, then NASA would pay peanuts.

A loooong time ago, I worked in a place where there were union workers.
That's where I learned the concept "job security". Not that _I_ ascribe to
such strategy (I feel there is an infinite amount of stuff to do after
tackling
what I'm currently working on) but some actually LIKE the "mundane,
repetitive, non-cognitive" work. But to milk it like that is probably
"wrong".

And the only reason I bring up that concept, is because.. well we've all
seen products that are produced just to make money right? Where is
C++ at this juncture along those lines? I dunno, but if "it" ever turns a
corner and starts imposing policy or paradigm, I'll stop using it and
call it proprietary.

Tony
 
T

Tony

Maybe we can categorise people as follows:

(1) They go for manual transmission from Day 1.
(2) They start off with automatic transmission, then move on to manual
transmission.
(3) They start off with automatic transmission and stay with it their
whole
life.

Stop this stuff already, puh-leese!

Tony
(An analogy taken too far is like two in the bush. Let me explain... well,
it's
like rock-n-roll guitar "music": it's not really music, it's masturbation!).
 
T

Tony

I believe that developers are using templates too few.

Well you're obviously wrong. ;)
The book I suggest to C++ beginners is Accelerated C++.

That's a fine book. I have it in my bookshelf also. It's title though
says "advanced", and I think there it should stay. It's not first course
material or entry-level programmer stuff. I highly recommend that
book though: it really teaches the underlying themes/mechanisms.
I didn't
actually read it

Well it more of a research book than a book to read.
One of the more remarkable facts about the book is that template
functions are introduced in chapter 8 while classes are left for the
chapter 9. I think it's not because they are more important than
classes, but rather because they are easier to learn and they can
simplify your code.

I didn't really like the examples either. The whole student/grades thing
is so boring.
In your OOP orientation you fail to see that you often need helper
functions to simplify the code and improve its readability.

No, that's an assumption you are making (and assumptions are most
often wrong you know).
Bluntly put, if you avoid using templates, you avoid one of the best
features of C++.

Templates are optional. "Use them if you are lazy". ;) (No, I won't
expound on that, so don't ask).

Tony
 
T

Tony

blangela said:
I notice that I have not seen a single post in this thread from an
instructor stating that their C++ classes are increasing in size, or
even maintaining their size. I know that I get students from UBC (one
of the 2 large local uniiversites, the other being SFU) who want to
learn C++. They complain that it is no longer available at UBC. Also,
when I first started teaching C++, there were several other local
colleges doing the same. Now I believe only BCIT (where I teach) is
still doing so.

Well note too that the bookstores are dumbing down the book selection to
commercial product manuals rather than computer science stuff. Today's
generation of "programmers" are closer to assembly line workers than
their predecessors.

Tony
 
K

kwikius

Tony said:
Whatever that means.


Example please. What area is missing "good libraries" and what would,
for you, make it a "good" library? (Perhaps FREE?)

"Standard". GUI, graphics, dlls, IPC, concurrency.


regards
Andy Little
 
K

kwikius

Tony said:
Someone else please chime in on the availability of C++ libraries. There is
a lot of them available. I think what you are saying is that you don't want
to shop/evaluate/choose from a number of them (?).

I don't and more to the point beginners to the language don't or rather
won't. They will and do already use another language where those
libraries are available. Supermarkets are more successful than
specialists. Why, because people havent got the time to go around all
the specialist shops individually. Most things people want in a
supermarket are similar and 'good enough', and there is nothing
stopping them going to a speciailist if they wish. Further in the
supermarket everything is compatible "generic" (e.g barcodes), feedback
on one product can be used for others. cross fertilisation occurs
formally and informally The supermarket is also a meeting place for
people who want different products, so you can usually get advice from
someone in there as to whether some product is good or not.

Go ask in the specialist shop and their particular product is bound to
be marvellous of course.

regards
Andy Little
 
B

blangela

Tony said:
Well note too that the bookstores are dumbing down the book selection to
commercial product manuals rather than computer science stuff. Today's
generation of "programmers" are closer to assembly line workers than
their predecessors.

Tony

I agree with you on this point. I know of a Java instructor at my
school who feels it is a waste of time to teach students data
structures or sorting algorthms -- Java provides different container
classes and sorting algorthms to select from, so why should the student
need to learn these topics. I disagree. I feel that there is still
room for the "science" in "computer science".
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

No members online now.

Forum statistics

Threads
473,756
Messages
2,569,540
Members
45,024
Latest member
ARDU_PROgrammER

Latest Threads

Top