编译的:为什么要学习新的语言?

一位经验丰富的程序员反思自己的编程生涯,考虑是否应该继续学习新的编程语言,还是专注于已掌握的语言如C++,以便更好地应对未来的职业挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文转自 http://www.artima.com/weblogs/viewpost.jsp?thread=268226 

Thinking Upside Down
Why Learn New Languages? Being Outlived by C++
by Andy Dent
September 15, 2009

Summary
Can a focus on C++ get me through the next twenty-odd years? Is it time to stop chasing bright, shiny new languages and consolidate as a guru? A few thoughts on "legacy languages" and the later stages of a coding career.

 

综述

 

一心扑在C++上可以让我安然渡过以后的20几年时间吗?是否是时候停止追逐夺目耀眼的新语言,并强化自己作为专家的实力。

 

I am 46 and my Dad's recent death raises the usual thoughts of mortality.

 

我今年46岁,我父亲最近的去世使我产生了对命运的一般的看法。

I probably will be working full-time for no more than twenty to twenty-five years. I am also highly unlikely to move up to management - my return to consulting in the last two years has reaffirmed that designing and implementing software is something I love doing.

 

有可能我将全职工作不超过20到25年的时间。我也极不可能会升上去做管理层--在过去的两年我又回到咨询的职位已经重新证明了设计和软件是我喜爱做的事情。

 

I've wandered a bit on the language map in the last few years from the C++ that was my focus for the preceding fifteen: Python, and now Ruby as a dynamic language, REALbasic as a highly-productive cross-platform tool and C# enough to get through a WPF porting project.

A recent port of an old Macintosh C program to a WPF GUI and associated updates on OOFILE's report-writer had me working regularly back in C++ and reminded me how much I've internalized the language. It also how reminded me how much I miss Object Master because I'm still able to use Object Master on an old UMax Mac clone on the early OOFILE Source!

It is some kind of synchronicity that at the time I write this, one of the hotter threads on Artima is responding to Bruce Eckel's Language Archaeology posting about C++ design decisions. Unlike some of those commentators, C++ to me is like slipping on comfy old shoes. I like C++ and whilst there are things in other languages I appreciate, there are also a lot of times I found myself missing C++ features that they all lack. Admittedly, this love is much more about the semantics than the syntax but, hey, love in middle-age requires a bit of soft-focus on wrinkles.

In saying I'm seriously contemplating giving up learning new languages, I'd should draw a clear line between occasionally studying a language for interest or to see some idioms that might help you think differently and internalizing a language to the point where you can work fluidly in it at a high level of performance and expertise. I don't think I'll be able to resist the temptation to go peek at new goodies :-)

My internal debate reminds me of my rich, penny-pinching brother-in-law's dilemma he semi-gloated about at a dinner last year - as a wine connoisseur, he now owns more wine than he can drink through in his expected lifespan. Does that mean he should stop buying wine, which is much of the joy of collecting?

Should I stop worrying about trying to keep up with new trends in language design and assume C++ will see me out? If I put a little Objective-C on top, it will handle anything I want to do on the Mac or iPhone.

Microsoft have unfortunately dropped C++/CLI as a first-class Windows language if you want to work with .Net GUIs - it is now just an interoperability language because WPF and SilverLight XAML won't work with C++/CLI. So maybe I need to keep a little bit of C# going to do Windows GUI's.

I guess the only threat to this retirement plan as a legacy C++ guru is the hordes of bright young games programmers. But seriously, if you're looking to maintain some really old code in 2020, won't you want to hire a consultant with an authentically grey beard?

 

About the Blogger

 

Andy is a free-lance developer in C++, REALbasic, Python, AJAX and other XML technologies. He works out of Perth, Western Australia for a local and international clients on cross-platform projects with a focus on usability for naive and infrequent users. Included in his range of interests are generative solutions, software usability and small-team software processes. He still bleeds six colors, even though Apple stopped, and uses migration projects from legacy Mac OS to justify the hardware collection

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值