C#在Ubuntu 12.04上。

C#在Ubuntu编程中是一个好选择吗?例如,Unity或者在Ubuntu上运行的应用程序?我想学习C#来坚持使用Ubuntu并进行开发,这样做对吗?如果不是,你能给我一些理由吗?哪些语言比C#更适合Ubuntu开发?我已经了解C、C++、Java(基础)、PHP、MySQL和Python。我喜欢学习新东西,但希望值得花费时间。C#值得我投入时间吗?
如果C#值得我投入时间,以下是我已经完成和需要的内容: 我安装了Ubuntu标准软件库中能找到的所有mono软件包。现在我需要一个好的教程来帮助我入门。我对C#完全不了解,所以一个基础教程以及如何在Ubuntu 12.04下编译和运行的指导将非常有帮助。

5首先,你需要决定你想要做什么。如果你想学习C#,我始终推荐阅读一本书并使用Windows+Visual Studio。 - Web-E
为什么你会推荐使用Windows + Visual Studio呢?我在Ubuntu上使用MonoDevelop进行Widemargin的开发,它甚至有一些我希望Visual Studio也有的功能。(我必须在工作中使用VS) - trampster
4个回答

我可以给你一个开发过Ubuntu上的开源应用程序(widemargin)的人的观点,使用的是C#和Mono。Mono非常成熟,其核心库也很完整。
对于开发,我推荐使用MonoDevelop,这是一个免费且开源的IDE,类似于Visual Studio。
在Ubuntu上有一些微软库无法使用。这些主要是GUI库(winforms能用但效果不好,WPF根本不能用)。这是有意为之的。这些是原生的Windows GUI库,在Ubuntu上看起来会很糟糕。
如果你正在开发桌面应用程序,我建议你使用Gtk#,它是C#绑定到Ubuntu上的原生GTK+框架。这将使你的应用程序在Ubuntu上看起来完全原生。
如果你对跨平台应用程序感兴趣,那么C#是唯一可以在Windows、Linux、OS X、iOS、Android和WP7上使用的语言。Mono的开发人员建议你为每个平台编写一个新的GUI,使用绑定到本地API的方式(比如在Ubuntu上使用Gtk#),并共享后端代码。这意味着你的应用程序在每个平台上都会具有本地的外观和体验。
学习C#还将使你能够:
  • 开发新的PlayStation Suite,��支持C#。
  • 使用Unity3D制作游戏(游戏脚本是C#)。
  • 制作像Bastion这样使用Monogame的游戏。
  • 使用ASP.net MVC开发网站(该网站所运行的技术)。

1GTK也是跨平台的,绝不仅限于C#这一种语言。在进行跨平台编程时,有很多选择。 - Mahesh
@Mahesh 这取决于你想支持哪些平台,C# 是唯一可以针对 Windows Phone 7 的语言。 - trampster
@Mahesh 我在Windows上使用GTK来实现宽边距,但我后悔了,它在那里看起来很糟糕(在Ubuntu上看起来很棒),我应该使用本地的GUI工具包,如WPF甚至是Windows Store UI。 - trampster

我使用Mono C#开发了一个Ubuntu应用程序,并发现它是一个非常有效的平台。由于C#是由微软创建的,社区中存在很多反对C#的态度,但事实是C#能够胜任工作,并且做得很好。MonoDevelop是一个很棒的集成开发环境,而GTK#在界面设计方面非常愉快。
祝你好运。

你也可以使用开源且速度极快的.NET Core来替代Mono。对于某些情况来说,甚至比Node.js更快。 .NET CORE 在Linux Ubuntu 16.04上安装.NET Core SDK应该与你的版本类似

Register Microsoft key and feed

To start installing .NET, you'll need to register the Microsoft signature key and add the Microsoft Product feed. This only needs to be done once per machine.

Open a command prompt and run the following commands:

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list'  

Install .NET SDK

Update the products available for installation, then install the .NET SDK.

In your command prompt, run the following commands:

sudo apt install apt-transport-https
sudo apt update
sudo apt install dotnet-sdk-2.1.103

感谢修改! - PmanAce
我是一个Windows用户,但还是谢谢...我只是想传播一下C#有多么出色,现在又是开源和跨平台的。 :) - PmanAce