The Artima Developer Community
Sponsored Link

Weblogs Forum
Why Learn New Languages? Being Outlived by C++

28 replies on 2 pages. Most recent reply: Oct 16, 2009 6:35 PM by Thomas Knierim

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 28 replies on 2 pages [ « | 1 2 ]
Rusty Wright

Posts: 8
Nickname: lumpynose
Registered: Jul, 2007

Re: Why Learn New Languages? Being Outlived by C++ Posted: Sep 17, 2009 9:54 AM
Reply to this message Reply
Advertisement
1) I'm 56 and retiring at the end of this October. The secret to an early retirement is living within your means and not having any debt; I paid off my house early and that made a huge difference.

2) Basically I agree with you, but mainly because of the language. If you were a rails, php, python, perl, etc. programmer I'd say you should branch out. But C++ and Java will be around for a long time. For C++ (and its variants, including good old C), there will always be a need for a language that compiles down to machine code and I don't see anything displacing C++ that's lurking in the corridors.

Krisztian Sinka

Posts: 30
Nickname: skrisz
Registered: Mar, 2009

Re: Why Learn New Languages? Being Outlived by C++ Posted: Sep 17, 2009 9:54 AM
Reply to this message Reply
I am not the man of “always learning new languages” and personally I would stick to C++ as far as I can due to the following reasons:

- I think, for me, it is more beneficial to knew techniques and know-hows instead of a new language. Let me give an example of what I mean: if I am readily can create and use thread pools why I should move to an other language that is slightly better supports it? Learning the new language would take far more time and the result in theory would be the same.
C++ provides quite a broad range of possibilities for the different techniques.

- Some problems still require a productive but fast implementation: for example servers, telecoms applications or entertainment applications.

- The language is still quite supported, and far from dead (think of the C++0x).

Cameron Purdy

Posts: 186
Nickname: cpurdy
Registered: Dec, 2004

Re: Why Learn New Languages? Being Outlived by C++ Posted: Sep 17, 2009 6:23 PM
Reply to this message Reply
> I am not the man of “always learning new languages” and
> personally I would stick to C++ as far as I can due to the
> following reasons:
> - I think, for me, it is more beneficial to knew
> techniques and know-hows instead of a new language.

Real experience, both good and bad, with a language (and its libraries) is extremely important. There will be C and C++ code being developed and maintained for decades to come.

> - The language is still quite supported, and far from dead
> (think of the C++0x).

On this, I disagree: C++0x is not a sign of the language's vitality, but rather the end thereof. (To me, this is eerily similar to a red giant star, whose large size could mistakenly be assumed to be related to its mass, but rather it is simply a side-effect of having exhausted the star's fuel supply.)

The topic of software entropy fascinates me; I wrote about it recently: Time is cruel to software in other ways. The cost of new features is only superficially found in their implementation; the real cost is in the entropy that each new capability adds to a perpetually bloating code base. The temptation to hastily add features must be tempered with the relentless pursuit of perfection and the constant fight against entropy. As a product grows and matures, the battle against entropy is truly the silent struggle of the software to survive. Whether entropy represents the beginning of the end or the end of the beginning, it is clearly the ever-accelerating path to software rigormortis, the slippery slope of software suicide.

Peace,

Cameron Purdy | Oracle Coherence
http://coherence.oracle.com/

Kay Schluehr

Posts: 302
Nickname: schluehk
Registered: Jan, 2005

Re: Why Learn New Languages? Being Outlived by C++ Posted: Sep 18, 2009 12:30 AM
Reply to this message Reply
> For C++ (and its
> variants, including good old C), there will always be a
> need for a language that compiles down to machine code and
> I don't see anything displacing C++ that's lurking in the
> corridors.

Not a language but a compiler infrastructure like LLVM might be the game changer in the years to come. C was the currency of having a "portable assembler" and C++ was indebted to it. With LLVM we have now a new portable assembler and a compiler infrastructure which might replace that of GCC in the next decade ( currently there is no GCC independent C++ frontend for the LLVM ). Having a generic backend and a native code generator like LLVM implies major simplifications for language designers who do not want to either generate C code, target a high-level VM like the JVM or CLR or roll out their own native compiler like D.

Krisztian Sinka

Posts: 30
Nickname: skrisz
Registered: Mar, 2009

Re: Why Learn New Languages? Being Outlived by C++ Posted: Sep 18, 2009 2:19 AM
Reply to this message Reply
> On this, I disagree: C++0x is not a sign of the language's
> vitality, but rather the end thereof.

I agree that. But for me it is important where are we regarding this end in time? Near before (some people still consider the language to be thought of in some way) or far after (the language is not maintained 5 years now, and nobody uses it).

Regards, K

Achilleas Margaritis

Posts: 674
Nickname: achilleas
Registered: Feb, 2005

Re: Why Learn New Languages? Being Outlived by C++ Posted: Sep 18, 2009 4:02 AM
Reply to this message Reply
> > For C++ (and its
> > variants, including good old C), there will always be a
> > need for a language that compiles down to machine code
> and
> > I don't see anything displacing C++ that's lurking in
> the
> > corridors.
>
> Not a language but a compiler infrastructure like LLVM
> might be the game changer in the years to come. C was the
> currency of having a "portable assembler" and C++ was
> indebted to it. With LLVM we have now a new portable
> assembler and a compiler infrastructure which might
> replace that of GCC in the next decade ( currently there
> is no GCC independent C++ frontend for the LLVM ). Having
> a generic backend and a native code generator like LLVM
> implies major simplifications for language designers who
> do not want to either generate C code, target a high-level
> VM like the JVM or CLR or roll out their own native
> compiler like D.

But a good back end also requires a good programming language to take advantage of it.

Kay Schluehr

Posts: 302
Nickname: schluehk
Registered: Jan, 2005

Re: Why Learn New Languages? Being Outlived by C++ Posted: Sep 18, 2009 6:25 AM
Reply to this message Reply
> But a good back end also requires a good programming
> language to take advantage of it.

Here is an incomplete list of the current projects targeting LLVM. They range from Ruby to C.

http://llvm.org/ProjectsWithLLVM/

Achilleas Margaritis

Posts: 674
Nickname: achilleas
Registered: Feb, 2005

Re: Why Learn New Languages? Being Outlived by C++ Posted: Sep 18, 2009 7:09 AM
Reply to this message Reply
> > But a good back end also requires a good programming
> > language to take advantage of it.
>
> Here is an incomplete list of the current projects
> targeting LLVM. They range from Ruby to C.
>
> http://llvm.org/ProjectsWithLLVM/

Which means the same old languages will be used with LLVM.

Andy Dent

Posts: 165
Nickname: andydent
Registered: Nov, 2005

Re: Why Learn New Languages? Being Outlived by C++ Posted: Sep 18, 2009 7:57 AM
Reply to this message Reply
One of the more exciting LLVM projects is Apple's Clang project which looked very impressive at WWDC in June 2009. I pumped some awful K&R scientific C code through its static analyzer and was impressed by the reporting.

http://en.wikipedia.org/wiki/Clang

Jeff Ratcliff

Posts: 242
Nickname: jr1
Registered: Feb, 2006

Re: Why Learn New Languages? Being Outlived by C++ Posted: Sep 18, 2009 8:35 PM
Reply to this message Reply
> BTW in Germany the average age is about 43 [1]. With 40
> you are still young ( and people behave like that ).
>
> [1]
> http://www.ipicture.de/daten/demographie_deutschland.html

I'm obviously living in the wrong country. At 55 in the US it's difficult to get steady work.

I think the current trend towards integrating so many different technologies is leading us toward a crisis. How many developers are going to have experience in a specific set of 20 disjoint libraries, frameworks, languages etc that are combined from a super-set of 200 technologies?

Standards used to imply a common set of specifications taken from industry practice. Now it just means somebody wrote their ideas down.

Anand Arumugam

Posts: 1
Nickname: aarumug
Registered: Jun, 2006

Re: Why Learn New Languages? Being Outlived by C++ Posted: Sep 25, 2009 7:11 AM
Reply to this message Reply
Your article addressed exactly the same thought that is lingering in my mind. I am convenient and fluent with C and C++. And I think with the help of libraries like GLib, Gtk+ or Qt, Boost you can achieve whatever problem one has at hand. Given all these, I still feel C++ lacks a nice web programming library to cover all grounds (Forgive me if I am wrong here and please point me to a nice library if one exists). Since web based computing is becoming a big trend these days I feel maybe I should learn either Python or PHP.

Dianvic Mosalov

Posts: 1
Nickname: koolraap
Registered: Oct, 2009

Re: Why Learn New Languages? Being Outlived by C++ Posted: Oct 13, 2009 8:22 AM
Reply to this message Reply
Sorry to hear about your dad.

A friend of mine took a couple of years out when his dad passed away -- sold the house, moved to a quiet seaside town. He moved back to the city and now works in his old job as a contractor at twice his original salary.

If you were 65 and approaching Career::~Career() { } would you be happy looking back at 40+ years of coding?

IMO (and YMMV) IT is all about change and keeping one eye on the future and your CV. I don't think you need to stay bleeding edge, but keep an eye on the winds of change. If what you've been doing at work for the last few months won't help you find another job you need to change jobs right now.

There is always the chance in IT a Big New Concept will arrive that will not be compatible with anything you know.

As for languages? Stay on top of concepts above all else -- syntax is the easy bit.

Andy Dent

Posts: 165
Nickname: andydent
Registered: Nov, 2005

Re: Why Learn New Languages? Being Outlived by C++ Posted: Oct 13, 2009 7:52 PM
Reply to this message Reply
> Sorry to hear about your dad.

thanks to you and the others who have expressed their condolences.

> If you were 65 and approaching Career::~Career() { } would
> you be happy looking back at 40+ years of coding?

I think it's interesting the way you asked that.

How about if I rephrase it as would you be happy looking back at 40+ years of creating software?

Coding seems like a pejorative, implying a relatively low-level job stuck in a cubicle somewhere.

What if I took the traditional route and chose to move up into management - would that be something you expect to yield more satisfaction in review?

I'm married to a career government employee and I can guarantee you there are a lot of people working at all levels from clerical to managerial who won't be looking back on their careers with a sense of satisfaction.

> If what you've been doing at work for the last few months
> won't help you find another job you need to change jobs
> right now.

I agree to some extent but wouldn't be so quick to pull the trigger :-)

Last year, maybe.

Thomas Knierim

Posts: 3
Nickname: 58330
Registered: Sep, 2008

Re: Why Learn New Languages? Being Outlived by C++ Posted: Oct 16, 2009 6:35 PM
Reply to this message Reply
Hi Andy,

I am 44 and I think we can both say for sure that we will be outlived by C++ (as well as Java). There is such a massive investment in these languages; people will be maintaining code for decades to come. Plus there's still plenty of new code written both in Java and C++.

On the other hand, why should that keep you from learning new languages? I've picked up Scala last year and I love it. It's fun to program in. Perhaps it's just my taste. I use Java in my commercial work and Scala for after-hour projects.

Personally, I am not very interested in moving into management. I've had that already. Ten years of managing my own software company gave me plenty of management experience. I prefer coding in a cubicle. :) Well, not exactly a cubicle... it's more like a nicely furnished private room with tropical garden view. And no annoying phone calls.

Cheers, Thomas

Flat View: This topic has 28 replies on 2 pages [ « | 1  2 ]
Topic: DimDim Works Well Previous Topic   Next Topic Topic: Speaking at FOSDEM


Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2017 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us