下面为聊天内容的整理,希望通过对这些的内容的回顾可以带给大家一个全新的收获。
VC++/MFC是否过时
网友:语言和思维哪 个重要,如何处理其关系?
嘉宾[潘爱民]:我认为思维更重要,抓住精髓,语言如衣服,哪天高兴了,可以换一件。不过要小心代价
网友:用Visual C++主要开发哪些类型的应用程序?
嘉宾[潘爱民]:现阶段,由于C#、Java等开发语言和环境的流行,Visual C++的应用范围也相应缩小。但是,有些偏底层的应用仍然需要Visual C++,有些性能要求较高的应用,或者需要直接操纵系统API的应用或组件,这样的系统仍然需要Visual C++,当然用其他的C++开发环境也可以。另外,一些界面软件,特别是具有自定义特性的应用,也可以用Visual C++来开发。
网友:现在还有必要学MFC吗?
嘉宾[潘爱民]:MFC确实已经过时了,但它仍有用武之地
网友:潘老师,网上很多人都说vc过时了,我真的有点迷惘,到底我还要不要继续学习VC,还是跟着潮流,学.net、C#,我现在才刚学window程序设计不久,觉得学习的路还有很长,但就怕我的vc还没入门,最后还是技术落后于人。
嘉宾[潘爱民]:VC可以打基础。学好了VC,技术不可能再落后于人
网友:最想了解的还是应用前景
嘉宾[潘爱民]:Visual C++的应用前景仍然很好,至少我是这么认为的。当然它可能不再像以前那么普及。在有些应用领域它是不可替代的。比如一些性能要求比较高的应用、需要直接与系统打交道的应用、驱动程序等,更重要的是,还有很多遗留下来的C/C++代码,以及很多C++ fans。从某种意义上说,C++和C#(或Java)是不同层次的语言,虽然你能够看到它们有许多相似之处。
网友:我是vc新手,现在vc还刚刚开始学了一个月,目前.net比较流行,我是否该转向学.net???????
嘉宾[潘爱民]:看你对自己的定位。如果不想钻到底层,那就学.net,如果想多了解一点系统,最好学学VC
网友:在.net平台,有C#,在传统程序开发方面,MFC已经是明日黄花了,而现在的wxWindows也有了很多成就,还是boost库,编译器方面有除了Inter的,还有免费的gcc.VC++还有其它优势吗?
嘉宾[潘爱民]:在传统程序开发方面,实际上MFC仍然很有优势,VC++ 7.0的编译器有了很大的进步,我没有验证过,但是很多人告诉我这是事实。实际上,Stan Lippman(C++ Primer的作者)来领导VC++就说明了这一点。
网友:潘老师,有人说现在c++越来越接近边缘性语言,您认为c++以后的发展方向在那里C++作为普及性应用程序设计语言的地位已经不再,但是它作为系统程序设计语言的地位没变。
嘉宾[潘爱民]:将来的趋势是,会C++的人少起来,但是会C++的人越来越骄傲:因为我会C++
网友:潘老师,能给下学习VC的方法吗?怎么才能达到最佳的效果?或者可以说学老师你以前是怎么学VC的?
嘉宾[潘爱民]:学习VC首先要有基础。其次要多练习,我以前是练出来的,写过很多代码。经常想一想,也很重要。一本好书可以快速提升你的水平
网友:请问潘老师,用vc开发图像软件都需要掌握哪些知识
嘉宾[潘爱民]:我认为需要掌握SDK中关于图形图像的处理方法和接口。
关于.NET的平台
网友:微软件将宝押在了.net上面,一直以来您觉得他们是怎样来降低这些风险的?
嘉宾[潘爱民]:兼容性和过渡,这是微软成功的法宝。看看95、98就知道了
网友:潘老师,在.net 里面COM还是一个发展方向吗?
嘉宾[潘爱民]:在.net中,COM应该不是一个发展方向了,但是在Visual C++中,乃至在整个Windows平台上,COM仍然很重要
网友:vc.net相对于vc6来说除了编译器对C++标准的兼容性更好和增加了托管代码的扩展(这个改变我认为对vc来说可有可无)外主要还有什么改进?
嘉宾[潘爱民]:同意你的看法,其他的改进小一些,比如界面风格、ATL等
网友:VC++.NET将来会在哪些方面有作为呢
嘉宾[潘爱民]:按照我的理解,它的主要应用范围有:有些偏底层的应用仍然需要Visual C++,有些性能要求较高的应用,或者需要直接操纵系统API的应用或组件,这样的系统仍然需要Visual C++,当然用其他的C++开发环境也可以。另外,一些界面软件,特别是具有自定义特性的应用,也可以用Visual C++来开发。另外,遗留VC++程序还相当多,这是一个不可忽视的现象。
网友:.net将会支持跨平吗?现在Java是做得越来越优秀了,它与Linux的结合您学得将会对.net产生怎样的冲击,这种冲击造成的影响大吗?
嘉宾[潘爱民]:.net是否跨平台看怎么说,首先,跨Windows平台也是跨平台。但我不知道是否会进入到Unix上。从历史来看,COM虽然跨平台,但是基本上没有进入UNIX。Java与.net竞争,与Linux结合起来未必有本质的好处。我相信,这种冲击确实存在,但不会太大
网友:在Net中,ATL如何发展?这个问题一直不明白,还是ATL吗?
嘉宾[潘爱民]:ATL本来的定位就比较窄,现在更加剧了这种现象。
关于图书:《 Visual C++.NET技术内幕(第6版) 》和《计算机网络(第4版)》
网友:我认为您翻译的这本书如果在VS.NET2002推出的时候比较好
嘉宾[潘爱民]:VS.NET2005任何一本技术书总会有滞后,不过,好在技术和书籍都相对稳定,所以,这不会是个问题
网友:本书的读者对象?适合于初学者吗?可否作为自学用书?
嘉宾[潘爱民]:读者对象为已经有C++基础的读者,最好学习过Windows操作系统原理或者有一定的Windows程序设计基础,也适合于有Visual C++开发经验的人使用。不适合完全的初学者。可以作为自学用书,也可以作为课程或培训教材。
网友:Visual C++的书籍如此之多,本书的特色在哪里?
嘉宾[潘爱民]:本书的特色有几个方面:1. 内容广,大全式的学习或参考用书,最新的内容也纳入进来; 2. 既有原理的讲解,也有实战练习,每一部分都是读者实际工作的一个起点; 3. 本书的历史伴随着Visual C++和MFC一起成长,原作者的不幸去世也为本书增添了神秘的色彩。
网友:介绍一下本书的历史。不同版本的特色在哪里?特别是第2、4、5和6版。
嘉宾[潘爱民]:本书已经第6版,对应的中文版有1、2、4、5、6。其中1、2由王国印老师翻译,4、6由我翻译,第5版由希望出版社出版。第2版是针对16位Windows平台开发的最好书籍。第4版是逻辑上最顺畅的一个版本,也是作者David Kruglinski的绝版。第5版中文版是惟一不由清华出版社出版的版本。第6版是目前最新的版本。:)
网友:本书内容庞杂,如何整理出一条学习路线?
嘉宾[潘爱民]:首先,需要C++的基础,只要最基本的C++知识就可以了。
然后,学习这本书的前三部分,Windows的界面设计基本上全了。
第4、5部分为高级部分,可以选择性地阅读。
第6部分绝对不能错过,应仔细体会和练习。这一部分只能让你对托管C++开发有一个大致的了解。
网友:潘老师``,VC++第6版,是实合哪个层次上的书呢?
嘉宾[潘爱民]:中等偏上吧,我总是这样认为。但有人把它看作入门书,我认为他一定没有看透
网友:为什么没有完全中文化,也就是说书中仍然使用英文版软件?
嘉宾[潘爱民]:Visual C++ .net应该是给相对比较专业的开发人员使用的,所以,我认为保留英文版软件比较合适,我看过中文版,感觉不是很好,从界面到注释,让人有一种很不适应的感觉。
网友:潘老师,这不书1年前就看到了出版。今天中文版终于出来了,你认为新出的这书和以往的VC技术内幕最大的区别在哪?
嘉宾[潘爱民]:最大的区别是增加了VC.net中新增特性的介绍
网友:最近看到《计算机网络(第4版)》也即将出版,能否介绍这本书的翻译情况。
嘉宾[潘爱民]:这也是我独立翻译的一本书,估计7月底8月初出版,有兴趣的读者可以到几家网上书店看这本书的预告,其中有我写的译序和第一章内容。