C# 在 linux 下可以使用吗

号称,C 写 1000 行,python 写只有 50 行。

不支持用 C# 啊,这货是 M$ 家的,没有迹象表明这货会很好地考虑其他平台吧。另外,比如,去看看豆瓣的招聘帖,python 在国内已经开始越来越值钱了,而 C# 能走多远。

推荐篇文章

《如何成为一名黑客》
kerneltravel.net/jiqiao/hacker.html

计算机语言很多很丰富的,是个很有趣的领域呢。

C# 是托管语言里面比较有前途的一个了,如果你想搞的话就搞 mono 吧。mono 是一个 Linux 下的 C# 库。呃,很多 Linux 下的库和软件也是用 mono 写的,之前可能是 Gtk 或者 Qt 比较多。

不建议学 Python。虽然 Python 很性感很美丽。效率低,不底层,消耗大。

当然我是一个固执的 C/C++ 程序员…多年在 640kb 内存下研究算法的…所以比较看不上 Python/RoR 这种,虽然现在后者在国内很火。不过在国外是另外一回事。

C# 是一门语言,不应该说能不能在什么环境下使用,因为语言实际上是一套定义好的规则,并不是一个具体的程序。

lz 应该问的意思是,C# 在 linux 下面有没有 C# 的编译器(解释器)。。。这个肯定是有的,ls 已经说过例子了。

但我本人非常不支持 C#,在 linux 搞 C# 基本就跟 win 上面的 cygwin 是一个类似的,除非是为了写作业否则我实在想不到多少真正适合的原因在 linux 下面用 C#。C# 基本也就被 M$ 看着呢,看不到前途吧。。。

至少我在我工作的环境是没人鸟 Python 的。HP Labs SG,做 C++ 开发的居多,比较看不起 Python/Ruby 这种轻量语言。有一个同事是 C++ 标准委员会的 fellow。

C# 有微软撑着就够了。。而且我是说在托管语言里面比较有前途的一个,没和别的比,谢谢。

用什么交数据结构算法不代表那个语言就好。有些东西还是得底层学扎实了才能往上走。没听说 NOI/ACM 哪个人是用 python 的。也没有那个搞 HPC/ 分布式是用 python 的。。

查了一下「托管语言」这个词,果然又是微软「发明」的技术。解释器不够,还要搞个「由公共语言运行库环境(而不是直接由操作系统)执行的代码」,差点又被吓到了……点 这里 ](http://baike.baidu.cn/search/none?word=�й�����&convertword=�й�����&flag=strong) 看百度百科的搜索结果。。。(维基百科搜不到什么东西)……

我周围的环境里面大家都很崇拜 C 和 C++,因为二者太难了,而且太多糟糕的程序员在用 C++ 写出糟糕的代码来,这又显得真正的 C++ 大师非常可怕。此外就是一波从过去走过来的靠 paper 吃饭的老师,标配是用 TC 或者 VC6.0,甚至于连 linux 都没用过的那种。都说「脱离了业务环境说效率没什么意义」,贵实验室用 C++ 居多做了更多的是底层的活,这不代表全部环境都需要您这般对「效率」的追求,更不见得全部环境都适合用 C 和 C++。奉劝一句,合理地使用各种工具,远比用 C 和 C++ 解决一切要靠谱和实际得多 (前提是要迈得过学习成本这个坎)。举个实际的例子,在 google 里面,标配语言是 Python, Java, C++, C。我们以前运维的一些小工具,做数据分析的一些小脚本都是用 C 写的,换了 python 后完全就是生活质量的提高。

MIT 不是用 python 教数据结构的,是用来教「计算机语言」(Computer Language)的。我没有要说哪个语言好,而是说对于新人来说,学习什么更合适而已。我认可的曲线是学习一门底层的语言比如 C,然后去学习一门易学的运用广泛的值得推荐的,比如 python。

我就是 OI 出身,明确告诉你 OI 官方只支持 Pascal 和 C/C++,不支持其他语言。原因不是因为他们效率多好。支持 Pascal 是因为 Pascal 本就是数值计算出身。而真正的原因估计其实是因为二者足够大众化(对教育界来说,pascal 是一代人的记忆)。Pascal 和 C/C++ 我都学过,但我还是推荐新人学 python。另外我也认识几个 ACM 的人,水平还算好,都认为不应该只学几门语言,语言有适用场景,python 远比 C/C++ 写得舒服而且适合日常使用。

但是用我们各自的环境来讨论什么语言更适合都是有局限性的,用 ACM 和 OI 来说明更没有说服力,玩 ACM 其实很多都真的只能搞搞 ACM。所以我上文引的是一个大神的文章,《如何成为一名黑客》是 Eric Raymond 所作,此人是《大教堂与市集》的作者,在 FSF 拍的几部纪录片中都有登场,属于和 rms、linus 一个级别的 hacker。当然,大神说的也不一定是对的。

好吧= =再争也没意义了= =
大概是我固执了。

另外我也是 OI 出身,所以略懂 NOI 为什么只用 Pascal/C/C++ 为平台。

呃,我在上大学之前除了 NOI 还搞了一段时间的 MFC,所以对微软技术比较熟,当然你可以理解为我那个时候还未开化。不过就托管语言 / 代码这个东西来说,其实我主要是拿.Net 里的 C++ 和 Java 和 C# 和 VB.Net 这四种语言在比较,然后得出了 C# 比较有前途的这个结论,可能我没说清楚,不过我想还是不要歧视微软技术以及从事微软技术研究和开发的人。

C/C++ 对于某些人来说确实很可恨,然而如果愿意花时间认真学的话,C/C++ 的很多 trick 能让人觉得,原来代码还能这么写…当然 python 也会给人这样的感觉。

可能还是因为我比较固执吧。固执到偏执了有点…

我只想说我们实验室搞 ACM 的各个都有专长。其中有老一届的一部分人正在给我们学校写个新的 OJ 平台,分别有人负责网站前端,数据库,和后台程序评判等。而我们这个新一届,正准备接手实验室,所以有人在学网站,学 Linux ,学网络安全,还有像我这种学 python 其他语言(除 C/C++)之类。。
就我目前认识的出去实习的一个人(因为我们实验室,这个暑假就他一人要出去实习),他(大三学长)的实习期工资就已经达到 5k(当然在某些人眼里认为这个还不够高)。 :joy:

:blush 其实我们学校的 OJ 也是 ACM 队写的,神的都挺神的……但不是 ACM== 神啦……

说这个其实是我见到有些十分偏激的情况,比如一些刷 ACM 的就一整天刷题,除了刷题嘛都不干 + 嘛都不会干了,还美其名曰看不起……可能是我们这边对奖项什么的看的比较重吧。。。能搞 ACM,还泡泡 linux 的,基本都很强的了(各方面)……

唐伯虎在最终战中击败了夺命书生,霸王枪重回兵器排行榜第一名。
这里说的是霸王枪比剑厉害吗?非也,是使枪的唐伯虎比较厉害。
一寸长一寸强,一寸短一寸险。
把各个语言的优缺点和适用场景搞清楚,才是正道。

C# 应用着比 java 和 C++ 有时的确方便多了、、、

linux 下有 Noll 主导的 Mono 项目,一个跨平台的 C# 运行库和运行环境、、、

用 Mono 现在 C# 也可以应用到 android 的、、

只是在 linux 下用 C# 开发的好像不是太多、、、Mono 前两年好像差点 over 的,后来 u3d 引擎支持 C#,mono 也借此起死回生、、、

Mono 和 Qt 在手,平台任你走、、、、哈哈哈、、、

Ubuntu 不是有一堆默认带的程序都是 C# 写的么,tomboy 啊还是那个 b 开头的音乐播放器啊。

不过 RMS 是 反对在自由软件中使用 Mono 的 ](http://www.fsf.org/news/dont-depend-on-mono) 。

RMS 反对的东西可多了。我想他应该还会反对安装闭源显卡驱动

那是必然的……

不过对于 Mono,Oracle Java 应该是一个不错的参考了。

求确认。我印象中 u 下很多东西是 python 写的倒是,如果是 C# ,我又可以多讨厌 u 多一点了。。。

C# 开发还是不错的……只是有太多更好的选择了。。。。。

其实我支持 rms 主张,至今我都没多大动力支持闭源驱动。。。但是不装没办法 = = 因为没得用……

其实不是全部人都在做底层开发,所以我觉得要全部人来学 C/C++ 或者 C# 这些语言不是很实际。另外,Python 和 Ruby 这些语言应该说是从外国火起来,然后现在国内才火吧(不是前面有人说的,在国内比较火,在国外不怎样,如果专门在驱动程序这类部门搞开发,当然周围的人不会用太多脚本语言,但是不代表其他公司不用)。Google 公司就好重视 Python 语言(前几年不是有他们公司培训 Python 视频,虽然现在他们又搞了自己的 Go 语言),Facebook 这么多年还一直使用 PHP,虽然到了瓶颈,他们宁愿搞一套虚拟机系统来优化 PHP 性能,也不会说改用 C/C++/C# 来提高性能。我看 MIT 的免费公开课编程,就是教授 Python,外国现在很多开始使用 Python 作为入门程序语言,另外我见有些还在教小朋友学 Ruby。当然这些脚本语言本身还是 C 语言编写的(现在有 ironPython,ironRuby,完全用 C# 实现),但是对于很多人来说,脚本语言现在的优势还是很明显,至于提到的性能问题,这跟 Java 一样,以前经常批评它的性能差,不如 C/C++,但是一方面代码方面优化了,另一方面,硬件速度也进步了,所以现在的性能明显改善了,Ruby 2.0 的性能听说也改善了很多。

也有 Jython 和 JRuby 的 JVM 实现。Python 还有 PyPy 这个 Python 实现,因为有 JIT,速度还比 CPython 快 =w=

Mono 早就从 Novell 分出来了,现在是 Xamarin 公司在主导开发。

Mono for Android 是有,不过不支持 Linux:https://bugzilla.xamarin.com/show_bug.cgi?id=142

虽然这不是 Ubuntu 论坛,也不能睁眼说瞎话啊。

首先你说的默认带从 12.04 开始结束了,2011 年 11 月就知道的事情,现在再提有意思吗?
omgubuntu.co.uk/2011/11/banshee-tomboy-and-mono-dropped-from-ubuntu-12-04-cd

而且在当时 Banshee 可以换成 Rhythmbox,Tomboy 根本没有替代品(后来才有了 Bijiben)。

Banshee 有 amaroK 和 clementine。

Tomboy 么,vimwiki 和 orgmode 就不算了,适合普通桌面用的也有 Kjots、basKet。 不过 basKet 倒是确实没有更新了,但是也可以用啊。 而且 tomboy 本身因为是 Mono 的,也有一个 C++ 的克隆 Gnote。 Fedora 从 12 开始,Gnote 就是默认了。

好吧,现在没有了,或者说不默认了,我不清楚。不过曾经有过,是不?既然是不远的曾经有过,那么就能够说明「C# 在 linux 下可以使用」,有问题么?
真不知道是谁在睁眼说瞎话。我有说 Ubuntu 或者 Mono 好或者不好么?

2011 年的事情现在再提怎么了?难道过了两年曾经能够运行的程序就一定用不了了?zhcon 最后一次更新 在 2006/05/05,现在还可以用呢。