Distribusi Linux diarahkan untuk pengembang [ditutup]

49

Saya mencari rasa Linux terbaik yang akan menarik bagi sisi pengembang saya. Saya seorang pencinta open source dan menggunakan beberapa bahasa berbeda.

Apakah ada yang namanya Linux yang ditujukan untuk pengembang?

Jaison Justus
sumber
1
Diskusi terbuka tidak pantas untuk dikirim ke sini.
Ignacio Vazquez-Abrams
12
Anda harus menentukan sedikit apa yang Anda maksud - Pengembang memiliki pandangan yang sangat kuat (dan sering bertentangan) tentang apa yang merupakan distro ramah-pengembang.
l0b0
1
@ l0b0: Pengembang membutuhkan banyak pilihan paket terbaru. Memperbarui paket secara manual karena terlalu lama, tidak cukup vanilla, atau hanya tidak ada di repositori distro adalah buang-buang waktu. Pengguna akhir biasanya tidak peduli jika paket libxyz-dev terbaru ada di dalam repositori.
Philip
lihat FreeBSD
Rui F Ribeiro

Jawaban:

44

Dalam praktiknya semua distro menggunakan banyak rantai alat pengembangan yang sama, sehingga tidak terlalu berbeda secara signifikan sebagai platform untuk pekerjaan pengembangan umum. Namun, beberapa memiliki keunggulan spesifik yang mungkin relevan dengan jenis pekerjaan pembangunan tertentu :

  • Distro komersial (RHEL, SLES) memiliki dukungan terbaik dari vendor sumber tertutup pihak ketiga. Jika Anda ingin bekerja dengan (katakanlah) Oracle Anda mungkin lebih baik dengan salah satu dari ini, meskipun Oracle dapat dibuat untuk bekerja dengan sebagian besar distro jika Anda menginstal perpustakaan yang tepat. CentOS dikompilasi dari sumber-sumber RHEL dan akan berfungsi dengan baik jika sebagian besar tidak semua perangkat lunak komersial dibuat untuk RHEL.

  • Jika Anda ingin bermain-main, Anda dapat mencoba Linux From Scratch. Ini tutorial yang cukup bagus tentang bagaimana distribusi linux saling terkait.

  • Jika Anda menginginkan sesuatu yang hampir semuanya open source tersedia dari repositori, maka distro berbasis Debian (baik Debian atau Ubuntu) mungkin menang. Ada alasan Canonical memilih .deb untuk digunakan sebagai sistem manajemen paket untuk Ubuntu.

  • Jika Anda ingin mengatur semuanya ke tingkat ke-n maka Gentoo memungkinkan Anda membangun kembali seluruh sistem Anda untuk arsitektur prosesor spesifik Anda.

  • Jika Anda menginginkan pengalaman 'tradisional unix' maka Anda dapat mencoba Slackware atau FreeBSD (yang bukan distro Linux tetapi mungkin menarik bagi OP). Juga, keluarga BSD sangat kuat dalam jaringan sehingga mereka dapat menawarkan keunggulan dibandingkan Linux untuk pengembang yang bekerja di bidang ini.

Dari mereka, saya telah menggunakan CentOS, Debian, Fedora, Ubuntu, Slackware dan FreeBSD di berbagai waktu di masa lalu, ditambah beberapa lainnya (Vektor, SLS, Yggdrasil dan berbagai macam versi Redhat dari sekitar 4,0 dan seterusnya). Sebagai lingkungan pengembangan 'unix', mereka semua menawarkan alat-alat era ini dan bisa digunakan untuk pekerjaan pengembangan dengan perangkat yang dibundel atau dengan mengunduh dan membangun apa pun yang Anda butuhkan.

Unix pernah digambarkan sebagai IDE yang menyamar sebagai sistem operasi, atau kata-kata untuk efek itu. Varian unix atau linux apa pun dapat memberikan Anda pengalaman pengembang unix jika Anda menginginkannya. Pada satu titik saya tidak terlalu peduli dengan lingkungan. Saya benar-benar hanya menggunakan window manager untuk membuka windows xterm dan memulai beberapa aplikasi; segala sesuatu yang lain cukup banyak dilakukan dari baris perintah. Sebagian besar varietas unix atau linux dapat melakukannya.

Jika Anda menggunakan C maka vim atau emacs dengan ctags, buat dan gcc bekerja dengan sangat baik; Anda dapat menggunakan gdb dengan atau tanpa frontend. Rantai alat ini juga menyediakan dukungan yang baik untuk bahasa seperti perl atau python dan dilengkapi dengan ekosistem dukungan yang kaya dari alat pihak ketiga.

Untuk alur kerja yang lebih berpusat pada GUI, itu benar-benar datang ke pilihan pribadi window manager, lingkungan desktop dan alat pengembangan. Jika Anda ke Jawa maka Eclipse dan netbeans dibangun di sebagian besar distro besar. Berbagai IDE konvensional ada dengan dukungan untuk C / C ++, perl, python dan bahasa scripting lainnya. Ini dapat dibuat untuk bekerja pada sebagian besar jika tidak semua distro Linux. Java hanya didukung pada BSD melalui port pihak ke-3 sehingga Anda mungkin lebih baik dengan linux jika Anda bekerja dengan itu.

ConcernedOfTunbridgeWells
sumber
Tentu saja FreeBSD bukan sistem Linux. Itu mungkin tidak masalah untuk tujuan OP. Perhatikan bahwa ada beberapa distribusi BSD lainnya (OpenBSD, NetBSD, dan saya mungkin melewatkan beberapa). Ada juga versi gratis Solaris jika Anda menyukai hal seperti itu.
Keith Thompson
Tidak, tidak, dan saya menduga itu mungkin atau mungkin tidak penting karena alasan yang sama. Saya memilih yang itu karena sebagian besar distro BSD lainnya cukup khusus, mungkin tanpa Dragonfly atau PC-BSD. FreeBSD adalah tentang BSD paling utama, saya kira.
ConcernedOfTunbridgeWells
3
Hanya titik peluru IMHO satu dan tiga yang relevan untuk pengembang. Pengalaman penyetelan atau Unix hanya menarik bagi pengguna dan admin sistem daya. Mereka menyebabkan ketidakcocokan (Unix) dan ketidakstabilan yang tidak terduga (Tuning), keduanya racun bagi pengembang.
Philip
1
BSD dan Solaris sangat kurang dalam dukungan perangkat keras, dan setelah memiliki keuntungan dalam hal jaringan, BSD juga kalah.
vonbrand
12

Apakah ada yang namanya Linux yang ditujukan untuk pengembang?

Iya. Ini disebut Linux.

Fedora (atau turunan Red Hat) sama bagusnya dengan Debian, Slackware, Gentoo atau apa pun. Serius, Anda dapat mengembangkan dengan distribusi utama apa pun, itu pertanyaan konyol untuk meminta "berorientasi pengembang" Linux.

Juga konyol mengatakan bahwa salah satu distro ini lebih baik daripada yang lain untuk pengembang. Itu tidak serius.

Pertanyaan ini sangat memohon argumen.

ata
sumber
15
Adalah konyol untuk mengatakan bahwa itu adalah pertanyaan konyol untuk meminta "berorientasi pengembang" Linux kecuali Anda memberikan argumen yang bagus mengapa itu konyol.
NN
4
Dalam keadilan, juaco benar. Linux bagus untuk pengembang, titik.
Sirex
7
Anda benar-benar harus memenuhi syarat "Fedora sama bagusnya dengan Debian, Slackware ...". Tentunya pasti ada alasan mengapa ada distro yang berbeda, dan itu berarti mereka tidak bisa sama baiknya dalam tugas yang diberikan untuk orang yang berbeda.
tshepang
1
@Tepanget: Anda benar, mereka tidak sama baiknya "untuk tugas apa pun" kecuali untuk pengembangan. Untuk tugas-tugas lain yang mereka lakukan kadang-kadang menunjukkan perbedaan, tetapi untuk dev'ing, semua distro besar sama-sama baik.
Atau
6
Melakukan pekerjaan saya, saya membutuhkan lingkungan yang stabil. Mempertimbangkan hal ini misalnya. Fedora dan Ubuntu jauh dari stabil dan saya tidak merekomendasikan mereka. Anda dapat mengatakan "Linux baik untuk pengembang" untuk pengguna Windows karena ini adalah keadaan umum. Ketika Anda berbicara dengan pengguna Linux mereka mungkin tertarik pada hal-hal yang lebih khusus yang akan meningkatkan efisiensinya.
marinir
5

Saya sudah mencoba beberapa distribusi karena saya sangat menikmati melakukannya.

Saya seorang pengembang dan saya juga bertanya-tanya tentang Linux yang bagus untuk pengembang, dan menurut pengalaman saya, tidak ada distribusi Linux yang dirancang khusus untuk pengembang.

Alasannya adalah sebagai pengembang, Anda tidak hanya dapat menyesuaikan distro yang sesuai dengan kebutuhan Anda, tetapi Anda juga harus tahu cara melakukan penyesuaian tersebut.

Jadi pada dasarnya jika Anda tidak terbiasa dengan Linux:

1) Debian, karena banyak server web produksi menjalankan Debian, jadi mungkin ide yang baik untuk mengetahui bagaimana mesin Debian diatur. Hal yang baik tentang Debian adalah karena ini adalah Linux yang paling banyak digunakan (termasuk turunannya seperti Ubuntu), dukungan, komunitas, dan jumlah paket pra-kompilasi yang tersedia sangat luas. Hal buruk tentang Debian adalah bahwa itu diarahkan untuk menjadi lingkungan produksi yang stabil dan karena itu jarang menawarkan hal-hal terbaru yang mungkin ingin Anda coba sebagai pengembang.

2) Arch-Linux (sebenarnya ArchBang) adalah favorit saya saat ini karena 3 alasan: - Ini tidak memberikan banyak cara menginstal satu klik mudah dan mengkonfigurasi barang-barang tetapi memiliki tutorial yang bagus untuk membantu Anda mengatur semuanya seperti Anda inginkan, pendekatan ini memungkinkan Anda untuk belajar banyak tentang bagaimana hal-hal bekerja di latar belakang dan berarti bahwa ketika Anda sudah mengatur semuanya dengan benar, Anda akan merasa sangat nyaman menggunakan sistem Linux / Unix. - Ini rilis rilis, yang berarti Anda tidak akan pernah harus mengunduh versi baru dan menginstal ulang semuanya, Anda cukup memperbarui sistem dan Voila !. - Ia mencoba menerapkan semua hal yang paling mutakhir sehingga Anda akan selalu mengikuti perkembangan baru pada perangkat lunak, dan sebagai pengembang yang sangat dihargai. -Oh dan memiliki komunitas yang hebat juga.

Tapi bagaimanapun itu pada dasarnya terserah pada Anda untuk mencoba beberapa hal dan memutuskan mana yang terbaik untuk Anda, apa yang dapat saya jamin adalah bahwa tidak masalah jika Linux Anda akhirnya mengikat selalu ada cara untuk mengkonfigurasi / menyesuaikan hal-hal yang Anda sukai, jadi masalahnya adalah mempelajari cara melakukan penyesuaian itu, dan kemudian Anda memilih sesuatu yang sudah dikonfigurasikan sedekat mungkin dengan apa yang ingin Anda selesaikan.

Alexis Finn
sumber
4

Ada semakin banyak rasa yang berbeda di distro Linux - misalnya ada distro seperti Qimo atau DoudouLinux yang berorientasi untuk anak-anak.

Tentu saja Anda dapat mengubahnya agar sesuai dengan kebutuhan Anda (kita berbicara tentang Linux, kan:]), tetapi tetap saja, Anda akan menghabiskan banyak waktu.

Beberapa akan berpendapat bahwa ini adalah cara yang bagus untuk mempelajari hal-hal baru. Namun, Anda harus meluangkan waktu untuk menggali distro dan menyetel hal-hal, itu tidak bisa dihindari dengan distro apa pun.

Tapi yang paling penting adalah paketnya.

Beberapa membawa Anda yang baru (misalnya: Lengkungan) dan beberapa lainnya sangat stabil (misalnya: Debian).

Dokumentasi juga sangat bervariasi, seperti untuk dukungan perangkat keras (driver, driver, driver!).

Mempertimbangkan 3 poin ini (paket, dokumentasi, driver) dan keahlian Anda sendiri, Anda harus meluangkan waktu untuk menemukan beberapa distro utama.

Awal yang baik bisa di sini: http://distrowatch.com/

avetis.kazarian
sumber
Saya memang mengatakan distribusi utama yaitu. mainstream, untuk merujuk pada fakta bahwa tidak ada perbedaan besar di antara ini ketika datang ke pembangunan. Saya tidak mengacu pada distro niche.
ata
3

Fedora adalah pengadopsi awal teknologi baru, memungkinkan Anda untuk bereksperimen dan mengembangkannya berbulan-bulan sebelum mereka tersedia di sebagian besar distro lainnya. Ini mendukung banyak bahasa pemrograman dan perpustakaan di luar kotak, dan membuatnya relatif mudah untuk ditambahkan ke sistem Anda apa pun yang mungkin hilang. Ini memiliki filosofi open-source murni, memilih untuk memungkinkan pihak ketiga untuk menyediakan paket untuk fitur yang bertentangan dengan itu. Hanya saja jangan menyebutnya "Fedora Core" (kehilangan "Core" setelah Core dan Extras bergabung untuk Fedora 7).

Ignacio Vazquez-Abrams
sumber
1
Siapa yang menyebutnya Fedora Core?
tshepang
1
Banyak orang. Selama bertahun-tahun.
Ignacio Vazquez-Abrams
1
@ IgnacioVazquez-Abrams bagaimana dengan gentoo dan archlinux
Jaison Justus
Saya tidak bisa memberi tahu Anda tentang distro yang tidak saya gunakan. Tapi tentu saja jangan mencoba menghubungkan "build from source" dengan "good for programming".
Ignacio Vazquez-Abrams
3
@ IgnacioVazquez-Abrams: Sebaiknya Anda juga tidak menghubungkan penggunaan teknologi baru dengan yang lebih baik untuk dikembangkan . Bagaimanapun, pertanyaannya tidak cukup spesifik ... itu tergantung pada apa yang Anda kembangkan. Saya berani bertaruh sebagian besar pembangunan dunia bergantung pada teknologi yang tidak berdarah. OTOH, Fedora adalah distro yang saya sarankan jika seseorang ingin melakukan pengembangan GNOME , sama seperti SuSE untuk pengembangan Mono dan KDE (ini berdasarkan pada fakta bahwa SuSE adalah penyandang dana awal proyek Mono dan termasuk di antara beberapa distro besar yang harus dianut KDE sebagai desktop default
tshepang
1

Saya pikir, berdasarkan pengalaman saya sendiri dan jawabannya di sini, Anda mencari lebih banyak rangkaian aplikasi dan alat yang akan membuat pengembangan lebih mudah dan lebih praktis.

Yang paling keren tentang Linux adalah bahwa distribusi apa pun sangat mudah untuk disesuaikan. Saya akan merekomendasikan Anda menemukan daftar perangkat lunak yang paling sering Anda gunakan saat mengembangkan dan membuat tarball besar yang dapat Anda bawa dari komputer ke komputer (jika Anda sering berpindah ruang kerja).

n0pe
sumber
0

Untuk pengembangan Java / Eclipse, pertimbangkan Debian melalui Ubuntu / Linux Mint (dan mungkin bahkan 32bit lebih dari 64bit).

Latar belakang: Saya telah melakukan beberapa pengembangan Java / Eclipse RCP * dan telah menggunakan Ubuntu dan kemudian Linux Mint, tetapi telah mengalami semua jenis bug yang mengganggu, baik yang terkait dengan ketidakstabilan di lingkungan desktop (Cinnamon on Linux Mint), atau prosedur yang agak rumit untuk menginstal Sun Java6 JDK (yang digunakan oleh proyek kami ... Ubuntu / Linux Mint hanya dikirimkan dengan OpenJDK dalam repo mereka).

Saya baru-baru ini meluncurkan Debian 6 Squeeze di mesin virtual, dan menyadari bagaimana semua ini bekerja jauh lebih baik. Menginstal Sun Java hanya perlu menambahkan kata kunci "tidak bebas" setelah string repositori utama di /etc/apt/sources.list dan kemudian menginstal melalui apt-get, dan desktop (Gnome2) yang dikirimkan bersama dengannya juga jauh lebih stabil daripada alternatif Gnome3 / Unity / Cinnamon di Ubuntu / LinuxMint.

[*] Eclipse RCP berarti Anda menggunakan Eclipse tidak hanya sebagai GUI tetapi juga sebagai perpustakaan untuk membangun GUI Anda sendiri, semacam.

Samuel Lampa
sumber
-2

Ubuntu bagus, serius.

Mereka memiliki semua paket, mutakhir dan mudah dipasang. Gunakan konfigurasi default (= Gnome) dan Anda akan menghabiskan sebagian besar waktu pemrograman dan tidak mengonfigurasi.

Menginstal suite kompiler gcc, membuat, autoconf, dll. Membutuhkan 5 menit dengan koneksi internet yang layak. Tiga puluh menit lagi dan Anda sudah siap untuk menjalankan Ruby, Python, Sun JVM dan Eclipse.

Sunting: Ubuntu memberikan paket tambahan dengan simbol debug untuk banyak perpustakaan. Senang dimiliki pengembang C / C ++.

Philip
sumber
1
Komentar Anda berlaku untuk hampir setiap distribusi Linux lainnya!
fpmurphy
1
Menarik ... go2linux.org/debian-ubuntu-centos-fedora-comparison dan oswatershed.org (kolom kanan) Percayalah, Ubuntu adalah teman pengembang.
Philip
-3

Jawabannya adalah bahwa tidak ada Linux yang baik untuk pengembangan kecuali Anda membuat satu dan tidak ada linux lain benar-benar memberikan sebanyak di daerah ini sebagai gentoo. Anda mengkompilasi segala sesuatu dari sumber (sesuatu yang Anda seharusnya lebih lemah untuk menjadi dev. Proses instalasi mengajarkan Anda lebih banyak tentang sistem daripada distro lain per-menjawab banyak pertanyaan yang akan Anda miliki ketika Anda membuat aplikasi.

Bagian terbaiknya adalah Anda dapat memilih program apa yang ingin Anda kembangkan. Jika Anda ingin java instal javac atau gcj atau keduanya. Dukungan masyarakat tidak seperti yang lain, jadi jika Anda memiliki pertanyaan, mereka akan dijawab atau membawa Anda ke mana Anda harus pergi untuk menemukan jawabannya.

Setiap IDE yang dapat Anda pikirkan tersedia untuk "emerge" / instal ke gentoo. Meskipun tidak mudah untuk menginstal atau "sederhana" untuk dipahami, apakah ini pemrograman dan jika Anda tidak dapat menginstal salinan gentoo, saya tidak ingin menjalankan program Anda di komputer saya. Sebagian besar kesulitan orang menginstalnya berasal dari kurangnya pengetahuan Linux mendasar. Saya berjanji Anda akan menyukainya setelah Anda mengatur semuanya seperti yang Anda suka.

Setelah Anda menginstalnya, Anda dapat membuat tar kembali dan meletakkannya di komputer mana pun yang Anda punya waktu untuk mengkonfigurasi ulang kernel untuk atau menggunakannya mengembalikan ketika hal-hal keluar dari tangan.

Joe
sumber