|
发表于 2007-9-28 00:08:22
|
显示全部楼层
Post by showboy
C#完全就是很浮燥的玩意
你应该看一下《由C#风潮想起的》 showboy兄其实是想引用我的贴子吧?不小心引用到了manphiz的去了。
谢谢showboy的提醒,不过我想说说我的看法。
首先,我根据你的提示,去看了《由C#风潮想起的》一文。
找不到最原始的链接,这里给出其中一篇转载
http://shaohui.yculblog.com/post.26067.html
然后我想解释一下我的背景,我初中开始学习编程Qbasic,当时的目的是计算机竞赛。在为了竞赛的目的而学习编程的话,数据结构肯定是必修课。后来我顺理成章地学了VB6,当时的想法很简单,因为我只会basic的语法。有人也许会问,C的效率那么高,为什么不用C竞赛?这个问题让我很郁闷,因为我初中时老师就跟我说basic能编程,我还不知道什么是C。
到了高中,觉得asp貌似很好玩,也去学了,那时的我没有什么追求,纯兴趣(还带有小孩子还炫的心理),当然,也是basic语系的vbs。直到高三,我才买了一本C#的书看,但是不是很勤快,只是看了语法和例子。
中间有两个小插曲,高中的老师教pascal语言来竞赛,也就是现在delphi的祖宗,我也学了,但是 我说了我不是很勤快的人,喜欢空想不做,在高中的第一次竞赛的时候,我在上机的第一分钟否定了使用pascal的可能(我居然不会读写文件),我又用回了basic(其实重点是算法,不是吗?)。
第二件事是,我初中还学过HTML语言,那时css还是很新鲜的东西对吧,学校有网页制作大赛,其他同学还是用frontpage,空格定位的时候,我很骄傲地用记事本写页面和风格文件,结果呢?因为效率低(也许是因为我笨),我的网页缺乏华丽的外表吸引评审老师的高分,老师给我的评语是“打开速度最快,皆因内容太少”。
有点离题了,但是陈述了上面的背景,我可以说说我选择语言的方式。
我想,要关心的是背景(支持它的群体和公司),寿命(过去和未来),各方面的支持,还有适用的工作(vb不能写驱动,C不太适合写gui)。我个人加上2条,美感和编写工具(vi,IDE或者别的)。
背景,微软10年内貌似不太可能倒闭,它还是windows系统的老爸,windows下编程用它的东西除了不开源没什么不好,其实不开源也无所谓,编程的目的达到就好,尤其是不涉及安全领域的时候。
寿命,C#新但是继承了C指针以外的语法(指针其实也可以用unsafe标签调用),python,perl的历史也不长吧?以后的日子,只要微软在C#就不倒。这里我顺便说说VB,它其实根本不是什么入门过渡之类的语言而一直是微软的主推,现在的vb.net除了指针和重定义运算符之外,C#可以做到的它一样能做到,由于CLI的出现,它现在的运行效率跟C#完全一样(CLI理论上还比java快)。
各方面的支持,拿web来说,现在的空间运营商主要是支持php和asp.net,其他语言的运行库就没那么幸运了,除非自己架服务器。另外,上网搜索,还是asp和php的帮助多。
适用的工作,还是那句,在Windows下用Windows老爸的语言和工具编程没什么不好吧?
后面是美感,开始用linux,我却一直没深入接触php的原因是(除了我不想成为万金油外),php的函数命名规则的不统一让我很不爽。我从开始编程就被提醒,使用缩进,变量和函数命名的统一,那种function_A,functionb的风格实在.........也可能我这个人有代码洁癖。C#的这点就很棒,就如它把所有的从属关系都统一为“.”(很多细节其实是可以被屏蔽的,不是吗?),变量的大小写的风格也统一却简洁(没有了“_”),比如以前的Function_aaa变成了functionAaa,当然这只是我个人爱好,我的想法是能短则短。
最后是工具,高手会推荐vi+gcc之类的组合。首先我承认我也喜欢vim,用它写C程序是一种享受,自动缩进和查找等都很棒(我还是刚入门,连复制都不知道,但已经喜欢它了),但是写界面的话不一样要用qt designer之类的?而且,如果是边做界面边写程序的话,IDE就是效率很高的方式之一了。有人也许会讽刺说,对于我这种只会gcc main.c的人来说,怎么知道那些高级调试工具的好处呢?但我觉得如果IDE存在不足,它调用的编译器和调试工具不好,但是IDE的存在本身没错,浏览器本身也是集成环境啊,没有谁浏览网页是用迅雷+Dreamweaver+Flash+......的吧。
C#的IDE是VS.net,是我目前见过的自动化最高的IDE(我承认我比较孤陋寡闻),代码提示,语法提示和其他都很到位,对于我这种懒人+新手很有帮助。
综上所述,我不觉得C#有什么不好。
的确,现在有很多人跟风学各种语言,但是那是人的问题,不是语言的问题。我不像《由C#风潮想起的》一文说的那些女生(书本上有各种笔记和标注),任何编程教程对于我来说只是字典,我浏览过一遍之后,就在用到的时候再把相应内容细看。学校的C语言考试,我错的地方都那些语法细节(比较依赖编译器的语法检测,当然这也不是好事,好多公司喜欢面试的问题)。
灵感来了,废话就多了,再一次感谢showboy兄的提醒。 |
|