Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > Will interest in C++ be revived after the Java fallout?

Reply
Thread Tools

Will interest in C++ be revived after the Java fallout?

 
 
James
Guest
Posts: n/a
 
      01-25-2011
"Anonymous Remailer (austria)" <(E-Mail Removed)> wrote in
message news:(E-Mail Removed) vacy.at...
[...]

> In the case of C# it only runs on Windows (or at the least
> is only supported by Microsoft on this platform).


http://www.mono-project.com

[...]


 
Reply With Quote
 
 
 
 
Michael Doubez
Guest
Posts: n/a
 
      01-26-2011
On 25 jan, 20:43, James Kanze <(E-Mail Removed)> wrote:
> On Jan 25, 6:25 pm, Carlo Milanesi <(E-Mail Removed)>
> wrote:
>
> > Nomen Nescio wrote:
> > > I wonder if the enormous fallout between Oracle and the open-source
> > > community over Java will lead to a renewed interest in C++.

> > I think Java and C++ belong to different camps, and therefore they are
> > not in competition. A relatively low level language like C++ has always
> > been and will keep to be a competitor of C language and of Fortran language.
> > I think that in the future C++ will be used less and less for GUI-based
> > or Web-based applications, and more and more for embedded software,
> > device drivers, numerical analysis libraries, and high-performance video
> > games engines.

>
> Do people still write GUI applications? *I thought that everyone
> used html and a browser for user interaction. *(And I'm being
> faceous. *I hope.)


With XUL/Gecko, application can be (and actually are) built using a
mix of HTML, Javascript and C++.

I have briefly dabbled with the tools and making C++ and Javascript
communicate is still painful/tedious. But the final result is quite
rewarding; thinking of all the people for which the main feature of
your program is that you can skin it at will

--
Michael
 
Reply With Quote
 
 
 
 
Ian Collins
Guest
Posts: n/a
 
      01-26-2011
On 01/26/11 09:43 PM, Michael Doubez wrote:
> On 25 jan, 20:43, James Kanze<(E-Mail Removed)> wrote:
>> On Jan 25, 6:25 pm, Carlo Milanesi<(E-Mail Removed)>
>> wrote:
>>
>>> Nomen Nescio wrote:
>>>> I wonder if the enormous fallout between Oracle and the open-source
>>>> community over Java will lead to a renewed interest in C++.
>>> I think Java and C++ belong to different camps, and therefore they are
>>> not in competition. A relatively low level language like C++ has always
>>> been and will keep to be a competitor of C language and of Fortran language.
>>> I think that in the future C++ will be used less and less for GUI-based
>>> or Web-based applications, and more and more for embedded software,
>>> device drivers, numerical analysis libraries, and high-performance video
>>> games engines.

>>
>> Do people still write GUI applications? I thought that everyone
>> used html and a browser for user interaction. (And I'm being
>> faceous. I hope.)

>
> With XUL/Gecko, application can be (and actually are) built using a
> mix of HTML, Javascript and C++.
>
> I have briefly dabbled with the tools and making C++ and Javascript
> communicate is still painful/tedious. But the final result is quite
> rewarding; thinking of all the people for which the main feature of
> your program is that you can skin it at will


Actually it no more painful/tedious than making PHP and JavaScript
communicate. If anything it is slightly easier and definitely more
flexible. Most of the web application I write deal with some form of
system management and many of the APIs only have C bindings, so C++ is
the obvious choice for the implementation language. If the client wants
PHP then C++ is a good choice for a PHP extension!

--
Ian Collins
 
Reply With Quote
 
James Kanze
Guest
Posts: n/a
 
      01-26-2011
On Jan 25, 10:28 pm, "Paul" <(E-Mail Removed)> wrote:
> "Nomen Nescio" <(E-Mail Removed)> wrote in message


> news:(E-Mail Removed)...


> >http://blogs.computerworlduk.com/app-dev-and-programme-
> > management/2011/01/the-future-of-java/index.htm


> > I wonder if the enormous fallout between Oracle and the open-source
> > community over Java will lead to a renewed interest in C++. After all,
> > the fight between Oracle and the FOSS community is ultimately one of
> > ownership. Since there's no question about the ownership of C++ most
> > developers and companies may once again move back to C++, but this time
> > aided by open-source GUI frameworks such as wxWidgets. Also, we might
> > see a C++ FastCGI web-application framework similar to ASP.NET MVC pop-
> > up.


> Your original question seems to imply that C++ is currently less popular
> than Java. I don't know if this is the case or not but Java seems to be the
> language of choice for most application programming.


It depends on the domain. I've mostly worked on large scale
servers, and I've never seen Java there. Here (purely
application), we use Java, C# and C++, but its well over 90% C++
(mainly numerical number crunching). In the telephone systems
(network management) I've worked on, Java has been limited to
front ends, and in many cases, those have been replaced by
outputting HTML, and using Firefox as your front end.

> I doubt the Oracle argument will have much affect on the popularity of
> either as it's probably no more than corporate bickering.


I totally agree. Those who would have been turned off by one
company managing everything dropped Java a long time ago;
despite the claims, Sun was never very open with it.

> C++ is not a portable programming language and any, non trivial, program
> will only work on the system is was designed to work on.


That's not been my experience. I've moved several large (500
KLoc or more) applications from Windows or Solaris to Linux,
with no real problems. Given the way the language has evolved,
it's often been more work to move to a more recent version of
the compiler than to move from Windows to Unix.

Of course, there are parts that aren't standard, like the GUI.
My applications typically don't have a GUI, but I've heard of
people using Qt or WxWindows and porting without problems.

> Parts of code can
> be modularised and considered protable but this doen't change the fact you
> still need vastly different programs and different sets of debugging and
> testing trials etc etc.


You definitely need a distinct binary, and regardless of the
language, you definitely want to test on all of the platforms
your software will run on. (One could argue that this is a plus
for C++. The fact that your application can't run on a machine
you haven't built it for means that you can be sure of being
able to test it on all platforms it will run on. Java's binary
portability can cut both ways.

> Because of this think C++ will become more
> specialised towards low-mid level OS routines and high performance graphics.
> Front end applications will be left to other languages such as Java and
> dotnet langs to name a few.


Because of the lack of a standard library, C++ does have
a disadvantage when it comes to GUI's; I'd probably recommend
Java for a GUI front end, rather that C++, if for some reason
just outputting HTML to a browser wasn't sufficient. But the
GUI front end is just a very small part of most applications.

--
James Kanze
 
Reply With Quote
 
jacob navia
Guest
Posts: n/a
 
      01-26-2011
Le 25/01/11 21:30, Anonymous Remailer (austria) a écrit :

> C is error prone and archaic and not useful for anything more complex
> than a demo program.


The linux kernel is a demo program then. It demonstrates how blind are
the C++ zealots, that are unable to see beyond their nose (maybe because
their glasses are template smoked)

 
Reply With Quote
 
Daniel
Guest
Posts: n/a
 
      01-26-2011
On Jan 25, 2:43*pm, James Kanze <(E-Mail Removed)> wrote:
>
> One place C++ very definitely rules is large scale servers. *The
> HTML formatting may (and often is) deferred to Java, since
> that's what the web server implementation supports, but the web
> server implementation, and all of the programs that Java
> interrogates to get the data, are written in C++. *(The new
> ones, anyway...)
>

Interesting. Do you believe that that's true of WebLogic, TIBCO
Enterprise Message Service, TIBCO BusinessWorks, IBM Process Server,
Sonic, Mule, ServiceMix, Tomcat, JBOSS? They sure come with a lot of
jar files!

Thanks,
Daniel
 
Reply With Quote
 
Paul
Guest
Posts: n/a
 
      01-26-2011

"James Kanze" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> On Jan 25, 10:28 pm, "Paul" <(E-Mail Removed)> wrote:
>> "Nomen Nescio" <(E-Mail Removed)> wrote in message

>
>> news:(E-Mail Removed)...

>
>> >http://blogs.computerworlduk.com/app-dev-and-programme-
>> > management/2011/01/the-future-of-java/index.htm

>
>> > I wonder if the enormous fallout between Oracle and the open-source
>> > community over Java will lead to a renewed interest in C++. After all,
>> > the fight between Oracle and the FOSS community is ultimately one of
>> > ownership. Since there's no question about the ownership of C++ most
>> > developers and companies may once again move back to C++, but this time
>> > aided by open-source GUI frameworks such as wxWidgets. Also, we might
>> > see a C++ FastCGI web-application framework similar to ASP.NET MVC pop-
>> > up.

>
>> Your original question seems to imply that C++ is currently less popular
>> than Java. I don't know if this is the case or not but Java seems to be
>> the
>> language of choice for most application programming.

>
> It depends on the domain. I've mostly worked on large scale
> servers, and I've never seen Java there. Here (purely
> application), we use Java, C# and C++, but its well over 90% C++
> (mainly numerical number crunching). In the telephone systems
> (network management) I've worked on, Java has been limited to
> front ends, and in many cases, those have been replaced by
> outputting HTML, and using Firefox as your front end.
>
>> I doubt the Oracle argument will have much affect on the popularity of
>> either as it's probably no more than corporate bickering.

>
> I totally agree. Those who would have been turned off by one
> company managing everything dropped Java a long time ago;
> despite the claims, Sun was never very open with it.
>
>> C++ is not a portable programming language and any, non trivial, program
>> will only work on the system is was designed to work on.

>
> That's not been my experience. I've moved several large (500
> KLoc or more) applications from Windows or Solaris to Linux,
> with no real problems. Given the way the language has evolved,
> it's often been more work to move to a more recent version of
> the compiler than to move from Windows to Unix.
>

Even a very basic windows winmain function and messsage loop cannot be
ported, your lucky if it runs on your version of windows nvm Linux.
As soon as you start adding code to make api calls you further add to
complexities.
I don't know about Solaris and linux but I know the whole structure of a
windows program is built arount the OS and I can't see how a C++ windows
program can be ported.
If you start getting into windows services and non GUI programs then its
going to be even more OS specific.

I don't see how porting a large windows program can be considered, over
rewriting a new program. I think you must have a had a very special one-off
case with your program with very little interaction with the OS.

> Of course, there are parts that aren't standard, like the GUI.
> My applications typically don't have a GUI, but I've heard of
> people using Qt or WxWindows and porting without problems.
>
>> Parts of code can
>> be modularised and considered protable but this doen't change the fact
>> you
>> still need vastly different programs and different sets of debugging and
>> testing trials etc etc.

>
> You definitely need a distinct binary, and regardless of the
> language, you definitely want to test on all of the platforms
> your software will run on. (One could argue that this is a plus
> for C++. The fact that your application can't run on a machine
> you haven't built it for means that you can be sure of being
> able to test it on all platforms it will run on. Java's binary
> portability can cut both ways.
>
>> Because of this think C++ will become more
>> specialised towards low-mid level OS routines and high performance
>> graphics.
>> Front end applications will be left to other languages such as Java and
>> dotnet langs to name a few.

>
> Because of the lack of a standard library, C++ does have
> a disadvantage when it comes to GUI's; I'd probably recommend
> Java for a GUI front end, rather that C++, if for some reason
> just outputting HTML to a browser wasn't sufficient. But the
> GUI front end is just a very small part of most applications.
>
> --


Java has many other libraries for telephony and networking and hardware
communication routines. It's not just GUI applicatons where Java has the
edge in portability.
It's possible to write a portable multi-socket server program in Java in one
afternoon.
I've never looked at the 3D drawing libraries in Java because my vector math
and calculus is not good enough to be a 3D programmer, but I'm sure it'd be
fun and probably a bit easier to use than directx.



 
Reply With Quote
 
Daniel
Guest
Posts: n/a
 
      01-26-2011
On Jan 26, 6:30*am, James Kanze <(E-Mail Removed)> wrote:
> On Jan 25, 10:28 pm, "Paul" <(E-Mail Removed)> wrote:
>
> > Your original question seems to imply that C++ is currently less popular
> > than Java. I don't know if this is the case or not but Java seems to be the
> > language of choice for most application programming.

>
> It depends on the domain. *I've mostly worked on large scale
> servers, and I've never seen Java there. *


Contrary to James' claim, the growth of Java in the last decade has
largely been on the server domain, not the GUI domain. The biggest
growth in Java has been in messaging, middle ware and workflow tooling
used by large enterprises, as exemplified in products like TIBCO
Business Works, IBM Process Server, and Sonic ESB, all of which have
been developed largely in Java. The reasons for this are not
difficult to understand. Inter-operable middleware that supports
transactions requires standards. While C++ standardization was focused
on concepts, lambdas, and and a half dozen or so variants of smart
pointers, Java standardization was focused on Database (JDBC),
Messaging (JMS), Transaction Demarcation (JTA), Interface Lookup
(JNDI), Java Business Integration (JBI), etc. At the same time,
standard C++ offered abysmal support for XML processing, Unicode, and
dates, at a time when standardized business workflow scripting was
being specified in XML. And finally, support for reflection was found
to be very useful in middle ware tooling. I can't think of any modern
successful workflow product that was developed largely in C++ over the
last decade.

The OP's question is a good one, though.

-- Daniel

 
Reply With Quote
 
Michael Doubez
Guest
Posts: n/a
 
      01-26-2011
On 26 jan, 16:48, Daniel <(E-Mail Removed)> wrote:
> On Jan 26, 6:30*am, James Kanze <(E-Mail Removed)> wrote:
>
> > On Jan 25, 10:28 pm, "Paul" <(E-Mail Removed)> wrote:

>
> > > Your original question seems to imply that C++ is currently less popular
> > > than Java. I don't know if this is the case or not but Java seems to be the
> > > language of choice for most application programming.

>
> > It depends on the domain. *I've mostly worked on large scale
> > servers, and I've never seen Java there. *

>
> Contrary to James' claim, the growth of Java in the last decade has
> largely been on the server domain, not the GUI domain. *The biggest
> growth in Java has been in messaging, middle ware and workflow tooling
> used by large enterprises, as exemplified in products like TIBCO
> Business Works, IBM Process Server, and Sonic ESB, all of which have
> been developed largely in Java. *The reasons for this are not
> difficult to understand. *Inter-operable middleware that supports
> transactions requires standards. While C++ standardization was focused
> on concepts, lambdas, and and a half dozen or so variants of smart
> pointers, Java standardization was focused on Database (JDBC),
> Messaging (JMS), Transaction Demarcation (JTA), Interface Lookup
> (JNDI), Java Business Integration (JBI), etc.


Which is not so much a stadard than a unique vision. As an example,
SQLITE is a second grade citizen in the Java landscape because this so-
called standardization didn't include it. In truth, it is not real a
standard language but a standard library. If such a library could
impose itself on the C++ market (something along the lines of Poco or
Boost by example), you would have the same result; as it is, there is
a fragmentation of the offer which is detrimental to the language
popularity.

Even Python/Ruby ... are popular because they propose an extensive
base library that allows abstracting from the underlying OS (up to a
point).

I don't criticized, IMHO the Java language was designed for limiting
the choices in design and in implementation (The philosophy being
reflected by recent Oracle line of conduct) with the underlying idea
that with the less freedom, the less mistakes.

>*At the same time,
> standard C++ offered abysmal support for XML processing, Unicode, and
> dates, at a time when standardized business workflow scripting was
> being specified in XML. And finally, support for reflection was found
> to be very useful in middle ware tooling.


True but again not much work has been put into it since another
language filled the gap. And nowadays, more and more tools exist for
leveraging the gap; in particular code generation (such as Data
bindings from XML schema).

> *I can't think of any modern
> successful workflow product that was developed largely in C++ over the
> last decade.


IMO better plugin support in C++ would be a plus in this regard.
Too bad the proposal didn't make it in c++0x.

--
Michael
 
Reply With Quote
 
tm
Guest
Posts: n/a
 
      01-26-2011
On 26 Jan., 14:49, "Paul" <(E-Mail Removed)> wrote:
> I don't know about Solaris and linux but I know the whole structure of a
> windows program is built around the OS ...


I saw many Windows C++ projects like this.
Most programmers and managers don't consider portability.
Today libraries are much more important than the language.
A good standard library leads to portable programs.
Java programs are portable because of the Library.
In my own project I also try to provide a library that
covers many areas.


Greetings Thomas Mertes

--
Seed7 Homepage: http://seed7.sourceforge.net
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Java NIO,channels, and interest operations nooneinparticular314159@yahoo.com Java 2 07-26-2009 09:34 PM
Is there a special interest group for VS 2005 and XP 64 developers =?Utf-8?B?SHVnbw==?= ASP .Net 2 07-12-2005 03:08 PM
Any interest in lightweight coroutines in Java ala C# 2.0 iterators? Ken Sprague Java 4 10-28-2003 08:03 PM
javax.naming.NameNotFoundException: interest not bound Jef Java 0 10-06-2003 03:27 PM
??NameNotFoundException: interest not bound Barry Burd Java 0 09-08-2003 03:02 PM



Advertisments