survival of c++

J

Julie

No extra -- don't waste time trying to compare and contrast them as to which is
better, extra stuff, etc.

C# has a lot of its power in the supporting framework. The pure language,
aside from intrinsic garbage collection is very close to C++. So, I guess that
you *could* compare just the languages, but really, that has virtually no value
that I can see.

So, if you know C++, you already basically know C#. However, there is a pretty
big .NET framework that you must learn in order to really understand the whole
..NET thing.
And essentially I know what C# provides since I have been learning .NET
programming, and .NET provides the same API and constructs for all
languages. So C# so far supports only OO programming with single
inheritance only, and it emulates multiple inheritance with the use of
interfaces. Nothing else.

..NET supports VB.NET, C#, and managed C++ (and some others) -- they all have
access to the same framework, and impose the same restrictions.

Multiple inheritance isn't emulated in .NET, it flat out isn't supported. The
only MI that is supported is multiple interface.
 
E

E. Robert Tisdale

jimmy said:
I am presently working in C++. It is flexible and efficient.
But it is not the reasons for the language to survive
as hardware is running ahead the capabilities of software (why efficiency?).
Java is a cool language and .NET too even for mobile devices and embedded systems.
Can anybody give some valid reasons so that I can understand why
C++ will survive in the coming years.

You should expect C++ to survive for a long time
because there is no practical replacement for it.
It is practically impossible to write device drivers,
real-time programs, operating systems or high performance applications
in Java so Java can *never* replace C++.
It is still very dangerous to invest in Java development
because there is *no* publicly owned standard for Java.
 
I

Ioannis Vranos

Julie said:
No extra -- don't waste time trying to compare and contrast them as to which is
better, extra stuff, etc.

C# has a lot of its power in the supporting framework. The pure language,
aside from intrinsic garbage collection is very close to C++. So, I guess that
you *could* compare just the languages, but really, that has virtually no value
that I can see.

So, if you know C++, you already basically know C#. However, there is a pretty
big .NET framework that you must learn in order to really understand the whole
..NET thing.


Yes, the framework is vast and is expanding, you can't learn everything
one has to specialise. The XML section for example is a world of its
own. The same applies for Web services, Encryption, Databases, GDI+,
etc. You can only learn the basics and then specialise.

But that has not anything to do with C#, itself, so why "C# will prevail
and C++ will be used only for systems programming" is not clear to me.
Actually it reminds me the VB 6 days, when I heard the same stuff, and
never happened, and actually it was harder to make Windows GUI
applications in C++ than VB (at least in VS, because there was BC++
Builder), but in 1991, C++ was at 2.6 million programmers worldwide
while VB was around 1 million (and Java was third).


Now with the RAD stuff (the same RAD for all languages in VS), I see it
more difficult why "C# would prevail".


There is an ongoing serious discussion in clc++m about C++/CLI and I
think you should check it. An interesting thing is that C++/CLI will
support making GC objects (looking as if being ) in the stack, and
destroyed at the end of their scope (deterministic finalisation), along
with managed objects in unmanaged heap which is possible nowadays too.


So

ref class myclass
{
// ...
};



void whatever()
{
myclass x;

// ...


// x is destroyed at the end of the scope
}


myclass ^x=gcnew myclass;


// "Managed type" object in the unmanaged heap
myclass *y=new myclass;

// ...

delete y;



The stack stuff especially, can't be done with C# and probably will not
in the next version of VS, so actually C++ will be more .NET than C# and
VB, at least for the coming period.






Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
 
I

Ioannis Vranos

David said:
No one can predict the future. No one knows C++ or even Java will survive.



However standardised languages will always be around. So even if for
example VB becomes the dominant programming language ( ;-) ), there will
always be some C++ compiler around since C++ is standardised. Consider
HTML, it will always be around, in the sense that it will be recognised.



My experience tell me that mastering one programming language is not enough
in today's environment. The more languages you learn, the better programmer
you are. But you have to understand the relationship between these
languages. Here is the stack:

Java or C#
C/C++
Assembly
Machine Code

That is, if you want to be a good Java programmer, know C/C++ will help. If
you want to be a good C/C++ programmer, know Assembly will help. My
suggestion is know at least tow languages. I prefer C/C++ and Java, which
are platform and vendor independent.



Actually from your other posts I think you prefer Java. :)

If you learn C#/CLI or so called C++/CLI, I am sure you will be
outdated after 5 years.

Why?



FYI: C++/CLI is the worst language you want to learn. Not only you have to
learn two sets of APIs, one from CLI and one from standard C++ library, but


No, C++/CLI has not any API. CLI has a small, fundamental API of its own.


Myself always try to be system-neutral as much as possible. That's why I
have not learned Java unless it becomes standardised, and only learn a
proprietary language (like Java) only when I have to.


C# and CLI on the other hand are standardised, so there is already a
port of them to GNU/Linux even from these first days.

C# programmers although, tend to have the same naive with Java ones
approach, that C# can do everything, perhaps because these days everyone
making a form with drag 'n drop considers himself a programmer. :)


On the other hand, C++/CLI and CLI are standards so there are going to
be many implementations of them in many platforms.


So the better thing would be for the company that owns Java, to
standardise it along with the VM, so as many others to be able to
innovate in the platform and it can always will have the leading role in
Java evolution, instead of trying to sell its own PCs with its own OS
and its own programming language, Java!

That would be the best thing for Java (and then I would learn it too).






Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
 
R

Robbie Hatley

Fraser Ross said:
"Ioannis Vranos"

Pascal has function types and the closest thing in C++ is a pointer to a
function.

C and C++ have function types. For example, in the
following, "Crunch" is a function type:

#include <iostream>
typedef double Crunch(int, char);
void Bite(Crunch Munch) {std::cout << Munch(7, 5);};
double Chomp(int a, char b) {return (double)(a*b);}
int main()
{
Bite(Chomp);
return 0;
}

Looks useless, but actually, I've made good use of
that scheme to pass a function of a given type to
a second function called "Recurse" which executes
the first function once for every subdirectory of
the current directory. Very good for file utilities
such as duplicate-file removers and file renamers.

--
Cheers,
Robbie Hatley
Tustin, CA, USA
email: lonewolfintj at pacbell dot net
web: home dot pacbell dot net slant earnur slant
 
A

Anonymous

Everybody seems to be bothered about the "object oriented features" and "ready
to code" features. I think Java, C# etc has exaggerated these things to make it
applicable to a narrow subset of problem solving. In due course what has
happened is, it has lost the fundamental feature of flexibility. When people
talk about C/C++ it is a bridge between low level language and a high level
language. Java,C# etc very high level language. don’t forget that these are
developed on C++. But can you imagine some language developed on Java/C#. Jython
comes to my mind, but I have seen how it performs over native python Guido has
developed. When ever there is requirement of high level performance, it is very
difficult to do with high level languages. C/C++ can be tuned to get the maximum,
which is very essential for big applications.
The higher the language in the ladder, the more resource crunchy it will be.
Unless a high level language, is developed from scratch like c/c++ it will tend
to be weaker in performance and narrower in its scope. Can you imagine highly
graphical intensive work done in any of the high level language above mentioned
? I am sure Java will be lacking very much compared to c++, also java is not
supposed to do that, though it supports. I don’t know any industrial CAD
applications written in Java/C#. CAD is one such area where high performance is
very important.
When it comes to develop applications where performance is not very big
criteria but robustness in terms of garbage collections and other nuances, in a
small time, people will tend to vote for of java or c#. But when you say that
you are going to develop a product which will beat an existing application in
terms of performance, you will be thinking in terms of c++. Take the case of
Microsoft Office and OpenOffice.org. Compare the performance forgetting the
features. Compare IE,Mozilla with HotJava browser. You will get a feeling of how
much you will be getting from C++.
Conclusion: There is no argument that java/c# will kill c/c++ but the choices
for a particular application have increased. The number of application
originally written in C++ will diminish a bit, but that doesn’t mean that it
will be dead. It is like a new car manufacturer entering a already very
competitive automobile industry. The new guy has to place his product very well,
show the features, so that the intended customers will get interested. He will
be thinking to get a market share, but not to eliminate any established
manufacturer. So, as much you talk about the risk of C++ getting wiped out,
there is risk for Java/C# also if it cant match with new features of C++ like
extended support for generic programming in c++ will be standard part of C++
shortly.
 
R

Rob Williscroft

Robbie Hatley wrote in in comp.lang.c++:
C and C++ have function types. For example, in the
following, "Crunch" is a function type:

C++ function's have a type and you can typedef that type
as you do below, however you can't pass function's around,
you can only pass around function-pointers.
#include <iostream>
typedef double Crunch(int, char);
void Bite(Crunch Munch) {std::cout << Munch(7, 5);};

C++ has *decayed* the paramiter type, Byte()'s full signature is:

void Byte( double (*Munch)( int, char ) );
double Chomp(int a, char b) {return (double)(a*b);}
int main()
{
Bite(Chomp);

C++ *decay's* 'Chomp' from a function to a function-pointer.
return 0;
}

It's unlikely you'll ever notice the diffrence, so here's
an illustration that doesn't compile:

#include <iostream>
#include <ostream>

template < typename T > void f( T arg )
{
T a = arg; /* <- this will be the problem line */
a();
}

typedef void func_t();

void g()
{
std::cout << "g()\n";
}

int main()
{
f< func_t >( g );

/* To get this to compile remove the above line and uncomment the next:
*/

// f< func_t * >( g );
}


A similar thing happens with arrays:

void f( int array[3] )
{
}

The /real/ signature of the above is:

void f( int *array );


Rob.
 
T

Thomas Matthews

jimmy said:
I am presently working in C++ .It is flexible and efficient.But it is
not the reasons for the language to survive as hardware is running
ahead the capabilities of software(why efficiency?).Java is a cool
language and .NET too even for mobile devices and embedded
systems.Anybody can give some valid reasons so that I can understaand
C++ will survive in the coming years.

Perhaps we need a separate newsgroup for the
advocacy and fear of dying of languages.

Please, Please, Please, read the newsgroup articles
before worrying about C++ efficiency or life time.
It has it purposes and limitations as many of the
people who use it and define it will tell you.
As with any language, applying it to areas it isn't
efficient in will produce an inefficient system.
One doesn't use FORTRAN for a text system. In
general, BASIC isn't recommended for a compiled
executable, it is an interpretive language. (Yes,
I see the flames a comin'.)

The C++ language adds features to the C language and
has it own niches. It also has an "official" standard
which will help it to live long and prosper. After
all, it is the official programming language of any
olympics. ;-)

--
Thomas Matthews

C++ newsgroup welcome message:
http://www.slack.net/~shiva/welcome.txt
C++ Faq: http://www.parashift.com/c++-faq-lite
C Faq: http://www.eskimo.com/~scs/c-faq/top.html
alt.comp.lang.learn.c-c++ faq:
http://www.raos.demon.uk/acllc-c++/faq.html
Other sites:
http://www.josuttis.com -- C++ STL Library book
 
T

Thomas Matthews

Julie said:
The first problem is that you can't really compare C++/C#/Java -- they all have
different intended audiences and capabilities.

C++ is a systems programming language. It can be used as an applications
programming language.

Hey Julie, what exactly is a "systems" language. Nice catch phrase.
Is an operating system consider a "system". Is an application running
on an embedded system a "system?". Can one have an application running
in lisp on a System? Is C a systems language? Is FORTRAN?

Let us face the fact that C and C++ are languages. They have their own
paradigms. If you want to use Pascal for your system then it is a
system language. Let us not confine nor restrict programming languages.
One can say that hardware is easier to access using C and C++ than
using FORTRAN or Basic, but it can be done in those languages.

C# is a single-platform applications programming language.
Arrgghhhhhhh. C# is a language. If one wants to use it for multiple
platforms, then so be it. If someone wants to write an operating
system in it, so be it. So, what is the difference between an
applications programming language and a systems one? I've heard
COBOL is a systems language.

Java is a multi-platform applications programming language.
Arrrrgghhh, Uggggghhh. One nice benefit of Java is that it uses a
"standardized" virtual machine to run on. It emits a "byte-code"
language which will run on a virtual machine as long as the
virtual machine adheres to the standard (Is there one???). The
benefit is that if you can get a virtual machine for your platform,
you can execute Java programs without having to recompile. The
nice benefit of C and C++ is that if you have a compiler for them,
{and the program is compliant to the standard), you can compile
and execute them on another platform. The nice benefit about
FORTRAN is that it is a standard language. There are other
languages which have emitted "byte-codes" before. They just
didn't catch on.

Historically, C++ has been used for just about everything. Before C# and Java,
there weren't a lot of widely available alternatives, so it was used a lot for
projects that would now be better suited w/ a more applications oriented
language.
Yep, there weren't a lot of alternative languages before C# or Java.
Hmmmm, let us pause a moment and reflect on our knowledge......
..... yep, nothing like: FORTRAN, BASIC, SNOBOL, MODULA 2, Pascal, LISP,
BASIC, Logo, Smalltalk, Prolog, Algol, Ada, PL/1, OPL, ZOPLZ, Assembly,
COBOL, and more. Yep, not a lot of them. Hang on whilst I feed my
aligator, change my banjo string and add more beers to the cooler.


Now that there are more choices, more informed project managers will be using
the most appropriate language, which will mean that what may have been written
in C++ previously will now (more appropriately) be written in C# or Java.
However, that doesn't mean that the use of C++ for its intended purpose will
diminish. With the exception of the ill-informed pm, C++ will continue to be
used for systems-level programming projects.
"more informed project managers will be using the most appropriate
language", now let me clean up the beer I just spit out on my keyboard.
All of the project managers I worked for did not choose a language
that would make implementation of a project easier. Nope, they choose
the house language. Why? Probably because a lot of people know the
language and the can hire experienced people using that language.
There is a lot more at stake in producing a product (or finishing a
project) than a minor decision about a programming language.

The C++ language will live on as long as there are compiler vendors,
and support tool producers still delivering their products. The
same with C and Java. (I'm refrain from discussing C# as I have
a weighted bias against Microsoft.) So, has FORTRAN, LISP or
COBOL died? Nope, and they were among the first languages. So
why should C or C++ die out anytime soon? Java may die out when
Sun stops supporting it. Same with C# (but with M$).

Please see my rant in Shiva's Welcome.txt about not very platform
is a _________.

Pardon me, while take the transmission out of the bathtub.
(I still have to replant the grass in the front yard that was
under it.)

--
Thomas Matthews

C++ newsgroup welcome message:
http://www.slack.net/~shiva/welcome.txt
C++ Faq: http://www.parashift.com/c++-faq-lite
C Faq: http://www.eskimo.com/~scs/c-faq/top.html
alt.comp.lang.learn.c-c++ faq:
http://www.raos.demon.uk/acllc-c++/faq.html
Other sites:
http://www.josuttis.com -- C++ STL Library book
 
G

Gianni Mariani

Anonymous wrote:
....if it cant match with new features of C++ like
extended support for generic programming in c++ will be standard part of C++
shortly.

Which feature are you referring to ?
 
I

Ioannis Vranos

Thomas said:
Hey Julie, what exactly is a "systems" language. Nice catch phrase.


Actually a "systems programming language" is a language that can be used
to write software that does not depend on other software, like OSes. And
yes C++ is a systems programming language and almost all modern OSes are
written in C++ (and Java's VM too).

Arrgghhhhhhh. C# is a language. If one wants to use it for multiple
platforms, then so be it. If someone wants to write an operating
system in it, so be it. So, what is the difference between an



Actually you can not write an OS in C#. C# is suitable for application
programming only.


Arrrrgghhh, Uggggghhh. One nice benefit of Java is that it uses a
"standardized" virtual machine to run on.


Actually it uses a company-defined VM. I can accept the standardised
within quotes term, if you mean that.




It emits a "byte-code"
language which will run on a virtual machine as long as the
virtual machine adheres to the standard (Is there one???).


No there is not.


Yep, there weren't a lot of alternative languages before C# or Java.
Hmmmm, let us pause a moment and reflect on our knowledge......
..... yep, nothing like: FORTRAN, BASIC, SNOBOL, MODULA 2, Pascal, LISP,
BASIC, Logo, Smalltalk, Prolog, Algol, Ada, PL/1, OPL, ZOPLZ, Assembly,
COBOL, and more. Yep, not a lot of them. Hang on whilst I feed my
aligator, change my banjo string and add more beers to the cooler.



And thousands of others (Clipper, ... :p). Actually some day I may
check Objective C, there are many books of it floating around in local
book stores and that means there is a live community of it.


But she probably meant "Windows GUI specific", but still there has been
VB and J++ and Borland Delphi and of course Java :p and probably others.

Java may die out when
Sun stops supporting it. Same with C# (but with M$).


Actually C# will continue to be around since it is standardised and
always there will be some compiler for it. But C# lacks a standard
library of its own, so C# code will always be system-dependent, so C# is
basically just a syntax.






Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
 
J

jeffc

Phlip said:
Someday, JKop may get to maintain legacy code not written by someone as
non-stupid as JKop. Then JKop will appreciate learning the smell and the
feel of various kinds of mystery crashes. Oh, this one feels like an array
overrun. Oh, that one feels like a double delete.

Just got done with one of those. The application is written on Windows for
a proprietary OS production environment. The application runs fine on the
Windows simulator. In production it crashes. Windows has a debugger (but
we don't need a debugger there because it works fine.) The production OS
does not have a debugger (where it is needed.) Took me 4 days to figure out
that bad boy. Turns out it was a pointer that someone forgot to initialize
to 0.
 
J

Julie

Ioannis said:
Yes, the framework is vast and is expanding, you can't learn everything
one has to specialise. The XML section for example is a world of its
own. The same applies for Web services, Encryption, Databases, GDI+,
etc. You can only learn the basics and then specialise.

But that has not anything to do with C#, itself, so why "C# will prevail
and C++ will be used only for systems programming" is not clear to me.
Actually it reminds me the VB 6 days, when I heard the same stuff, and
never happened, and actually it was harder to make Windows GUI
applications in C++ than VB (at least in VS, because there was BC++
Builder), but in 1991, C++ was at 2.6 million programmers worldwide
while VB was around 1 million (and Java was third).

I don' recall saying that C# will prevail.

I said that I feel that C++ is a systems programming language, and as far as I
know, the one of the best systems languages currently out there. C++ will
definitely lose market share to applications programming languages, regardless
of the specific language (Java, C#, VB, whatever), but as I tried to point out,
some of the market share that C++ enjoyed in previous years was due to a lack
of competition, and not because of suitability.
 
I

Ioannis Vranos

Julie said:
I said that I feel that C++ is a systems programming language, and as far as I
know, the one of the best systems languages currently out there. C++ will
definitely lose market share to applications programming languages, regardless
of the specific language (Java, C#, VB, whatever),



So you imply that C++ is not suitable to be considered an applications
programming language. Can you provide any specific reasons for that?


but as I tried to point out,
some of the market share that C++ enjoyed in previous years was due to a lack
of competition, and not because of suitability.


Again, there always have been many programming languages available. For
the MS Windows 9x era, consider Delphi, VB, J++, Java (with many RADs
for it, like Borland's one) as "mainstream" ones and some others less
mainstream.






Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
 
I

Ioannis Vranos

jeffc said:
Just got done with one of those. The application is written on Windows for
a proprietary OS production environment. The application runs fine on the
Windows simulator. In production it crashes. Windows has a debugger (but
we don't need a debugger there because it works fine.) The production OS
does not have a debugger (where it is needed.) Took me 4 days to figure out
that bad boy. Turns out it was a pointer that someone forgot to initialize
to 0.

Eh? It was the pointer that was not initialised to 0, or that the code
assumed it was pointing to an object?






Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
 
J

Julie

Thomas said:
Hey Julie, what exactly is a "systems" language. Nice catch phrase.
Is an operating system consider a "system". Is an application running
on an embedded system a "system?". Can one have an application running
in lisp on a System? Is C a systems language? Is FORTRAN?

Systems is my loose term for a language whose primary intended target is
low-level (systems level) programming. That doesn't imply that it is the
*only* thing that it can target, just its primary target.

If you look at a language and consider its standard libraries, it becomes
immediately clear what the intent of that language is.
Let us face the fact that C and C++ are languages. They have their own
paradigms. If you want to use Pascal for your system then it is a
system language.

No, I'm talking about the intended target of the language, not what an
individual user may do. Just about *any* language can be mangled enough to
just about anything, but that doesn't change its intent.
Let us not confine nor restrict programming languages.
One can say that hardware is easier to access using C and C++ than
using FORTRAN or Basic, but it can be done in those languages.

No one is talking about if it *CAN* be done, but if it *SHOULD* be done. Big
difference.
Arrgghhhhhhh. C# is a language. If one wants to use it for multiple
platforms, then so be it. If someone wants to write an operating
system in it, so be it. So, what is the difference between an
applications programming language and a systems one? I've heard
COBOL is a systems language.

Again, I'm taking about the general tendency, not individual efforts.

Currently, C# (and especially .NET) is really only supported on one platform:
Windows. Sure, there are other efforts, but at this point, they are not much
more than pet or research projects. It will be many years when (or if) it
enjoys true cross-platform compatibility. Time and Microsoft will tell on that
one.
Arrrrgghhh, Uggggghhh. One nice benefit of Java is that it uses a
"standardized" virtual machine to run on. It emits a "byte-code"
language which will run on a virtual machine as long as the
virtual machine adheres to the standard (Is there one???). The
benefit is that if you can get a virtual machine for your platform,
you can execute Java programs without having to recompile.

So what is your point of "arrgh" frustration? I said it is multi-platform, you
groan, and say it is multi-platform...???
The
nice benefit of C and C++ is that if you have a compiler for them,
{and the program is compliant to the standard), you can compile
and execute them on another platform.

C++ is not a suitable language for writing cross-platform executables. Its
portiability is strictly limited by the availability of the necessary support
libaries (that interact w/ the underlying hardware and overlying user
interface). Even simple console-mode (character mode input/output) programs
are difficult to write/maintain, and really only target low-level users.
The nice benefit about
FORTRAN is that it is a standard language. There are other
languages which have emitted "byte-codes" before. They just
didn't catch on.

Yep, there weren't a lot of alternative languages before C# or Java.
Hmmmm, let us pause a moment and reflect on our knowledge......
.... yep, nothing like: FORTRAN, BASIC, SNOBOL, MODULA 2, Pascal, LISP,
BASIC, Logo, Smalltalk, Prolog, Algol, Ada, PL/1, OPL, ZOPLZ, Assembly,
COBOL, and more. Yep, not a lot of them. Hang on whilst I feed my
aligator, change my banjo string and add more beers to the cooler.

Maybe you have a banjo string around your neck -- we are talking about
(general) applications level languages:

FORTRAN - target: mathematical and formula analysis
BASIC - target: teaching
MODULA/Pascal - target: teaching
LIST - target: list processing
BASIC - target: still teaching
Logo - target: teaching, limited robotic (turtle) control
COBOL - target: business logic
Prolog - target: AI
etc.

None of those are for GENERAL APPLICATIONS PROGRAMMING. Up until VB, Java, and
now C#, applications-level programming has been done using a language that is
primarily targeted elsewhere.

Apparently you aren't seeing the point that I was making:

C++ will lose market share to applications-level programming languages such as
Java and C#.
"more informed project managers will be using the most appropriate
language", now let me clean up the beer I just spit out on my keyboard.
All of the project managers I worked for did not choose a language
that would make implementation of a project easier. Nope, they choose
the house language. Why? Probably because a lot of people know the
language and the can hire experienced people using that language.
There is a lot more at stake in producing a product (or finishing a
project) than a minor decision about a programming language.

The C++ language will live on as long as there are compiler vendors,
and support tool producers still delivering their products. The
same with C and Java. (I'm refrain from discussing C# as I have
a weighted bias against Microsoft.) So, has FORTRAN, LISP or
COBOL died? Nope, and they were among the first languages. So
why should C or C++ die out anytime soon? Java may die out when
Sun stops supporting it. Same with C# (but with M$).

I never said that C++ will die. It will lose market share.
 
I

Ioannis Vranos

Julie said:
Systems is my loose term for a language whose primary intended target is
low-level (systems level) programming. That doesn't imply that it is the
*only* thing that it can target, just its primary target.

If you look at a language and consider its standard libraries, it becomes
immediately clear what the intent of that language is.


C++ is a general purpose programming language and supports 4 paradigms.
Each paradigm is supported well with optimal space and time
efficiencies. That implies that it is also suitable both for low level
programming and application programming and does not lack anything your
other "application languages" have.


What has C#, VB or whatever that makes it better than C++ for
application programming?

No, I'm talking about the intended target of the language, not what an
individual user may do. Just about *any* language can be mangled enough to
just about anything, but that doesn't change its intent.



The intended target of C++ is general purpose programming. That includes
application programming.



Again, I'm taking about the general tendency, not individual efforts.

Currently, C# (and especially .NET) is really only supported on one platform:
Windows. Sure, there are other efforts, but at this point, they are not much
more than pet or research projects. It will be many years when (or if) it
enjoys true cross-platform compatibility. Time and Microsoft will tell on that
one.



Although I do not care for C# in special, check this:

http://www.mono-project.com




C++ is not a suitable language for writing cross-platform executables. Its
portiability is strictly limited by the availability of the necessary support
libaries (that interact w/ the underlying hardware and overlying user
interface). Even simple console-mode (character mode input/output) programs
are difficult to write/maintain, and really only target low-level users.



C++ so far is suitable for compilation portability. However all the
application languages you are talking about (VB and C#), do not provide
even that.


Maybe you have a banjo string around your neck -- we are talking about
(general) applications level languages:

FORTRAN - target: mathematical and formula analysis

Mainly.



BASIC - target: teaching


Not application programming? :)


MODULA/Pascal - target: teaching



Not only of course. Pascal has been used extensively for application
programming (a mainstream language) and Modula was created for serious
application programming as its creator has said.



LIST - target: list processing
BASIC - target: still teaching


See above.

Logo - target: teaching, limited robotic (turtle) control

Ehehe.


COBOL - target: business logic
Prolog - target: AI
etc.

None of those are for GENERAL APPLICATIONS PROGRAMMING. Up until VB, Java, and
now C#, applications-level programming has been done using a language that is
primarily targeted elsewhere.



VB, Java, and Pascal (including Delphi) have been around for many years
and with RADs, however they never surpassed C++. That's a statistical
observation.


Apparently you aren't seeing the point that I was making:

C++ will lose market share to applications-level programming languages such as
Java and C#.



One can always dream. :)






Regards,

Ioannis Vranos

http://www23.brinkster.com/noicys
 
J

Julie

Ioannis said:
So you imply that C++ is not suitable to be considered an applications
programming language. Can you provide any specific reasons for that?

Look at the standard libraries supplied w/ the language.

I don't see anything in the C/C++ libraries that support applications-level
programming.
Again, there always have been many programming languages available. For
the MS Windows 9x era, consider Delphi, VB, J++, Java (with many RADs
for it, like Borland's one) as "mainstream" ones and some others less
mainstream.

Right. And if you recall (if you were around, research it if you weren't),
Java was the first language to be specifically marketed to a broad audience,
*including* un/ill-informed management and above. A lot of the early decisions
to use Java (and hence, increase its perceived market share) was due to
misinformation and upper-management edicts that felt that Java == $$.

All of those other languages that you describe are definitely applications
level, but they have never enjoyed the marketing machinery that Java has.
 

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

Members online

No members online now.

Forum statistics

Threads
473,770
Messages
2,569,583
Members
45,072
Latest member
trafficcone

Latest Threads

Top