小毛thinking:why c# sucks and python rocks

前段时间和头表态,以后不做C#了,将精力主要放在python及linux,c上.结合亲身经历,谈一下我的体会.我也算得上是老赵的半个粉丝,借用一下他的范式,吸引下眼球.

语法不够简洁,没有开发哲学
如果和java比C#的语法糖及没有重多的xml配置文件,强大的ide,许让开发者省了很功夫了,但是和python这样的动态语言相比,行事还是不够简洁.基本上python的风格是一个库一个脚本,一句话调用执行打完收工.在这背后我觉得和一个语言的设计理念是有关系的,在学python之前,我未曾了解到语言还有开发哲学这么一说,可能C#经常提及的是生产力,但是这个谈不上理念.

不够开放,低水平的高度竞争
不管是线上或是线下的社区的活跃度不够高,质量高的开源项目不够多,单靠微软来提供丰富类库是远远不够的..net的开发人员的基数庞大,但很大一部分是拖控件,写点sql,处在一种低水平的高度竞争,这对于公司老板当然乐意,.net人员一抓一大把,所以员工价值很低.另外,你想从百万.net程序员中托颖而出,这个难度也是可想而知.
当然,python也有它的问题,没有大的厂商的支持,各种类库都由小团体或是个人维护,文档不全等各种问题,一挫人把精力耗在抓取网页上,我也是.

工具轻量,交互式shell,自省机制,无需编译,轻装上阵
使用ulipad或是各种文本编辑器即可编写脚本,当然对于resharper,智能提示重度依赖着可能会不适应,当是试问一句那真的算得上是在编程吗,离开工具辅助什么也干不了.内建的交互式shell及自省机制使我们不用依赖外部的帮助文档,当然.net下的linqpad可以帮我们做些事

构筑自己的核心竞争力,形成自己的style
我认为语言和个人的性格有关,多多尝试,用心体会和它搭不搭.放到每个个体而言,到底C#适不适合你,得量体裁衣,标题只是个噱头,不能一概而论.我欣赏老赵在.net平台的专业深度,但更佩服他在其它语言和技术上涉猎的广度,有点像打乒乓球队一超多强,没有明显漏洞的口号,这样的知识结构才是全面.但是如果你企图盲目模仿,那就会限入盲从,因此你需要独立思考什么才是适合自已的,我觉得这一点和你想成为什么样的人以及你区隔于其它同行的独特优势在哪有关系.

在我的.net生涯中,就是在不断的学习各种各样的控件,类库的使用,唯一让我感觉有快感的是使用subsonic这个框架的时候,觉得挺爽,当然我也确实在学习C#的过程中,使自己逐渐的成长起来.我已经找到了称手的兵器,逐渐的在形成自己的开发哲学和style,那么兄弟你呢?

以上
小毛于北京东四十条
2010-4-15 深夜



原文地址:https://www.cnblogs.com/lexus/p/1713188.html