From: Andre Kaufmann on
DeMarcus wrote:
> On 2010-06-22 01:43, Anton Zakitniy wrote:
>> Hello!
> [...]
>>
>
> C++ is one of few internationally _standardized_ programming languages.
> You should be more afraid of the lifetime of languages owned by a
> company. Look what happened to Visual Basic 6.0. It's now deprecated!

Standardization implies here that the language is safe. What if VB would
have been standardized and deprecated too ?
Or if the core language would have been standardized and the GUI
framework not ?

I think the success of C++ is based more on the fact that it has been
widely used and that it's compatible to C, which is the core language of
most operating systems (standardization is a point though).

But all in all I have the feeling that evolution regarding C++ is a
rather slow process due to standardization and that the language gets
more and more complex because some old bad design decisions won't be cut.

> http://en.wikipedia.org/wiki/Visual_Basic

Andre




--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

From: TheGunslinger on
On Thu, 24 Jun 2010 18:34:33 CST, "joe" <jc1996(a)att.net> wrote:

>
>"DeMarcus" <use_my_alias_here(a)hotmail.com> wrote in message news:4c2206bd$0$281$14726298(a)news.sunsite.dk...
>> On 2010-06-22 01:43, Anton Zakitniy wrote:
>>> Hello!
>>> Forgive me if my question is stupid and english is not native for me.,
>>> but it worries me!
>>> I'm not very experienced
>>> programmer. I really like C + + and I want to become a good
>>> programmer.
>>> But something that bothers me.
>>> Will C + + language is enough demand in the near future?
>>> Will it continue to use many, many companies and many, many projects,
>>> not only for operating systems and games?
>>> I not want to C + + is outdated so soon and C# will take up positions
>>> at the C + +.
>>> I would be happy to know the answer from a programming guru!
>>>
>>> I wish you all the best!
>>>
>>
>> C++ is one of few internationally _standardized_ programming languages.
>
>You say that like it is a good thing!
>
>> You should be more afraid of the lifetime of languages owned by a
>> company. Look what happened to Visual Basic 6.0. It's now deprecated!
>>
>
>So what you are basically saying, C++ isn't the worst of 2 evils (?). The
>PL landscape is much larger than C++ vs. proprietary languages. IMO, C++
>will morph or fork or become increasingly uncompetitive (chosen less and
>less by programmers, projects and organizations).

I have chosen to respond to this message because it is very short.
Secondly, this is/has been a really interesting discussion.

It as been a few years since I encountered computer programming, but
let me offer my personal insights.

C and C++ are here to stay just like Fortran, Cobol, Snobol, and a
myriad of other legacy languages. Many applications written 40 years
ago are still being used today, and people are needed to maintain the
code or to write additional modules to update the applications to
today's requirements.

Sometimes these updates are written in the base language, but more
often are coded in one of the more recent languages and called from
the base application.

As long as the ISO maintains a standard and/or keeps
developing/updating a standard, I think it is safe to say that that
language is going to be around for awhile. I think ISO policy is to
maintain a standard for about 10 years after its last update? Anyone
know?

Currently, there is a demand for people to learn legacy languages for
the expressed purpose of maintaining older applications, but, also, to
convert those applications to code supported by the newer CPU's.

For example, Intel x86 CPU's support 8/16/32/64 bit applications and
OS's (Operating System). BUT with the advent of Windows 7, Microsoft
has chosen to eliminate support for applications based on 16-bit
technology (8-bit technology disappeared years ago.). The net result
is that older 16-bit applications and many 32-bit applications will
not run under Windows 7.

Additionally, Microsoft has dropped support for legacy OS's that could
run many of those applications. And Microsoft has a policy of
eliminating OS support roughly 5-years after a newer OS has been
released.

XP SP3 is scheduled to become unsupported at the end of this year, I
believe, in December? That will leave Vista and Windows 7, and some of
the server-side OS's.

Historically, BASIC was one of the first languages developed for the
explicit goal of teaching basic programming concepts. It was so
successful that it became an unofficial standard and was included in
bundled software for the earliest computer hobbiests.

More recently, Pascal became the language of choice for introducing
students to programming, and then C++. Now JAVA and JAVAScript are
being utilized.

My point being is that programing logic doesn't change much as is
exemplified in Don Knuth's series of texts on Programming Algorithms.
What changes are the tools we use to implement that logic.

So, go learn C++. You will learn all the basic programming logic and
concepts of the language which can be utilized to learn a second or
third... programming language.

If your concern is employability, don't worry, there are so many
programs writeen in C++ now that if and when C++ becomes a legacy
programming language, you will still have a job for 40 or more years
to maintain, support, or update the code to more modern CPU's and
programming languages.

IMHO...

MJR

--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

From: Jeffrey Schwab on
{ please consider bringing this back closer to C++. otherwise it
seems to be losing the context. thanks. -mod }

On 6/26/10 4:23 AM, Andrew wrote:

> Top of my list of functional languages to learn is Erlang. This is
> starting to be used more and more in financial circles due to the good
> support for parallel processing.

> Java is probably the most
> popular but erlang is very up and coming.

That would seem to bode well for Clojure.
I wish Haskell had better library support.

--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

From: Francis Glassborow on
TheGunslinger wrote:

>
> So, go learn C++. You will learn all the basic programming logic and
> concepts of the language which can be utilized to learn a second or
> third... programming language.
>

There is a danger there. Far too many people treat every PL as a dialect
of whatever language the learn first (You can write Fortran in any language)

The great advantage of learning diverse language (whether human or
computing) is that it expands your range of thinking. Many people have
great difficulty with, for example, Lisp because they cannot easily get
it to match the way they solve problems in a language such as C, C++ or
Java. But that is exactly why getting some mastery of Lisp (Prolog,
Forth, Haskell etc) is so beneficial. Note that each of those languages
is very distinctly different and it does take time to understand how to
use them, but that time spent will be rewarded.

Just as time spent learning Arabic, Chinese, Japanese and at least one
aboriginal language is much better than learning five European
languages. It is the fundamental differences that broaden your
understanding, not the similarities. Of course that also makes them hard
to learn.

If I had my way (perhaps it is fortunate that I do not) I would require
every child to learn Sign (very useful even if you are not deaf), at
least one near eastern language (arabic, hebrew etc) and at least one
far eastern language (one of the Chinese languages, Japanese etc.) And I
would require similar diversity from those learning programming.

In the hands of a good teacher C++ is an excellent language but that
should not be the end of your programming learning. And learning C++
will not actually be that helpful when you come to learn Forth or Lisp
though it might make learning Java or C# rather easier.

C++ is an exceptionally large language that allows you to express
problem solutions based on several different paradigms but many find
that hard to grasp, they just think C++ is hard and confusing.

--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

From: Le Chaud Lapin on
On Jun 24, 7:37 pm, "joe" <jc1...(a)att.net> wrote:
> I disagree. Doing something to learn something else is not an efficient
> use of time. To learn other paradigms, read some books on language
> design. No need to to get deep into other languages unless you are still
> deciding on which language to use primarily or for your domain. This is
> an area where it is beneficial to work from the higher-level surveys
> rather than use a bottom-up approach. Quick looks at other languages,
> noting their feature sets and how and when they are applied is good to
> do, but certainly you don't have to become a programmer in the language
> to assess it's viability. Use your time wisely.

There is an implicit untruth that is told by every person who compares
without qualification C++ to languages like Java/C#/Python :

Programmers who rightly call themselves proficient in C++, generally
speaking, are more competent, as engineers, than programmers who call
themselves proficient in languages like Python.

This discussion we are having regarding languages as tools...it exists
in parallel engineering disciplines.

For example, during the middle of the 20th century, there was heated
debate about whether the phasor method, using basic trigonometry, or
the Laplace transform method, using complex analysis, was better for
circuit analysis for electrical engineers. Not suprisingly, all those
who were not very good at math claimed that the trig-only method was
better. All those who liked the idea of -1 having a square-root
preferred the complex analysis method. These two groups of people
fought vigorously, each certain that their point of view was correct.
The US military faced the dilema of choosing whether to go with
something that was easy for all the students to understand, versus
something that was too complicated for most. [Sound familiar? .NET vs C
++ anyone?] Today, no electrical engineer in his/her right mind tries
to analyze circuits using phasors. It's ridiculous. All the pro-trig
people have been squeezed out. The power of Laplace transforms simply
overwhelmed the trig-only method. Doing complex analysis today is like
eating fruit for professional electrical engineers.

The point is this:

It is not enough to compare languages. One must also compare the
engineers, and what exists in the mind of each engineers after s/he
has learned a language.

A person who masters Python, in general, cannot compare to one who
masters C++. The very notion that someone is a master of C++ implies
that s/he knows more about software engineering than someone who has
mastered some other high-level interpreted language.

Which engineer do you want on your team...the trig-only guy who was
frightened off by complex analysis, or the Laplace transform guy who
does not know trig-only method? One easily learns what the other
knows, but the converse is not true.

As I have said before, this whole discussion is actually about class
struggle in software engineering, and we are in the midst of this
struggle at this very moment.

-Le Chaud Lapin-


--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]