回复人: fohoo(飞狐) ( ) 信誉:98 2005-3-14 11:26:09 得分: 0
To:xenter(小菜)
MFC在运行时,可以动态创建CMyClass,不需要头文件,这点毋庸置疑,《深入浅出MFC》中关于动态创建那一章有详细论述。
我认为COM也没有实现对象的动态创建,只是现实了二进制层面上的接口,并不包含普通意义上的CMyClass类的信息,如果不是通过接口的话,你不可能操作CMyClass的方法。
以上纯属个人见解。
----------------------------------------------------------------------------------------
是的,你说的是对的,<深入浅出MFC>我原来只是粗看了一下,经你提醒,特地回去重看了关于动态创建的部分,MFC可以动态创建MFC的类。在使用创建的MFC类时,仍需要头文件,得到类信息。
COM确实也没有实现类的动态创建,而只是包括接口的元数据,它可以动态创建接口,从类型库而不用头文件来得到接口信息
JAVA(和.Net)更进一步,用.class放了编译代码和类信息(不仅仅是接口)..
所以JAVA从语言层面上来根本解决了动态类的创建和使用的问题,你不用和IDL打交道,JAVA的动态性是天生的,JAVA采用了GC的内存解决方案,而COM的内存的引用计数的方案是很糟糕的方法,低效且不可靠,由于JAVA的类是真正的类(类信息在内存中),HOOK一个方法不在像C++哪么麻烦,JAVA天生用反射来支持这样做,这样可以产生AOP这样的编程模型
以上为个人见解,学识有限,难免有不正之处,大家共议..
回复人: ilovevc(ilovevc) ( ) 信誉:100 2005-3-14 12:00:01 得分: 0
>>所以JAVA从语言层面上来根本解决了动态类的创建和使用的问题,你不用和IDL打交道,
更加严格的来说,我认为应该是从实现,而不是语法层面上。
.class 就是源代码,这点使用过java的人都知道,如果不加混淆器的话。
而c++编译后直接转换成机器码,因此就需要一个独立的头文件。说哪种好,看具体情况。至少源文件你是用不到的。
回复人: chetian2000(狼) ( ) 信誉:100 2005-3-14 12:19:00 得分: 0
To Featured(Nanjing.Seu.edu):
老兄那么多三角裤,佩服!!!我也只会用VC做些简单的东西,离自己的目标还远着。老兄在哪做?我在在广东!QQ:64292465,注明CSDN。
有空交流交流。^_^
回复人: fohoo(飞狐) ( ) 信誉:98 2005-3-14 12:39:35 得分: 0
to ilovevc(ilovevc) ( ):
嗯,C++和JAVA各有所长,我们做应用的确实能用好就可以了
另外,我的一些理解和想法来自陈榕写的一篇文章,尤其是他对C++,COM,JAVA的评述,我想你可能会有兴趣,推荐给您: http://community.csdn.net/Expert/topic/3217/3217544.xml?temp=.2869379
回复人: ilovevc(ilovevc) ( ) 信誉:100 2005-3-14 14:14:00 得分: 0
你的帖子 http://community.csdn.net/Expert/topic/3217/3217544.xml?temp=.2869379
有点过度贬低了c++。
例如" 在美国,所有大软件公司的大的工程项目很少直接采用C++的编程思想,而是采用它们自己的编程思想,实现软件设计。", 我不知道什么是编程思想,如果是使用c++的话,算不算使用了c++编程思想。世界上最赚钱的软件可能就是office吧,c++写的。现在的.Net吧,c++写的。vs.net ide?c++写的。浏览器? c++写的。我估计ms的很大一部分软件,除了操作系统主要是c, 很多都是c++写的。还有一些具赚钱的软件,例如photoshop,coredraw等,估计也都是c++写的。
另外"包括IBM发明Smalltalk、Digital发明CORBA、SUN发明JAVA,也都是认识到了这一点。",
smalltalk 好像比c++还早出现吧? 没有用过,但是,还有人用吗? 它的使用范围和深度能和c++比吗?可以说就是因为c++才导致了smarttalk的消失。corba 是一个分布式模型,这个和c++无法直接比较。而且大多数具体的实现恰恰都是基于c++的。
java 确实在开发上有它的强项,但是不至于像它说的那样,取得都是精华,不要的都是缺点。要不sun如何解释enum, template在新的java中的出现? 以前java刚出道的时候不是说这些都是缺点吗?
回复人: vcleaner(我没当大哥很久了.......) ( ) 信誉:185 2005-3-14 14:20:00 得分: 0
争论.NET是否就是COM3.0个人觉得没有什么实际意义。其实COM也好,.NET也好,都是一个架构,提供给编程的人员一种实现的框架,现在很多人连最基本的程序执行原理都不是很清楚,更不要说这种理论性的东东。在如今这个社会可以说“会编程”的很多,“懂编程”的很少。现在的IDE环境、App Wizard让很多人圆了当程序员的梦,如楼主所列举的几个提供大量的Source Code的网站,又让多少人成为别人眼中的高手?虽然很多人虔诚的也好,虚伪的也好,说我是高手,但是本人也不是高手,我从来也不敢认为自己是高手。这么多年来,越学习越觉得自己知道的太少,懂的东西太少,微软没有披露的API或者说已有的API的细节太多了,这样就导致,很多技术只能由微软实现,学习Windows编程的人需要了解的东西太多了,个人意见,所有的程序员还是先学习好基础的问题再来研究这些东东吧,微软不断的公布API,不断的制造新的技术,但是我相信,万变不离其踪,扎实的基础才是最为重要的!
上面是个人的一点愚见,不妥之处望大家海涵!^_^
回复人: fohoo(飞狐) ( ) 信誉:98 2005-3-14 14:56:25 得分: 0
to ilovevc(ilovevc):
还有些好文章,是两位CSDN的大侠关于语言的务虚主义的讨论,一并推荐给您
恶魔和梦魇的私语------- 关于软件开发的务虚主义对话(1)(2)(3)(4)
http://dev.csdn.net/Develop/article/11/11872.shtm
回复人: redchina(风清云淡) ( ) 信誉:103 2005-3-14 15:18:35 得分: 0
quote:fohoo(飞狐)
----------------------------------------------------------------------------------------
JAVA采用了GC的内存解决方案,而COM的内存的引用计数的方案是很糟糕的方法,低效且不可靠,
-------------------------------------------------------
何以见得是低效并且不可靠的?
由于JAVA的类是真正的类(类信息在内存中),HOOK一个方法不在像C++哪么麻烦,
----------------------------------------------------------------------
java让所有的东西都简单了,那是因为他提供给你的工具太多,你都没必要思考。我所认识的一个java程序员(他使用java三年多了),可是他的头脑里边认定的同步就是加一减一来实现的。简单会给我们自己带来什么?我们自己又会失去什么?
JAVA天生用反射来支持这样做,这样可以产生AOP这样的编程模型?
--------------------------------------
AOP这样的编程模型?真的很好么?你觉得c++的多重继承不能实现类似的功能么?还是因为java不支持多重继承,才有了AOP这样的编程C++的编程思想模型的出现?
我好像看到有“C++的编程思想”的提法,我不赞同这个提法,编程思想怎么跟语言挂上钩了?编程思想我觉得其实就是一种抽象。语言只是来进行描述和表达这种抽象的工具。不同的语言对现实世界的抽象的支持能力有所不同而已。
回复人: sunhui(MFC.NET) ( ) 信誉:97 2005-3-14 22:06:13 得分: 0
有网友提示几天来几个地方转载此贴或摘录其中部分内容发表于他出,本人声明如下:
一、其中观点仅代表本人的想法,希望能争得本人同意后转载;
二、本贴系有感而发,并不是规范文体,而且本人并未打算将一些散碎的只言片语连接成文,故文体混乱。
另:如果有良好的建议,请按如下邮件与本人联系:sunhui@mail.apptemplate.com,谢谢。
回复人: Featured((【我握着爱情的门票静静排队……】)) ( ) 信誉:100 2005-3-14 22:19:10 得分: 0
>> 目前人气为4932
怎么看到的?
回复人: sunhui(MFC.NET) ( ) 信誉:97 2005-3-14 22:24:42 得分: 0
to Featured(Nanjing.Seu.edu):
这位南京的朋友,十分感谢您的热情,贴主可以维护、管理所发的帖子,目前的人气(访问次数)为4953。
回复人: Featured((【我握着爱情的门票静静排队……】)) ( ) 信誉:100 2005-3-14 22:27:44 得分: 0
sorry,献丑了。
回复人: sunhui(MFC.NET) ( ) 信誉:97 2005-3-14 22:31:47 得分: 0
to Featured(Nanjing.Seu.edu):
不必客气,多交朋友,促进交流,希望得到您的指教!
回复人: sunhui(MFC.NET) ( ) 信誉:97 2005-3-14 23:19:47 得分: 0
为感谢CSDN网友的支持,本人拟定陆续增加几个新的帖子:
一、十年MFC经历认识的Microsoft开发技术-多文档界面开发技术:此贴讨论一类多文档界面,主窗口是一个单文档界面,如果你愿意,你可以将多文档窗口作为主窗口的一个视图(CView)显示,这类多文档界面支持无限多个文档类型(即可以加载任意多个文档模板),支持(基于COM、.NET)二次开发技术以及VBA集成;
二、十年MFC经历认识的Microsoft开发技术-可视化文档界面设计技术:此贴讨论MFC Document/View 机制的可视化实现,将给出一种所见即所得的Document/View 设计机制;其中包含如何集成ActiveX Ctrl、.NET User Control、MFC CView类对象以形成一个MFC窗体;
三、在MFC程序中如何有效的使用HTML、flash,例如,可以实现flash动画作为一个程序的Splash以增强程序的感染力,使用HTML、flash动画作为MDI程序的MDI用户区的背景等等……;
四、十年MFC经历认识的Microsoft开发技术-MFC .NET组件开发技术:介绍如何使用MFC类库开发.NET组件,例如可以用MFC开发WinForm对象,然后用于VB.NET、C#等等。
如果大家有好的建议,请与我联系(sunhui@mail.apptemplate.com、sunhuizlz@yeah.net),如果有北京的朋友肯帮忙协助,在下不胜感激,希望得到大家的支持!
回复人: laker_tmj(laker) ( ) 信誉:105 2005-3-15 16:12:51 得分: 0
up learn
wait for......
一、十年MFC经历认识的Microsoft开发技术-多文档界面开发技术:此贴讨论一类多文档界面,主窗口是一个单文档界面,如果你愿意,你可以将多文档窗口作为主窗口的一个视图(CView)显示,这类多文档界面支持无限多个文档类型(即可以加载任意多个文档模板),支持(基于COM、.NET)二次开发技术以及VBA集成;
二、十年MFC经历认识的Microsoft开发技术-可视化文档界面设计技术:此贴讨论MFC Document/View 机制的可视化实现,将给出一种所见即所得的Document/View 设计机制;其中包含如何集成ActiveX Ctrl、.NET User Control、MFC CView类对象以形成一个MFC窗体;
三、在MFC程序中如何有效的使用HTML、flash,例如,可以实现flash动画作为一个程序的Splash以增强程序的感染力,使用HTML、flash动画作为MDI程序的MDI用户区的背景等等……;
四、十年MFC经历认识的Microsoft开发技术-MFC .NET组件开发技术:介绍如何使用MFC类库开发.NET组件,例如可以用MFC开发WinForm对象,然后用于VB.NET、C#等等。
回复人: BrianLeungX() ( ) 信誉:100 2005-3-15 17:20:27 得分: 0
由于CSDN论坛回贴的限制,作者已经无法在此帖下继续跟贴,新贴地址在http://community.csdn.net/Expert/TopicView1.asp?id=3850907
希望大家周知
回复人: comeonDev() ( ) 信誉:100 2005-3-16 17:41:46 得分: 0
并非准程序员,从别的地方链到这里,刚刚注册。我看得出楼主维护这个系列帖子的热情与辛苦,这恐怕跟他文中所说的自己当过老师的经历有关。有些人一旦有过教书育人的经历,他就总忘不了这种责任,这一点我也有感触。不知道楼主又没有时间精力去主持一个技术专栏或者建立一个技术性强、有思考、有责任的交流站点,为我等后起者指路。这个要求恐怕有点过分,仅供参考,呵呵
回复人: vicky_jam(天使亲蛙) ( ) 信誉:100 2005-3-16 17:43:08 得分: 0
看了
很精典~~
我在学习VC 看到文档视图 时 卡住了,
以前我用的是 VB , 用了 几年 ,转 VC的时候 一点也不习惯,感觉 什么东西都要自己做
今天才对他 有所了解.
有一次 在安焦上看到了一个人说 我们国家 “有没有自己的编译器”,这个问题 我是一直 有悬念的
我本来回了,但是提交的时候错了 我再说说,我是 菜鸟 希望大家 看了之后 指正 也说说:
我感觉 纯属编译器的话 应该 有,这么多教授 难道就没有 熟悉这个的?
但是 ,他们的那些 只是 ,从原理,或者实现上来的 ,有没有真正 的做一个集成开发环境呢?
知道有个 叫“易语言”的 在书店还看过他的书,说是现在中小学生 在用。
我对这个没有什么很深的了解,但是 好像有一次 看过 “易语言本身” 就是用 VC 编写的。
如果这么说 他只能说是个软件了, 只是在语法上或操作上 进行了简化。 我觉得这是一种逃避!
在国内我 所能听到的就是这个了 当然 在Linux 平台 不知,但是在Linux 平台 有GUN 源码公开 那个愿意 再自己写代码~??
CPU+OS+编译器 三者是互相联系的
学习C 语言的第一页 说 C 语言的前身是B语言
有个家伙 发明了B语言 写了Unix 系统 后来 X人 又在B 语言的基础上 写了C 语言
然后 又用C语言改写了 Unix
这么说 先有鸡还是 先有鸡蛋 的话, 应该先有 语言 和 "编译器" 的
然后两者 互相进化 互相发展
而且 看了 Linux GUN 的发展 也可一知道
GUN 是想先有自己的语言 然后再发展 GUN OS
但是GUN 运行也要有平台吧 你免费 你用 花钱的OS 你是免费吗?彻底??
所以他就看中了正在发展的 Linux 所以 听说 Linux 也叫 GUN(Temp) OS
而 Linux 0.01 版 就是用GUN 编译出来的~~
那么,我们可以这么说吗?
正是因为我们没有自己的语言 没有自己的编译器 , 从而注定没有自己的 整天叫喊的 国产“OS”
归根结底 就是 没有自己的 运行平台 “硬件是基础,软件是灵魂”
所以 没有国产 OS 中国的硬件 业者 应该好好 思考~~~
有人说 计算机 外国人发明的 ,中国的语言 文字 不适合 发展 计算机语言。
对~ 也许没错。 (据说 ,汉语拼音 的发明就是 这个原因)
我们可以拿来主意,拿来 我们学英语,学ABC ,然而 拿来了 真正吃下去了吗?
没有~ 不过四级毕业 没有学士学位 就是一个值得讨论的地方
中国人学 英语动辄 语法~ 什么的,现在N的的外国语学校啊 什么的 ,唉~
难道这不是崇洋媚外的一种吗?
语言只是一种工具,工具知道吗?
没有必要为了它拼死拼活,只要懂就行了 会说就行了,
而且 你要深深的记住 你只是再利用它 “利用” 不是让你 为了它拼命~~~~
就哪Linux 说吧 ,源码开放,好了 ,汉化一下,就是国产OS 了???
真正读懂内核的有多少?
我认为要是有真正读懂Linux内核的 那么中国就会有一种新兴的 正真 国产的 沿着我们思路的OS
可是没有
Linux 的发明者 还在做他的内核 ,我们还是帮他包装,问题在哪里?
就是 现在做内核 赚钱吗?
时间,精力,投资都是无底洞, 这个讲效率,讲收益的社会 怎么容忍他的存在 ,这个现在只能是由是国家来组织的,但是对于国家的OS 我想.......
一个芬兰人 就能 主力创造Linux 中国这么多天才 怎么回事?
我也想学Linux 想自己些个OS 玩玩 ,如果有一天看着启动电脑时 (也许回模仿蓝天白云)
但是 那是自己一手作出来的 自己知道为什么 那该有多开心啊:)
但是,现实,现实 ,你要些一些什么东西,现实的应用?
大家都在不用Linux, 菜鸟们都在用MSOS,问 ,你写出来的东西让不让人用了啊?
问,你以后想不想赚钱糊口了啊?
所以我 放下了Liunx 学VC
虽然我是个菜鸟,菜鸟如此,以后我长成老鸟了 不和现在众多老鸟一样???
(涉及广 ,漏洞多,只是表达一些 自己的想法,谢谢浏览~)
回复人: amplifier(小毛孩) ( ) 信誉:100 2005-3-20 17:27:12 得分: 0
呵呵,我只看了前面两章,感觉作者是在show自己,没什么条理,一个问题还没说完就扯到另外一个问题了。一直都在夸奖Microsoft,其实,微软能取得今天的成绩,不过是因为它在操作系统上占据了垄断地位。有谁能比微软更清楚Windows的底细呢?Windows如何发展,也是由微软说了算的,所以在技术创新上,其他公司根本不可能赶得上微软。有钱了,当然就会吸引很多牛人啦,所以微软里面有很多高手就不足为奇了。说到底,微软的成功来源于它的操作系统的垄断地位,而不是微软真的追求创新。如果不是竞争对手的驱动,微软巴不得坐在那里收钱,什么都不做了。很好的例子就是,Firefox出来蚕食IE的市场的时候,微软匆忙宣布IE7就要发布,IE6已经发布几年了,才出个IE7,这是为什么?没人和它竞争嘛。微软,不过如此!楼主,也不过如此!当然,我更是S-B一个。
回复人: cooljjyy(叽叽歪歪) ( ) 信誉:104 2005-3-26 22:54:56 得分: 0
俗话说要站在巨人的肩旁上,于是微软都让我们站在了他的肩膀上。现在我们都在用他的windows操作系统,用他的MFC或.net写程序,最后,巨人还是微软,我们只是站在他肩膀上的猴子。多少程序员还知道计算机是怎么工作的?什么是系统中断?我想现在大部分程序员对计算机的了解也只有WM_XXXX和各种Windows API了。离开了微软恐怕要什么从头开始了吧。
回复人: smallcrocodile(大鳄鱼) ( ) 信誉:100 2005-4-1 9:14:05 得分: 0
世上本没有路,走的人多了也就成了路!
不管这些言论是随感而发还是深思熟虑,都是值得称道的文字!世上有多少发明创造不是一瞬间的灵光闪现!
说出大家各自零零碎碎的感受,就汇集成江河大海,别人能从中获得启迪,不是一件很快乐的事情么!对别人的言论指责、诋毁简直可笑!
最后引用《极地快车》里的一句话:重要的不是这趟车到达的目的地,而是你敢不敢搭上车!
回复人: PigKing(猪皇:让dotNET区所有高级用户无地自容的家伙) ( ) 信誉:100 2005-4-3 15:40:51 得分: 0
很早就看到这个贴了,
今天无聊终于把本贴看完
果不其然,跟我预想的一样--别指望CSDN能出什么好象牙!
回复人: Tray(Vaulting horse) ( ) 信誉:100 2005-4-4 13:07:42 得分: 0
我发觉我们片面的追求语言的更新换代本身就处在一个恶性发展中,但是大家也看到了那些早期的开发语言无情的被淘汰了。MFC也不过是茫茫机器语言中一个台阶而已,过了这个时期也就没有必要去追寻所有的得得失失。大家都尽力而为也就满足了。
回复人: BrianLeungX() ( ) 信誉:100 2005-4-7 21:26:56 得分: 0
楼主已经开始了一个开源项目,大家去看看吧!
http://blog.csdn.net/sunhui/
回复人: whoo(谁) ( ) 信誉:105 2005-4-9 15:43:25 得分: 0
楼主阅历见识确实不凡,文笔更是灿然。
不过对于楼主观点,只能80%赞同,10%激赏, 10%则不敢苟同。
论VSA, Shell, office部分 深刻独到,在此之前确实很少有人涉及。
vc, bc, owl, mfc则太过隔鞋瘙痒了,好在csdn上以前也有高人总结过(大约是关于VC vs Delphi的争论的),几成公论。建议楼主阅读。
至于MFC,个人感觉楼主有点含糊于VC, VS(& msdn),以至于笼统地评价过高,不敢苟同。个人愚见,MFC大约只能充当C++的入门读物吧,在熟练了coding,进一步要了解架构的时候,还值得仔细读一读。
总的感觉楼主对于第二方(微软以外)涉猎不多:
borland 部分主要以owl为主,虽然资格是够老了,但是不了解delphi确实不能说了解borland,
java 部分略略泛过,以不足以服人。
想来是楼主当老板太早了,对于新兴的技术细节有点脱节。
文章精彩,洞察力深邃,可是偏于微软一家,立场不够中立。结果就是诱导性很强,权威性不免打些折扣.....
btw
to yujia120(于佳):
楼主说的是“小女”, 不是“小女子”。不要误解了。
回复人: xory001(刺猬) ( ) 信誉:100 2005-4-9 22:02:35 得分: 0
我才大四,学VC才一年,都是用SDK,对于mfc知道一点
请问楼主,我这样发展,该学习.net 还是学习mfc?
我个人喜欢vc6.0,觉得比较简洁,.net太乱了.
回复人: gerry2000(后知后觉,天天努力奋斗) ( ) 信誉:100 2005-4-9 23:37:34 得分: 0
to whoo(谁):
论VSA, Shell, office部分 深刻独到,在此之前确实很少有人涉及。
vc, bc, owl, mfc则太过隔鞋瘙痒了,好在csdn上以前也有高人总结过(大约是关于VC vs Delphi的争论的),几成公论。建议楼主阅读。
我也想读读不知能否提供一个链接?
回复人: coolsunshine(wood) ( ) 信誉:100 2005-4-10 23:45:38 得分: 0
看完了,唯一的感觉是楼主厉害,分析的很深刻啊,期待楼主的自传啊
回复人: whoo(谁) ( ) 信誉:105 2005-4-10 23:51:26 得分: 0
to gerry2000(后知后觉,天天努力奋斗):
Delphi 与 VC的口水战,大约两年前很是激烈了一八。csdn上吵声一片,高手歧见无数,后来有位高人写了一片全面的对比分析,堪称经典,争吵才渐渐息了。 以后vc与delphi的爱好者屡起争执,却再未煊起大规模的讨论过。
那篇文章我没保存,不过在csdn上肯定还能找到。
回复人: kangji(-cpp-) ( ) 信誉:100 2005-4-20 17:09:10 得分: 0
basicd是集成在microsoft各个产品中的一个Application
回复人: an_bachelor(一個單身漢) ( ) 信誉:97 2005-4-20 17:23:31 得分: 0
但是说Delphi\VB做数据库比VC“好”我想不能做这种简单结论。
至少他们的性能都比不上VC。
快速生成界面只是“好”的一种。
回复人: laomai(老迈) ( ) 信誉:100 2005-4-20 17:30:52 得分: 0
不错啊。
回复人: wwww2() ( ) 信誉:103 2005-4-20 22:34:01 得分: 0
静下心慢慢看完了贴子,对于搂主的观点我是非常之赞同,真的是佩服楼主,同时感触也颇多。
从个人的角度我是非常喜欢微软的(要是Microsoft是中国的公司,我会感到骄傲的),我知道会有很多人对我不满,不过无所谓。
说实话,微软在技术上往往可能不算最好,但至少是一个成功的商人.
比尔·盖茨针对盗版曾说过"让他们(中国人)盗去吧"。这句话从商业的角度我是非常之佩服,象这么有眼光的人能有几个?
“Microsoft的东西有个惯例,3.0版后再谈这个问题吧!”
Microsoft的东东往往刚推出的时候都不太好,而且还很可能是照着别人做的,但是随着版本的升级,
往往能够赶超对手。真的,Microsoft很是厉害。
Microsoft的东东使用上也是最人性化的,你可以几乎不看书,不看帮助,照样能够把Windows操作玩熟,如果是Linux,可能吗?
对于VC我觉得使我用过的最爽的一种IDE,避开对标准C++的支持问题,除了汇编外,VC至今还是Windows下执行效率最高的语言,不过又有多少人单纯为了效率去用汇编呢?再说VC还有内联汇编。
前段时间用了一下delphi(好像是6.0版本,记不太清楚了),真的感觉比VC6差远了,虽然是2000年(还是2001?)出的产品,比起98年出的VC6感觉还是差了几个档次,调试不方便、对Win32封装的不完全兼容等问题完全把开发进度拖下来了,再加上偶尔遇上Delphi框架的Bug,让人完全对delphi失去信心,当时就下定决心,以后再也不用Delphi了,太令人失望了。
反观VC6,虽然补丁包出到了SP6,但平时的开发中你能碰到几个Bug(我知道MFC中由于框架的原因,也有一些问题,但我觉得只能算是功能的限制,不能算是软件的Bug),再说Microsoft在去年还发布VS6的SP6,要知道这可是6年前的产品了,现在能有几个公司有这种负责的态度?
我也不喜欢那些开口就反微软的人,除非你是真正的Microsoft技术高手,要不然你根本就不了解Microsoft,你又有什么发言资格?
我也不多说了,回家继续学VC!!!
回复人: hm8030(Nina) ( ) 信誉:100 2005-4-24 19:53:52 得分: 0
其实很多的东西,不管是真是假,但是他提醒了我们程序员以后的路该怎么走,至于对与否,都是个人言论。
回复人: lizifong(罗克) ( ) 信誉:99 2005-4-24 20:20:54 得分: 0
看不懂的贴应该算是好铁了
回复人: winks(少爷) ( ) 信誉:100 2005-4-24 20:33:12 得分: 0
多谢,长见识了
回复人: therockdelt(Dm和弦) ( ) 信誉:100 2005-4-24 20:47:57 得分: 0
学习!学习!再学习!
回复人: AhBian(阿扁) ( ) 信誉:100 2005-4-25 14:46:54 得分: 0
我来自速马的BLOG,因为自己是个 .NET 程序员,几乎不访问 C/C++ 的论坛。要感谢速马的收录,让我有机会聆读如此美文。
首先,表示对作者及本帖的敬佩。
其次,表示对微软的无保留尊敬,从一个人类成员的角度出发(我是一个中国人)。
最后,表示我对以下东东,一点也不感兴趣:
////////////////////////////////////////////////
一、十年MFC经历认识的Microsoft开发技术-多文档界面开发技术:此贴讨论一类多文档界面,主窗口是一个单文档界面,如果你愿意,你可以将多文档窗口作为主窗口的一个视图(CView)显示,这类多文档界面支持无限多个文档类型(即可以加载任意多个文档模板),支持(基于COM、.NET)二次开发技术以及VBA集成;
二、十年MFC经历认识的Microsoft开发技术-可视化文档界面设计技术:此贴讨论MFC Document/View 机制的可视化实现,将给出一种所见即所得的Document/View 设计机制;其中包含如何集成ActiveX Ctrl、.NET User Control、MFC CView类对象以形成一个MFC窗体;
三、在MFC程序中如何有效的使用HTML、flash,例如,可以实现flash动画作为一个程序的Splash以增强程序的感染力,使用HTML、flash动画作为MDI程序的MDI用户区的背景等等……;
四、十年MFC经历认识的Microsoft开发技术-MFC .NET组件开发技术:介绍如何使用MFC类库开发.NET组件,例如可以用MFC开发WinForm对象,然后用于VB.NET、C#等等。
///////////////////////////////////////////////////////////////
用 MFC 来解决以上问题,应该不存在不可克服的障碍,但有其他更好的语言和工具(成本和难度更低)来实现,为什么还要选用 MFC 呢?
个人颇有些以为楼主续写这四篇文章有点“狗尾续貂”之嫌。尤其是第四篇,真是多此一举。
难道说,对于 MFC 程序员,这四个主题就真的那么难吗?
MFC 不可能全部被 .NET/Java 替代,应该有其独特的用武之地,而不是用来解决上面四个问题的(尽管是允许的)。
就说我尽管是一个 .NET 程序员,但我一直信守“能进得去,也能出得来”的做事原则,对 .NET 技术本身的追根问底,我一向都是计较成本(物质和时间上的)。
我认为,很多技术层面的东西已经不是个人发展方向了,这对于大多数程序员而言我想也是类似的。
我想我应该在技术与应用的结合上做得更多一些,所以我平时更关注行业领域的知识和技能。
老是钻在技术本身的追根问底这种事上,有点类似于“(中国人)喜欢从历史中找证据”的思维行为方式。
我相信:如果楼主能够用 .NET 技术来描述如何解决上述四个问题的实现方法,更具现实意义。
如果是 MFC 的实现,那么我肯定就此打住了。
我进来了,还是要出去的。
要是真有时间的话,我还不如研究一下 SharpDeveloper 的开源代码了(其中的多文档设计器技术和插件技术一直是我和其他很多 .Net 程序员很想掌握的)。
Continue ...
回复人: AhBian(阿扁) ( ) 信誉:100 2005-4-25 14:59:39 得分: 0
在处理“学好”和“用好”这两者的区别时,并不是每个人都能做得很好的。
学得好不好,这个概念是很抽象的,没有一个客观标准来衡量的,非要有的话,其标准也只能是“用好”了。当然可以用个人对自己的要求(或者教师对学生的要求)这些主观标准来衡量。
用得好不好,可以用市场这一客观标准来衡量。
我信守“能进得去,也能出得来”的做事原则,就是基于这一点。
但这并不表示我在“用好”这方面我做得很好。
回复人: zzzjaychung(追逐幸福的风筝) ( ) 信誉:100 2005-4-25 16:53:20 得分: 0
奇文共欣赏。
回复人: penfe(大傻) ( ) 信誉:100 2005-4-25 16:57:00 得分: 0
好贴啊
回复人: adam830(长大学生甲) ( ) 信誉:100 2005-4-26 12:20:13 得分: 0
QQ群同学推荐的,看了果然不错。
这样的老师很少了,知识结构这么好。
如果投身于教育或者研究,对大家的帮助会更大。
支持sunhui(MFC.NET)老师。
回复人: holiday1001(数字精灵) ( ) 信誉:97 2005-4-26 13:51:12 得分: 0
国内几乎都是MS 的用户.而在国外,欧洲用linux 更多些.
回复人: MyCabin(假聪明真糊涂) ( ) 信誉:100 2005-4-26 13:59:16 得分: 0
mark
回复人: who_how(昊昊) ( ) 信誉:100 2005-4-26 20:10:49 得分: 0
文章写的不错,但对立志成为真正的程序员的人来说可能有不良影响。
我从初二学习 BASIC 开始,到目前大约 16 年的学习开发经历
使用的操作系统包括:APPLE II内置的操作系统、DOS、WIN32、LINUX、SOLARIS
使用过的开发语言/工具包括:APPLE BASIC、TC、BC、VC、VB、C#、DELPHI、FOXBASE/PRO、GCC、PYTHON、RUBY、PERL、JBUILDER、ECLIPSE
得出的结论是:不管你在不在 WINDOWS 下工作,必须跳出 MS 的世界才能真正理解操作系统和编程
作为程序员,你不能自我定位为普通的计算机用户,只能在 IDE 工作的程序员不是真正的程序员
你必须用过 make/ant/scons/autoconf/automake 才可能明了软件形成的过程
你必须用过 grep/sed/find/sh 才能了解正交设计有多么重要
你必须同时精通多种语言(C++/JAVA/PYTHON/...)才可能融会贯通才能了解面向对象究竟是怎么一回事
你必须同时了解多种分布式组件技术 COM+/CORBA/RMI/XML-RPC/SOAP 等多种,才能正确评价.NET、JAVA或是其它
你必须同时了解多种图形界面组件:MOTIF/QT/GTK/WXWINDOWS/WIN32/SWING/SWT 才可能正确评价谁是谁非
你必须了解 XUL/XAML 才能体会未来的应用界面的开发会和基于代码生成的 VC/VB/DELPHI 有多么大的不同
总而言之,兼听则明,只陷在 MS 的世界里很难理解这世界上不断涌现的新技术为何而来、从何而来,这些新技术对你来说就只能是新的技能(Skill)而不是知识(Knowledge)。
当做到这些以后,作为程序员的我更喜欢 GCC,而不是 VC,更喜欢 PYTHON 而不是 VB、更喜欢 VIM、Makefile 和 GDB 而不是 Visual Studio 来调试程序,更喜欢 XML-RPC/SOAP 而不是 CORBA/COM+ 来实现分布式服务,更喜欢使用 PYGTK+LIBGLADE 而不是 MFC 来制作界面应用。
你可以和我得出不同的结论,但你必须先了解这些以后才能得到自己的答案,如果仅限于 MS 的世界,那么你会错过 MS 之外优秀的东西。
我想提醒那些有志于成为真正的程序员的新人:作为程序员,你不能对自己降低要求成为追求简单、易用的普通计算机用户。
回复人: ares0906(阿瑞斯) ( ) 信誉:100 2005-4-26 20:52:06 得分: 0
受益许多
回复人: stoneyrh() ( ) 信誉:98 2005-4-26 21:58:06 得分: 0
章写的不错,但对立志成为真正的程序员的人来说可能有不良影响。
我从初二学习 BASIC 开始,到目前大约 16 年的学习开发经历
使用的操作系统包括:APPLE II内置的操作系统、DOS、WIN32、LINUX、SOLARIS
使用过的开发语言/工具包括:APPLE BASIC、TC、BC、VC、VB、C#、DELPHI、FOXBASE/PRO、GCC、PYTHON、RUBY、PERL、JBUILDER、ECLIPSE
得出的结论是:不管你在不在 WINDOWS 下工作,必须跳出 MS 的世界才能真正理解操作系统和编程
作为程序员,你不能自我定位为普通的计算机用户,只能在 IDE 工作的程序员不是真正的程序员
你必须用过 make/ant/scons/autoconf/automake 才可能明了软件形成的过程
你必须用过 grep/sed/find/sh 才能了解正交设计有多么重要
你必须同时精通多种语言(C++/JAVA/PYTHON/...)才可能融会贯通才能了解面向对象究竟是怎么一回事
你必须同时了解多种分布式组件技术 COM+/CORBA/RMI/XML-RPC/SOAP 等多种,才能正确评价.NET、JAVA或是其它
你必须同时了解多种图形界面组件:MOTIF/QT/GTK/WXWINDOWS/WIN32/SWING/SWT 才可能正确评价谁是谁非
你必须了解 XUL/XAML 才能体会未来的应用界面的开发会和基于代码生成的 VC/VB/DELPHI 有多么大的不同
总而言之,兼听则明,只陷在 MS 的世界里很难理解这世界上不断涌现的新技术为何而来、从何而来,这些新技术对你来说就只能是新的技能(Skill)而不是知识(Knowledge)。
当做到这些以后,作为程序员的我更喜欢 GCC,而不是 VC,更喜欢 PYTHON 而不是 VB、更喜欢 VIM、Makefile 和 GDB 而不是 Visual Studio 来调试程序,更喜欢 XML-RPC/SOAP 而不是 CORBA/COM+ 来实现分布式服务,更喜欢使用 PYGTK+LIBGLADE 而不是 MFC 来制作界面应用。
你可以和我得出不同的结论,但你必须先了解这些以后才能得到自己的答案,如果仅限于 MS 的世界,那么你会错过 MS 之外优秀的东西。
我想提醒那些有志于成为真正的程序员的新人:作为程序员,你不能对自己降低要求成为追求简单、易用的普通计算机用户。
======================================================================================
厉害
回复人: malongning(马龙) ( ) 信誉:100 2005-4-26 22:18:05 得分: 0
精彩,感受颇深,顶
回复人: an_bachelor(一個單身漢) ( ) 信誉:97 2005-4-27 10:32:19 得分: 0
别的不敢说
“你必须同时精通多种语言(C++/JAVA/PYTHON/...)才可能融会贯通才能了解面向对象究竟是怎么一回事”不敢苟同
如果你真的“精通”C++,却不了解面向对象是怎么一回事我只能说你的“精通”的标准太低了
回复人: lfchen(一条晚起的虫) ( ) 信誉:100 2005-4-27 13:21:03 得分: 0
mark
回复人: who_how(昊昊) ( ) 信誉:100 2005-4-27 14:38:03 得分: 0
“如果你真的“精通”C++,却不了解面向对象是怎么一回事我只能说你的“精通”的标准太低了”
不了解其他语言,单凭 C++,理论上也是可以掌握面向对象中的大多数概念,但实际上就我的经历和我接触过的人而言,真正对面向对象设计有比较深入的体会,并能在实际过程中优雅和自然的运用的程序员基本上都精通不止一门语言。
从语义的角度看来,面向对象的概念不依托于语言,甚至来说在传统语言(例如C)中仍然可以体现很好的面向对象概念,正因为如此,掌握面向对象如果仅掌握一门语言,那往往是只是掌握了面向对象概念在这门语言上的实现映射,而未必掌握了其本质。
另外说来,面向对象也是在不断发展的过程当中,其中很多新的概念和思路并非首先在 C++ 上实现,即便是在 C++ 中实现了,往往也必须和 C++ 原本的复杂机制妥协,从而可能引入一些不必要的障碍。
跳出MS的世界,才能帮助你理解软件领域的来龙去脉,同样跳出 C++ 的世界,才更有可能体会面向对象目的和价值,当然 C++ 的功力也会获得提升。
回复人: ilovevc(ilovevc) ( ) 信誉:100 2005-4-27 14:47:13 得分: 0
昊昊 说的有道理。虽然俺自认为自己是一个C++程序员。:) 不过java上好像学不到太多OO吧,那纯粹就是为了OO而OO,或者由于语法表现能力弱而必须使用OO,OO又不是万能钥匙。
另外,MFC根本不像某些同志吹得那么神,包括DCOM,
有兴趣可以看看我写的:
为什么MFC是垃圾
伟大的DCOM解决方案
网址如下:
http://blog.csdn.net/ilovevc