我今年46岁,爸爸的去世激起了我对生老病死的思考。
也许我即使是一天到晚的干,最多也就能干20至25年吧。我至今仍旧很不喜欢搞管理工作 - 我这两年重新做顾问工作的经历再次证实设计和开发软件是我喜欢的工作。
这些年一些开发语言的出现让我感到茫然,前十五年我一直使用C++,注意力一直集中 的C++上面,这几年使用一些新语言:Python,和动态语言Ruby,还有高效率的跨平台工具 REALbasic , 和可以移植 WPF 语言 C# 。
最近我做了一项工作,把老的 Macintosh C 程序移植到 WPF GUI 上,还要更新相关的 OOFILE's report-writer ,这让我重新回到了以前一直使用的C++上,它让我明白我对这种语言的理解是如此的深刻。它同样让我意识到我是如此想念 Object Master ,我至今仍然能使用 Object Master 把早期的 OOFILE 源代码克隆到老实的 UMax Mac 上。
在我写这篇文章的时候,我的另一篇发表在 Artima 上回应 Bruce Eckel 的关于C++的 Language Archaeology 帖子正在被人们热烈的讨论。并不像那些评论者,C++对于我说就像穿着舒适的老鞋子。我喜欢C++ ,但同时我也很欣赏其它语言中的一些特性,有很多次我发现很想念C++里有而其它语言里都没有的一些特性。诚然,我的这种喜爱大多是基于语义上的,而不是语法上的,当然,喜欢一个中年人你就不要太关注他眼角的皱纹了。
经过慎重的思考,我决定放弃学习新的语言,我会在偶然的因为兴趣的学习语言或想看看一些让你增长见识到新语法,但不会透彻的学习一种新语言、使能够在一种高性能高专业的水平熟练的使用的目的的学习新的语言。我并不认为我会拒绝对一些新的好东西的窥探 :-)
对此我内心的一些斗争让我想起来我那富有的、吝啬的堂兄的困境,去年一次晚宴上他半开玩笑的提到 - 作为一个品酒行家,他明白他收藏到好酒在有生之年不可能喝完。但这就意味他应该停止卖酒了吗?收藏到最大乐趣是什么?
是否我还要费心去关注那些语言设计上的新趋势呢?C++能让我赖以生存一辈子吗?如果我多研究一下 Objective-C , 我就能在 Mac or iPhone 开发我想做的任何东西。
很遗憾微软不再把 C++/CLI 作为首选 Windows 开发语言,如果你工作在 .Net GUI 上,C++只是一种补充语言,因为 WPF 和 SilverLight XAML 不再支持C++。所以也许我最后要对C#多关注一些以让自己能继续开发 .Net GUI 。
我想,对于一个传统的C++专家来说这个退休计划的唯一的威胁就是那些年轻精力充沛的游戏开发者。但是,认真想想,如果你在2020年去找个人维护实在是老的程序,也会去聘请那些有着白胡子的顾问吧?