開発者側にアピールするLinuxの最高のフレーバーを探しています。私はオープンソースが好きで、いくつかの異なる言語を使用しています。
開発者向けのLinuxのようなものはありますか?
開発者側にアピールするLinuxの最高のフレーバーを探しています。私はオープンソースが好きで、いくつかの異なる言語を使用しています。
開発者向けのLinuxのようなものはありますか?
回答:
実際には、すべてのディストリビューションはほぼ同じ開発ツールチェーンを使用しているため、一般的な開発作業のプラットフォームとして大きく異なることはありません。ただし、特定の種類の開発作業に関連する特定の利点があるものもあります。
商用ディストリビューション(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を使用し、さらにいくつか(ベクター、SLS、Yggdrasil、約4.0以降のRedhatの各種バージョン)を使用しました。「unix」開発環境として、それらはすべて時代のツールを提供し、バンドルされたツールを使用した開発作業に使用したり、必要なものをダウンロードして構築したりすることができました。
Unixはかつてオペレーティングシステムを装ったIDE、またはその効果を表す言葉として説明されていました。必要に応じて、UnixまたはLinuxのバリアントを使用してUNIX開発者のエクスペリエンスを提供できます。ある時点で、私は環境をあまり気にしませんでした。私は実際にウィンドウマネージャーを使用してxtermウィンドウを開き、いくつかのアプリを起動しました。他のすべてはコマンドラインからほとんど行われました。ほとんどの種類のUNIXまたはLinuxでこれを実行できます。
Cを使用している場合は、vimまたはctags、make、gccを使用したemacsが非常にうまく機能します。フロントエンドの有無にかかわらずgdbを使用できます。このツールチェーンは、perlやpythonなどの言語の優れたサポートも提供し、サードパーティのツールからの豊富なサポートエコシステムを備えています。
よりGUI中心のワークフローの場合、実際には、ウィンドウマネージャー、デスクトップ環境、および開発ツールを個人的に選択することになります。Javaに興味があるなら、Eclipseとnetbeansはほとんどの主要なディストリビューションに基づいています。C / C ++、perl、python、およびその他のスクリプト言語をサポートするさまざまな従来のIDEが存在します。これらはすべてではないにしても、ほとんどのLinuxディストリビューションで動作するようにできます。Javaは、サードパーティのポートを介してBSDでのみサポートされているため、それを使用している場合は、おそらく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ディストリビューションにはさまざまなフレーバーがあります。たとえば、子供向けのQimoやDoudouLinuxなどのディストリビューションがあります。
もちろん、ニーズに合わせて変更することもできます(Linuxについて話している、右:])、それでも、多くの時間を浪費することになります。
新しいことを学ぶのに素晴らしい方法だと主張する人もいます。ただし、いずれにせよ、ディストリビューションを掘り下げて調整するために、ある程度の時間をかける必要があります。どんなディストリビューションでも避けられません。
しかし、最も重要なことはパッケージです。
新鮮なもの(例:Arch)をもたらすものもあれば、非常に安定したもの(例:Debian)をもたらすものもあります。
ハードウェアサポート(ドライバー、ドライバー、ドライバー!)に関しても、ドキュメントは大きく異なります。
これらの3つのポイント(パッケージ、ドキュメント、ドライバー)とあなた自身のスキルを考慮して、いくつかの主流のディストリビューションを発見するのに時間がかかるはずです。
良いスタートがここにあります:http : //distrowatch.com/
Fedoraは新しいテクノロジーを早期に採用しており、他のほとんどのディストリビューションで利用可能になる数ヶ月前に、それらを使って実験および開発を行うことができます。すぐに使用できる多くのプログラミング言語とライブラリをサポートし、欠落している可能性のあるものをシステムに比較的簡単に追加できます。純粋なオープンソースの哲学を持ち、これに反する機能のパッケージをサードパーティが提供できるようにしています。「Fedora Core」と呼ばないでください(CoreとExtrasがFedora 7に統合された後に「Core」を失いました)。
Java / Eclipse開発の場合は、Ubuntu / Linux Mint(および場合によっては32ビットでも64ビット)よりもDebianを検討してください。
背景:私はいくつかのJava / Eclipse RCP *開発を行っており、Ubuntu以降のLinux Mintを使用していますが、デスクトップ環境(Cinnamon on Linux Mint)の不安定性、またはSun Java6 JDKをインストールするためのやや複雑な手順(このプロジェクトで使用されています... Ubuntu / Linux Mintは、リポジトリにOpenJDKのみが含まれています)。
最近、仮想マシンでDebian 6 Squeezeを起動し、これらの機能がはるかに優れていることを実感しました。Sun Javaのインストールに必要なのは、/ etc / apt / sources.listのメインリポジトリ文字列の後に「non-free」キーワードを追加し、apt-getを介してインストールすることだけです。 Ubuntu / LinuxMintのGnome3 / Unity / Cinnamonの選択肢よりも。
[*] Eclipse RCPは、EclipseをGUIとしてだけでなく、独自のGUIを構築するためのライブラリとしても使用することを意味します。
Ubuntuは真剣に素晴らしいです。
彼らはすべてのパッケージがあり、最新で簡単にインストールできます。デフォルトの構成(= Gnome)を使用すると、ほとんどの時間をプログラミングに費やし、構成に費やすことはありません。
gccコンパイラスイート、make、autoconfなどのインストールには、適切なインターネット接続で5分かかります。さらに30分で、Ruby、Python、Sun JVM、Eclipseをすぐに実行できます。
編集:Ubuntuは、多くのライブラリのデバッグシンボルを含む追加パッケージを提供します。C / C ++開発者にとってはうれしいです。
答えは、あなたが作成しない限り開発に適したLinuxはなく、この分野ではgentooほど多くのLinuxが実際に提供していないということです。ソースからすべてをコンパイルします(開発者になるために必要なものです。インストールプロセスは、アプリケーションを作成する際に行う多くの質問に答える他のディストリビューションよりも、システムについて多くを教えてくれます。
最良の部分は、開発するプログラムの種類を選択できることです。javaが必要な場合は、javacまたはgcj、あるいはその両方をインストールします。コミュニティサポートは他に例がないため、質問がある場合は回答が得られるか、回答を見つけるために必要な場所に移動します。
あなたが考えることができるすべてのIDEは、gentooに「マージ」/インストールすることができます。インストールするのは信じられないほど簡単でも、理解するのも「簡単」ではありませんが、ネザーはプログラミングであり、gentooのコピーをインストールできない場合は、マシンでプログラムを実行したくありません。人々がそれをインストールすることの難しさのほとんどは、基本的なLinuxの知識の不足に由来しています。あなたが好きなようにすべてをセットアップした後、あなたはそれを好きになると約束します。
インストールが完了したら、tarをバックアップし、カーネルを再構成する時間があるコンピューターに置くか、物事が手に入らなくなったときに復元を使用することができます。