我正在寻找对开发人员有利的Linux最佳风格。我是开放源代码的爱好者,并且使用几种不同的语言。
是否有面向开发人员的Linux之类的东西?
我正在寻找对开发人员有利的Linux最佳风格。我是开放源代码的爱好者,并且使用几种不同的语言。
是否有面向开发人员的Linux之类的东西?
Answers:
实际上,发行版都使用相同的开发工具链,因此它们作为一般开发工作的平台并没有太大的区别。但是,有些确实具有某些特定优势,这些优势可能与某些类型的开发工作有关:
商业发行版(RHEL,SLES)获得了第三方封闭源供应商的最佳支持。如果您想使用(例如)Oracle,则最好使用其中之一,尽管如果您安装了正确的库,则可以使Oracle与大多数发行版一起使用。CentOS是从RHEL的源代码编译而来的,可以与为RHEL构建的大多数(如果不是全部)商业软件很好地兼容。
如果您想修补,可以尝试Linux From Scratch。这是一个很好的教程,介绍了Linux发行版如何挂在一起。
如果您想从存储库中获得几乎所有开源版本的东西,那么基于Debian的发行版(Debian或Ubuntu)可能是一个胜利。Canonical选择.deb作为Ubuntu的软件包管理系统是有原因的。
如果您想将所有内容调整到第n级,那么Gentoo可以为您的特定处理器体系结构重建整个系统。
如果您想要“传统的Unix”体验,则可以尝试Slackware或FreeBSD(这不是Linux发行版,但OP可能会感兴趣)。而且,BSD系列在网络方面特别强大,因此它们可以为从事该领域的开发人员提供优于Linux的优势。
其中,我过去曾在不同时间使用过CentOS,Debian,Fedora,Ubuntu,Slackware和FreeBSD,以及其他一些版本(Vector,SLS,Yggdrasil和Redhat的各种版本(从4.0开始))。作为“ unix”开发环境,它们都提供了那个时代的工具,并且可以与捆绑的工具一起使用,也可以通过下载和构建其他所需的工具用于开发工作。
Unix曾经被描述为伪装成操作系统的IDE,或类似的词。如果需要,任何unix或linux变体都可以为您提供unix开发人员体验。在某一时刻,我并不十分关心环境。我真的只是使用窗口管理器来打开xterm窗口并启动一些应用程序。其他所有事情几乎都是通过命令行完成的。大部分的unix或linux都可以做到这一点。
如果您喜欢C语言,那么带ctags的vim或emacs,make和gcc可以很好地工作。您可以在有或没有前端的情况下使用gdb。该工具链还为诸如perl或python之类的语言提供了良好的支持,并带有来自第三方工具的丰富支持体系。
对于以GUI为中心的工作流程,实际上取决于窗口管理器,桌面环境和开发工具的个人选择。如果您喜欢Java,那么Eclipse和netbeans可以在大多数主要发行版上进行构建。存在各种常规的IDE,它们支持C / C ++,perl,python和其他脚本语言。可以使它们在大多数(甚至不是全部)Linux发行版上都可以使用。仅通过3rd party端口在BSD上支持Java,因此如果使用Linux,则最好使用linux。
是否有面向开发人员的Linux之类的东西?
是。它称为Linux。
Fedora(或任何Red Hat衍生产品)与任何Debian,Slackware,Gentoo或其他任何产品一样出色。认真地说,您可以使用任何主要发行版进行开发,但要求“面向开发人员”的Linux是一个愚蠢的问题。
说这些发行版中的任何一个对开发人员来说都比其他发行版更好是很愚蠢的。只是不严重。
这个问题确实是在争辩。
我已经尝试了很多发行版,因为我真的很喜欢这样做。
我是一名开发人员,我也想知道对于开发人员而言,一款好的Linux是什么,而根据我的经验,没有任何专门针对开发人员的Linux发行版。
原因是作为开发人员,您不仅可以自定义任何发行版来满足您的需求,而且您肯定需要知道如何进行这种自定义。
因此,基本上,如果您不熟悉Linux:
1)Debian,因为许多生产Web服务器都在运行Debian,所以了解Debian机器的组织方式可能是一个好主意。关于Debian的好处是,由于它肯定是使用最广泛的Linux(包括它的衍生产品,如Ubuntu),因此支持,社区和可用的预编译软件包非常广泛。关于Debian的坏事是,它倾向于成为一个稳定的生产环境,因此很少为您提供您可能想作为开发人员尝试的最新尖端技术。
2)Arch-Linux(实际上是ArchBang)是我当前的最爱,其原因有3个:-它不提供简单的一键式安装和配置方式,但是提供了一个出色的教程来帮助您像您一样进行一切设置想要的话,这种方法可以让您了解很多事情在后台的工作方式,这意味着到您正确设置所有东西时,您将对使用Linux / Unix系统感到非常满意。-这是滚动版本,这意味着您永远不必下载新版本并重新安装所有内容,只需更新系统和Voila!。-它尝试实现所有最新的前沿技术,因此您将始终保持对软件的新改进,并作为一名真正值得赞赏的开发人员。-哦,它也有一个很棒的社区。
但是无论如何,基本上要由您来尝试一些东西并决定最适合您的东西,我可以担保的是,无论您最终选择哪种Linux,总有一种可以根据自己的喜好配置/自定义东西的方法,因此最重要的是学习如何进行自定义,然后选择已经预先配置的内容,使其尽可能接近最终结果。
Linux发行版中有越来越多的不同口味,例如,针对儿童的发行版,例如Qimo或DoudouLinux。
当然,您可以更改它们以满足您的需要(我们在谈论Linux,对:]),但是,仍然会浪费大量时间。
有人会说这是学习新事物的好方法。但是,无论如何,您都将需要花费一些时间来挖掘发行版并对其进行调整,这对于任何发行版都是不可避免的。
但最重要的是包装。
一些为您带来了新鲜的(例如:Arch),而另一些则为您带来了稳定的(例如:Debian)。
关于硬件支持(驱动程序,驱动程序,驱动程序!),文档也相差很大。
考虑到这三点(软件包,文档,驱动程序)和您自己的技能,您应该花一些时间来发现一些主流发行版。
一个好的开始可以在这里:http : //distrowatch.com/
Fedora是新技术的早期采用者,它使您可以在大多数其他发行版中都可以使用它们的几个月之前进行试验和开发。它开箱即用地支持许多编程语言和库,并且可以相对容易地将任何可能缺少的内容添加到系统中。它具有纯粹的开源理念,选择允许第三方提供与之相反的功能包。只是不要称它为“ Fedora Core”(在Core和Extras合并为Fedora 7之后,它失去了“ Core”)。
对于Java / Eclipse开发,请考虑在Ubuntu / Linux Mint上使用Debian(甚至在64位上甚至32位)。
背景:我一直在进行一些Java / Eclipse RCP *开发,并一直在使用Ubuntu和更高版本的Linux Mint,但是遇到了各种烦人的bug,这些臭虫与桌面环境(Linux Mint上的Cinnamon)的不稳定性有关,或者安装Sun Java6 JDK的过程有些复杂(我们的项目使用该过程... Ubuntu / Linux Mint仅在其仓库中附带OpenJDK)。
我最近在虚拟机中启动了Debian 6 Squeeze,并意识到这些东西如何更好地工作。安装Sun Java只需要在/etc/apt/sources.list中的主存储库字符串之后添加“ non-free”关键字,然后通过apt-get进行安装,并且随附的(Gnome2)桌面也更加稳定比Ubuntu / LinuxMint中的Gnome3 / Unity / Cinnamon替代品要好。
[*] Eclipse RCP意味着您不仅将Eclipse用作GUI,而且还将其用作构建自己的GUI的库。
真的,Ubuntu很棒。
他们拥有所有最新的软件包,易于安装。使用默认配置(= Gnome),您将花费大部分时间进行编程而不进行配置。
通过良好的Internet连接,安装gcc编译器套件,make,autoconf等需要5分钟。再过30分钟,您就可以运行Ruby,Python,Sun JVM和Eclipse。
编辑:Ubuntu为许多库提供了带有调试符号的额外软件包。C / C ++开发人员很高兴。
答案是,没有一个良好的Linux开发环境,就无法创建一个gentoo,并且没有其他linux在此方面能够提供真正的功能。您可以从源代码编译所有内容(成为开发人员应该有些虚弱。安装过程比其他任何发行版都可以教您更多有关系统的知识,它可以回答您在创建应用程序时遇到的许多问题。
最好的部分是您可以选择要开发的程序类型。如果要Java,则安装javac或gcj或两者。社区支持无与伦比,因此,如果您有任何疑问,将得到解答或将您带到找到所需答案的地方。
您可以想到的每个IDE都可以“嵌入” /安装到gentoo中。尽管不是很容易安装或“简单”地理解,但它正在编程中,如果您不能安装gentoo的副本,我将不希望在我的机器上运行您的程序。人们安装它的大多数困难都来自缺乏基本的Linux知识。我保证您会按照自己喜欢的方式进行所有设置后喜欢它。
安装完它之后,您可以备份tar,并将其放在有时间重新配置内核的任何计算机上,或者在出现问题时使用它还原。