有哪些主要的* nix OS有助于学习* nix编程?

时间:2009-07-02 06:57:42

标签: linux unix

我想学习在UNIX / Linux环境中编程。我将使用C,C ++和Perl编程语言(当然还有学习bash)。我一直对POSIX以及Windows和* nix库之间的其他差异(以及刚刚购买了Perl Llama书籍)感到着迷,我想尝试为不同的操作系统编程以进行更改。此外,这将给我一些编写更多可移植代码的经验。

然而,我感觉自己像一个迷失的小男孩,在* nix发行地的一片大树丛中,我对这些森林一无所知。什么是好的,常见的? “UNIX”指的是什么(如果我说我运行UNIX,我真的会运行什么?)?哪些更适合普通计算机用户(我认为Ubuntu是这样的)哪个更适合程序员?他们之间有那么大的差别吗?我应该自己硬核并自己编译内核,还是只下载一些易于使用的发行版并安装emacs?

我认为这种方式在编程相关和“不属于这里”之间划线,所以我用非编程相关标记它是安全的。

我将把它安装在便携式硬盘上,而不是替换我珍贵的Windows XP(如果重要的话)。

更新

我想我会和Ubuntu一起开始。谢谢您的快速回答。

4 个答案:

答案 0 :(得分:3)

任何BSD,以及许多Linux应该可以正常工作,甚至是Mac OS X.

如果你想要尽可能接近原始 n x的东西,那么可能是FBSD,OBSD甚至NBSD可能是最好的。

此外,如果您有一台快速机器,我建议使用虚拟机开始,请记住该环境中的磁盘IO速度可能非常糟糕 - 使用便携式HDD将导致更糟的磁盘IO速度。

如果您选择Linux,那么我建议使用Ubuntu,因为它具有我见过的最好的自动硬件配置之一。

答案 1 :(得分:2)

要称为UNIX,您必须通过符合 specification的认证,因此Linux更准确地称为类UNIX操作系统。即使从Linux到UNIX以及从UNIX到另一种UNIX风格,许多细节都会发生变化,主要范例仍然存在。也就是说,你应该看看The Art of Unix Programming来了解做事的方式。

更实际的做法是获得一个易于使用的Linux发行版(Ubuntu,SuSE,Mandriva),并在做一些编程项目时熟悉它。然后,当您更熟悉事物的工作方式时,您可以轻松地自己解决问题,并了解不同风格的操作系统,尝试使用OpenSolaris(Nexenta)或某些BSD风格(适用于实例FreeBSD)。这样做的原因是你将能够获得一个在使用主流Linux时没有太多(或任何)麻烦的环境,而使用较少使用的免费Unices,你可能会遇到不支持的硬件,更难配置等等。 / p>

此外,面向用户的发行版和面向程序员的发行版(如果存在这样的东西)都可以进行编程,所有工具都可以在单个软件包下载,如果它们不是DVD或CD本身。您通常可以在安装时设置您希望如何使用操作系统,有服务器组,编程组等,您可以选择。

Unices和Linux之间用户观点最令人震惊的差异之一是Unices没有附带GNU工具集。这些工具质量非常高,如果你习惯它们然后转向另一种味道,你会错过它们。通常听说sysadmins首先在没有它们的操作系统上安装所有GNU工具。

答案 2 :(得分:2)

使用Ubuntu。它具有很好的支持和文档,再加上apt-get,可以轻松地启动和运行开发环境。

答案 3 :(得分:1)

不要打扰任何类型的硬核,高级Linux发行版或编译自己的内核,除非你有特定的理由,否则它就没有意义了,它只会妨碍你。主要的发行版(Ubuntu / Debian / Fedora / SuSE和许多其他版本)都应该有各种各样的C / C ++ / Perl开发工具,因为C / C ++ / Perl应用程序是几乎每个发行版的核心部分。只需选择一个拥有您想要的大多数工具,并且相对容易使用。

我个人使用Ubuntu。使用Ubuntu中的包管理器来安装所有开发需求相对容易。 Debian,Fedora,SuSE以及许多其他主流发行版也同样出色。