使用 Visual Studio 开发的情况下 C# 的编程效率能否和 Python、Ruby 媲美?
- WBOYオリジナル
- 2016-06-06 16:23:121705ブラウズ
回复内容:
C#大多数东西可以用linq写,这个时候和python差不多
但有些东西比如类的定义之类跑不了,这个是先天特性。有时候这是好事,有时候这是坏事,看你干什么用。
最后一点是你自己用什么东西熟练。用的熟练的永远比不熟练的舒服。
没有最好,只有适用。
评论的,都带严重的个人感情色彩。话说回来,如果开发大型系统,就不用比了,而开发脚本,那也不用比了。理解了,就不会提这个问题了。
这种问题问的,从问题就能看出结论来,
c# 是一种编程语言,它运行效率并不差!(可以说不比任何语言差)。
那为什么通常我们还是认为c#效率不好呢,那是指平台,启动阶段,内存管理,联合起来说的。当然,总体来说,都是因为 .net framework 这个平台的拖累。
c#没有被编译到目标语言,而是编译到中间语言,在具体环境上执行的时候,才被即时编译到目标语言。这就导致 c# 程序启动的时候吃力。还得给运行环境上装 。net framework。
.net 的内存管理,被托付给平台负责。这就导致 .net 程序员,基本上没有对内存管理的干预,基本上 .net 程序耗费资源多,内存占用更大。依赖于 gc 发现和回收,gc 的运作也是牺牲了运行时效率。
c# 之所以被人说不好,主要就是它的所在平台的拖累。这个平台打个比方,c#就是被放在一个柴油机车的火车上。质量和惯性太大,启动的时候相当费劲。需要吭哧别赌的花很久,但是火车一旦跑起来了(这时候编译也完成了,内存也足够用,也不需要主动释放,就随随便便的放在那),剩下的就没有人能阻碍它的速度了,和汽车就一样快了。
c++就好比一辆法拉利跑车,质量小,惯性小,马力大,没什么平台拖累,跑跑停停那是轻松的。
同样的程序,C# 的仅比 Python 和 Ruby 的行数多 1/4 左右,基本上就是大括号占据的行数。实践经验证明 C# 的生产率跟 Python/Ruby 相当具备可比性。当然,如果是有些特别适合利用动态语言特性优势开发的程序就是例外了。
如果你是 Vim 爱用者,那么 Visual Studio 装上 VsVim 插件以后将极大提高编辑效率,VsVim 是比较完善的插件,连 ciw 这种高级命令都支持。
最后说一句关于 Linux 的问题,.NET 程序通过 Mono 也可以很好的运行在 Linux 上面。虽然 Mono 的 WCF 之类支持不大好,但是,但是 WCF 也不见得是多出色的东西,ServiceStack 我觉得是更好的解决方案。
编程效率是语言能影响得了的么。。
是有一部分语言比较拖沓需要打很长时间的代码才能写出目标程序来。
但是大多数时候编程效率都不是语言类型决定的而是架构设计、算法、数据结构构建决定的。
我就不信大型程序你想的还能比写得还快么?
所以编程效率的瓶颈根本就不是语言或者IDE,而是自身的姿势水平啊亲!
如果不把学习的代价算进去的话,我很想说熟悉函数式编程和.net的人用VS写F#的程序要比python和ruby强多了啊
visual studio 如此强大的IDE,写啥语言效率都高
c# 如此强大的语言,用啥写,效率都不低
C#各个方面都比Python、Ruby好一个级别
我个人认为效率是相对,这要看个人对工具使用和语言的熟练和熟知程度,还要看所选语言的特性对将要解决的问题是否合适.变数很多...
用合适的工具做恰当的事。
也许有一些语言可以在不依赖任何工具的情况下高效的做任何事,比如python ruby等等。但是对于c# 或者java这类静态预编译的语言,在有IDE的情形下,一定会比抛弃IDE使用文本编辑器要高效的多。IDE不只是一个编辑器,它是多种开发流程的集成,一站式服务,不是文本编辑器所能比拟的,包括VIM等高扩展的文本编辑器。
声明:この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。