现在和将来
Ilia Yordanov 著 荣耀 译
译序:Jeff Prosise是畅销书《Programming Windows with MFC》的作者,是Windows程序设计、MFC和COM领域的世界知名权威。目前专注于.NET。这是cpp-home.com于2001年8月30日对他的访问。
问:
你从什么时候开始成为一名程序员的?
答:
1983年我买了第一台PC(Commodore 64),开始编写并尝试卖软件。起先用BASIC,接着为了做真正快速的图形软件,我又学了6502/6510汇编语言。一年后,我买了一台IBM PC(实际上,是一台初级PC)并开始专门为IBM PC平台编程。从那以来,我一直都在从事这个行当。
问:
作为一名程序员,你容易找到一份差使吗?
答:
是的,我是这么猜的。外面有大量的编程职位。但是,从某种程度上说,我是那种不适合受雇于人的人。已经过去好久了—我曾在一个大公司里干活,上班时间固定,要对另外一些什么人负责。为了遵从那个模子,我度过了一段很不爽的时间。我非常不能容忍那种当面一套、背后一套的团队文化氛围。
问:
你目前的职业是?
答:
程序员/作家/教员。我写代码,我喜欢写代码。我为MSDN杂志写文章,我马上要写一本.NET方面的书(可以到http://www.wintellect.com/instructors/prosise/blog/default.asp?page=1查看我的书籍blog)。我四处旅行,为别的程序员讲解COM和.NET,并在会议上演讲。我在Wintellect上花了大量的时间和精力,这个公司是我和Jeffrey Richter和John Robbins去年发起创建的。
问:
你每周工作多长时间?(作为一名程序员)
答:
我每周工作40到80小时不等,这要看我那周在干什么并且是哪种工作的最后期限快要到了。当我在写书时(就象现在),我一般会工作时间长一些。
问:
和Java及C#相比,C++的将来如何?C++将来的就业市场如何?如果这个市场依然存在,最重要的技术是什么?模式?泛型编程和STL?COM?亦或其它?
答:
C++会存在很长一段时间。它将一直会被编写嵌入系统和传统应用的程序员所使用。但是对于那些想写WEB应用的程序员来说,C++将会变得不合时宜。
问:
你认为将来会主要使用什么样的语言—象Visual Basic(易于使用)?或者象C++(难用,但极具威力)?
答:
所有语言都会有它们自己的位置,没有谁会胜出。把宝压在.NET上的程序员将主要用C#和VB.NET;编写传统Windows应用的程序员仍然会使用VB和C++;而UNIX上的人们在相当长的一段时间内将宠爱C、C++和Java。
问:
你认为将来最需要哪方面编程?(游戏、网络等等)
答:
WEB编程。无容置疑。
问:
你怎么看人们对于使用MFC的速度方面的顾虑?
答:
MFC的速度问题被过分夸大了。用MFC创建的应用程序并不慢。如果你想看个慢的,运行个Java应用程序试试。读一读MFC的源码吧,你会发现,为了让MFC快,微软什么聪明的事情都干了。
问:
有很多人花了大量的时间而成为一名精通C++/MFC/ATL和(或)COM的程序员,他们是否应该重新武装自己以迎接.NET技术的腾飞?
答:
是的,如果他们转移到.NET的话。在微软.NET框架下编程和使用MFC、ATL甚至是Win32 API有着根本的不同。看来要重新开始。首先,你要学习一套新的API—.NET框架类库(FCL),它包含了超过6000个类。但是记住,.NET主要是用来开发WEB应用和WEB services的,并不是每一个人都打算写WEB代码的,所以,不是每一个人都会转移到.NET。
问:
有些人认为MFC太薄,你认为Borland的VCL比MFC封装得更好吗?
答:
我不熟悉VCL。但MFC在某些方面封装的太薄的确是事实。
问:
对于MFC在.NET新时代的前景你怎么看?
答:
用C++编写传统Windows应用的程序员还会用MFC好长一段时间,准备编写.NET应用的程序员压根就不会用MFC。
问:
每一名程序员都有三种选择—写代码,或成为一名教员,或写书。哪一种职业最“有利可图”?
答:
大多数计算机书籍都不会赚很多钱,所以我不得不规定我尽快出书。培训可以为你赚得比较好的生计,但事情远远不只是挂出营业招牌并等电话铃响那么简单。写代码谋生可能不会让你发财,但会保证能有一个稳定的收入。没有哪种选择最糟。
问:
你认为学习和理解Windows程序设计的最佳途径是?
答:
写代码。写好多代码。如果你是一名Windows编程新手,首先读一本书,比如Petzold的《Programming Windows》。但这只是第一步,然后你要捋起袖子,开始写成百上千行代码。并且,不要害怕读象MSDN这样的杂志。
问:
微软一直被很多程序员认为是GUI时代竞赛的领先者,MS Office一直都有着优雅的新特征,程序员们都试图跟进并模仿它们,将来,你会纯粹用MFC而不用子类化技巧写一个“Office”吗?
答:
恐怕不会。微软在.NET上花了大量的时间。将来,我们可能会看到MFC得到了一些很小的增强,但我怀疑我们看不到任何大的改进。MFC差不多已发展到了尽头。
问:
人们怎样才能联系到你?
答:
他们可以用这个邮箱给我写信:jeffpro@wintellect.com。然而,尽管我愿意为每一位在进行Windows或.NET编程时碰到问题的程序员回答问题,但是我办不到。我毕竟只是一个人。我欢迎e-mail,但我不能保证答复每一个人。
谢谢你,Mr.Prosise!
-全文完-