能力值:
( LV2,RANK:10 )
|
-
-
17 楼
兄弟,首先对你回我的帖子报以感谢.
但你的观点,有值得商榷的地方,并且如鲠在喉,不吐不快.
c#2010以及其后无比庞大和能量的.net4平台,就如同那个广告:欧莱雅,你值得拥有!我是80年出生的人,96年上大学,很荣幸历经了几个程序时代,今天正好和大伙分享一下我的人生历程,说得不好,请理解:
1:黑白代码时代:c/Windows API程序时代.
97年之前的岁月.那有朋友会说了,Windows95不是95年发布的么?怎么要扯到97年呢?win95的发布,犹如划破黑夜的闪电,在过去的20世纪,是影响人类的10大发明之一,当然这个说法,是我的杜撰,并没有那个组织这么归纳和总结过,我只是在此对我的偶像盖茨爵士表达我崇高的敬意.直到97年7月,<The C++ Programming Language>第三版完成,C++的iso标准公布,c++才走入程序员的生活.97年之前,我们学程序设计无比的艰难,不得不面对手动内存管理,苛刻的语法结构,更有到现在我都觉得恐怖的指针运算,看到*号就有想吐的感觉...
2:经典时代:c++/MFC程序时代:
直到今天,许多的游戏公司,软件公司都在使用这套方法论处理问题,提供解决方案.c->c++最大的变化是面向对象,在83年c++刚出来的时候叫做"带类的c",好土的名字吧:) 但从诞生的那一天开始,就注定了其辉煌和巅峰以及经典.其实我觉得对于程序界最大的影响是双斜杠"//"单行注释风格的流行,看到"//"是不是很激动?oop的概念深入人心,不管是流行的PHP,还是更流行的Python,以及炙手可热势绝伦的Ruby,那个敢说不是面像对象?
MFC,怎么这么像是麦当劳的标志?MFC,微软基础类,为程序员提供包装好的API类和宏.影响深远,今天仍然在使用,并且继续开发和完善.
3:私生子时代:Visual Basic 6.0程序时代:
c++/MFC组合仍然很复杂,微软为了打江山,推出了vb6.0,的确许多程序员转移到了界面和操作以及语法更为友善的vb6.0平台,这是微软的私生子,只求一生平安,不求大富大贵.vb6的流行,因为我们可以花很少的时间创建复杂的用户界面,代码库等....比MFC更好的地方在于,vb6把原始WindowsAPI的复杂性隐藏了起来.虽然vb6不是完全的面向对象,也不支持类的参数化构造,不能开发多线程,执行效率慢,程序体积庞大,但它的确诱导了许多的刚入行的程序员来学习使用它.vb6最大的罪来自于私生子的身份,你是不是听过许多前辈告诉你,学习程序设计呀,先学vb6,打好一个基础再学vc6......忽悠!!!胡扯!!!放屁!!!草蛋!!!
这就是我要跟朋友你商榷的地方,在这里我要批判微软的vb6战略!我要批判哪些不懂装懂的煞笔,麻烦你们以后不要再诱导新人去学习任何vb方面的内容了,浪费时间和金钱!还不如去学习易语言!
或许是我能力不够,或者不够聪明,进大学就学vb,在之后的工作日子里,我没感觉到vb是那个方面的基础,跟求职与创业就他妈没一点关系.平庸老师害人啊!当然可能是我造诣不深的缘故吧.希望在此有前辈和我舞刀论剑...
有一个说明,必须得要说说,微软在2000年推出的.net Framework,包含有一个vb.net,跟我们说的vb6没有一点关系,基本上是推到了vb6,重新开发了一个新的语言,完全面向对象.
4:简洁时代:JAVA语言的泛滥成灾!
JAVA是oop语言,语法结构来源于C++.有一段时间,整个世界都是JAVA的踪影,貌似不学JAVA,不懂JAVA,就和世界脱轨.JAVA的流行起源于网络游戏的兴起,JAVA在设计的时候就是希望能跨越各种不同的品台,JAVA编写的各种程序,可以轻易通过因特网以及与Java兼容的浏览器来执行.这意味着无需了解各平台的细节,只要使用正确的Java语法设计程序...
Java代表了无数的程序员渴望简洁编程,快乐编程,轻松编程的美好愿景,但事实证明,Java在运行效率和声光效果的呈现上差强人意.
今天如果还有人要你学Java,那你可以给他一个耳光!大声说:"傻帽!"
5:脚本时代:WEB程序开发时代.
因为因特网的普及,脚本时代来临.那谁谁谁,曾唱了一首歌,很应景:"我的英雄归来~~~"...
XHTML,ASP,JSP,CSS,AJAX,PHP,PERL,Python,Ruby.....没什么好说的,永无停歇的学习,跟上开发的步伐!
6:优雅时代:c++/CLI的荣光.
微软2000年世纪之交推出的.net战略,支持快速开发,部署网站服务及应用程序的开发平台.这个框架有两个目标:
a:提高Windows应用程序开发效率,特别是改善com开发效率.说到com(组建对象模型),有一些不得不说的话.这个1993年面试的东东,始终是我以及大批程序员最恼火的玩意,微软的本意是要简洁开发程序,释放程序员的创意,使程序设计更轻松.com创建的可复用的二进制模块,可以被与语言无关的方式访问,并且位置非常透明,程序员可以避免与原始套接字,RPC调用和其他的底层细节交互....
但我不得不咬牙切齿的说,com真的忒复杂了.....第一次意识到com的复杂性之后,我就远离了它,我恨它...或许兄弟你是聪明智慧的人,但愿你能精通.
b:提供支持发展软件服务的开发平台.
为了使c++应对新的趋势,在面向对象,面向未来的开发平台上占有一席之地,微软推出了c++/CLI,大量熟悉c++的程序员可以继续在.net平台上开发c++应用.
今天刚进入IT这个行业的朋友,真的很幸运,不用历经痛苦,直接学习使用.net吧.我们经常开玩笑,.net就像是一个掌握着权力的愤青,以一种相对激进和蛮横的方式改变了我们的生活!!!
具体的.net解决方案,今天这里就不说了,如果大家有需要,我可以单独做一些.net开发的文案和大家分享.不过看雪,是一个加密解密/脱壳破解的论坛,貌似说这些不那么回事吧?
最后和大家分享一下我关于c++和c#的思考:
自从c#诞生,派系的斗阵就没停止过.如同单反相机的佳能和尼康,只是vc++和c#都是一个家里罢了.我们可以这么理解:c->c++->c#
既然c#继承了c++的许多特性,又增加了现代编程的许多新东西,那我们是否要抛弃c++,如同抛弃PHP,投入Ruby的怀抱一样?
孰优孰劣我给大家做个比较:
1:c#代码简洁,与java很相似.他们都属于c语言系列(c,Objective c,c++等),没有指针!!!天哪,这真是福音,圣母玛利亚,爽啊....
2:c#强大如斯,与c++一样功能强大和灵活.关键是没有c++那么麻烦的位操作.
3:c#主要用于Windows平台上,用于开发用户界面,网络,数据库相关的应用.
4:中间件的应用,c#和操作系统之间隔了一层,处处受制于.net.
5:只要操作系统是用c++写的,c++就永远不会消失,只要追求自由的人存在,c++就永远不会消失,因为,没有比c++更加贴近Windows操作系统的编程语言了.在自由和束缚之间,许多人选择自由,选择c++;在追求轻松和高效率以及投资回报率上,许多人选择了c#. :-)我也选择了C#....我承认我是意志不坚定的这群人....
|