Sto cercando il miglior sapore di Linux che possa piacere al mio lato sviluppatore. Sono un amante dell'open source e utilizzo diverse lingue.
Esiste qualcosa come Linux orientato agli sviluppatori?
Sto cercando il miglior sapore di Linux che possa piacere al mio lato sviluppatore. Sono un amante dell'open source e utilizzo diverse lingue.
Esiste qualcosa come Linux orientato agli sviluppatori?
Risposte:
In pratica, le distro utilizzano tutte la stessa catena di strumenti di sviluppo, quindi non differiscono in modo significativo come piattaforma per il lavoro di sviluppo generale. Alcuni, tuttavia, presentano vantaggi specifici che possono essere rilevanti per alcuni tipi di lavori di sviluppo:
Le distro commerciali (RHEL, SLES) hanno il miglior supporto da parte di fornitori di terze parti chiusi. Se vuoi lavorare con (diciamo) Oracle, potresti stare meglio con uno di questi, anche se Oracle può essere fatto funzionare con la maggior parte delle distro se installi le librerie giuste. CentOS è compilato da fonti RHEL e funzionerà bene con la maggior parte, se non con tutti i software commerciali creati per RHEL.
Se vuoi armeggiare, potresti provare Linux From Scratch. È un buon tutorial su come una distribuzione linux si blocca.
Se vuoi qualcosa per cui quasi tutto ciò che è o è mai stato open source è disponibile dai repository, allora una distribuzione basata su Debian (Debian o Ubuntu) potrebbe essere una vittoria. C'è un motivo per cui Canonical ha scelto .deb da utilizzare come sistema di gestione dei pacchetti per Ubuntu.
Se si desidera ottimizzare tutto all'ennesima potenza, Gentoo consente di ricostruire l'intero sistema per l'architettura del processore specifica.
Se vuoi un'esperienza "unix tradizionale", puoi provare Slackware o FreeBSD (che non è una distribuzione Linux ma potrebbe interessare l'OP). Inoltre, la famiglia BSD è particolarmente forte nel networking, quindi può offrire vantaggi rispetto a Linux agli sviluppatori che lavorano in questo campo.
Di questi, ho usato CentOS, Debian, Fedora, Ubuntu, Slackware e FreeBSD in varie volte in passato, oltre ad alcuni altri (Vector, SLS, Yggdrasil e versioni assortite di Redhat da circa 4.0 in poi). Come ambiente di sviluppo "unix", tutti offrivano gli strumenti dell'epoca e avrebbero potuto essere utilizzati per il lavoro di sviluppo con gli strumenti in bundle o scaricando e costruendo tutto il necessario.
Unix una volta veniva descritto come un IDE mascherato da sistema operativo, o parole in tal senso. Qualsiasi variante unix o linux può darti l'esperienza di sviluppatore unix se lo desideri. Ad un certo punto non mi importava molto dell'ambiente. Ho davvero usato il gestore delle finestre per aprire le finestre xterm e avviare alcune app; tutto il resto è stato praticamente fatto dalla riga di comando. La maggior parte delle varietà di unix o linux può farlo.
Se sei in C, allora vim o emacs con ctags, make e gcc funzionano abbastanza bene; puoi usare gdb con o senza frontend. Questa catena di strumenti fornisce anche un buon supporto per linguaggi come perl o python e include un ricco ecosistema di supporto da strumenti di terze parti.
Per un flusso di lavoro più incentrato sulla GUI, si tratta in realtà di una scelta personale di window manager, ambiente desktop e strumenti di sviluppo. Se ti piacciono Java, Eclipse e netbeans si basano sulla maggior parte delle distro principali. Esistono vari IDE convenzionali con supporto per C / C ++, perl, python e altri linguaggi di scripting. Questi possono essere fatti funzionare sulla maggior parte se non su tutte le distro Linux. Java è supportato solo su BSD tramite porte di terze parti, quindi probabilmente stai meglio con Linux se ci lavori.
Esiste qualcosa come Linux orientato agli sviluppatori?
Sì. Si chiama Linux.
Fedora (o qualsiasi derivato di Red Hat) è buono come qualsiasi Debian, Slackware, Gentoo o altro. Seriamente, puoi svilupparti con qualsiasi distribuzione importante, è una domanda stupida chiedere un Linux "orientato agli sviluppatori".
È anche sciocco dire che una di queste distro è migliore delle altre per gli sviluppatori. Semplicemente non è serio.
Questa domanda richiede davvero argomenti.
Ho provato alcune distribuzioni perché mi diverto davvero a farlo.
Sono uno sviluppatore e mi sono anche chiesto di un buon Linux per sviluppatori e, nella mia esperienza, non ci sono distribuzioni Linux pensate appositamente per gli sviluppatori.
Il motivo è che come sviluppatore, non solo sarai in grado di personalizzare qualsiasi distribuzione in base alle tue esigenze, ma avrai sicuramente bisogno di sapere come effettuare tale personalizzazione.
Quindi in pratica se non hai familiarità con Linux:
1) Debian, poiché molti server Web di produzione eseguono Debian, quindi è probabilmente una buona idea conoscere l'organizzazione delle macchine Debian. La cosa buona di Debian è che dal momento che è definitivamente il Linux più usato (compresi i suoi derivati come Ubuntu), il supporto, la comunità e il numero di pacchetti precompilati disponibili sono estremamente estesi. La cosa negativa di Debian è che è orientato all'essere un ambiente di produzione stabile e come tale raramente ti offre le ultime novità all'avanguardia che potresti voler provare come sviluppatore.
2) Arch-Linux (attualmente ArchBang) è il mio preferito per 3 motivi: - Non fornisce molto in termini di installazione con un solo clic e configura roba ma ha un ottimo tutorial per aiutarti a configurare tutto come te vuoi, questo approccio ti consente di imparare molto su come funzionano le cose in background e significa che quando avrai tutto impostato correttamente ti sentirai dannatamente a tuo agio usando un sistema Linux / Unix. - È rilascio progressivo, il che significa che non dovrai mai scaricare la nuova versione e reinstallare tutto, basta aggiornare il sistema e Voila! - Cerca di implementare tutte le ultime novità in modo da rimanere sempre aggiornato sui nuovi miglioramenti del software e come sviluppatore che è davvero apprezzabile. -Oh e ha anche una grande comunità.
Ma in ogni caso spetta a te provare alcune cose e decidere cosa funziona meglio per te, ciò che posso garantire è che, indipendentemente dal fatto che Linux finisca per legare, c'è sempre un modo per configurare / personalizzare le cose a tuo piacimento, quindi il grosso problema è imparare come farlo personalizzando, e quindi scegli qualcosa che è già preconfigurato il più vicino possibile a quello che vuoi finire.
Ci sono sempre più gusti diversi nelle distribuzioni Linux - ad esempio ci sono distribuzioni come Qimo o DoudouLinux che sono orientate per i bambini.
Ovviamente puoi cambiarli in base alle tue esigenze (stiamo parlando di Linux, giusto:]), ma perderai comunque molto tempo.
Alcuni sosterranno che è un ottimo modo per imparare cose nuove. Tuttavia, dovrai dedicare un po 'di tempo a scavare nella distribuzione e a mettere a punto le cose, è inevitabile con qualsiasi distribuzione.
Ma la cosa più importante sono i pacchetti.
Alcuni ti porta nuovi (ad esempio: Arch) e altri molto stabili (ad esempio: Debian).
La documentazione varia anche molto, per quanto riguarda il supporto hardware (driver, driver, driver!).
Considerando questi 3 punti (pacchetti, documentazione, driver) e le tue abilità, dovresti impiegare del tempo per scoprire alcune distro tradizionali.
Un buon inizio potrebbe essere qui: http://distrowatch.com/
Fedora è una delle prime ad adottare nuove tecnologie, che ti consente di sperimentare e sviluppare con loro mesi prima che siano disponibili nella maggior parte delle altre distribuzioni. Supporta molti linguaggi di programmazione e librerie pronte all'uso e rende relativamente facile aggiungere al sistema tutto ciò che potrebbe mancare. Ha una pura filosofia open-source, scegliendo di consentire a terzi di fornire pacchetti per funzionalità contrarie. Basta non chiamarlo "Fedora Core" (ha perso il "Core" dopo che Core ed Extras si sono fusi con Fedora 7).
Penso che, in base alla mia esperienza e alle risposte qui, stai cercando di più una suite di applicazioni e strumenti che renderanno lo sviluppo più semplice e pratico.
La cosa bella di Linux è che qualsiasi distribuzione è molto facile da personalizzare. Ti consiglierei di trovare un elenco di software che usi più spesso durante lo sviluppo e di creare un grande tarball che puoi portare da un computer all'altro (se cambi molto spazio di lavoro).
Per lo sviluppo di Java / Eclipse, considera Debian su Ubuntu / Linux Mint (e forse anche 32 bit su 64 bit).
Antefatto: ho fatto un po 'di sviluppo Java / Eclipse RCP * e ho usato Ubuntu e successivamente Linux Mint, ma mi sono imbattuto in tutti i tipi di bug fastidiosi, sia relativi alle instabilità nell'ambiente desktop (Cinnamon su Linux Mint), sia a procedura piuttosto complicata per installare Sun Java6 JDK (che viene utilizzato dal nostro progetto ... Ubuntu / Linux Mint viene fornito solo con OpenJDK nei loro repository).
Di recente ho avviato Debian 6 Squeeze in una macchina virtuale e ho capito come funzionavano molto meglio queste cose. L'installazione di Sun Java richiede solo l'aggiunta della parola chiave "non libera" dopo la stringa del repository principale in /etc/apt/sources.list e quindi l'installazione tramite apt-get, e il desktop (Gnome2) fornito con esso è anche molto più stabile rispetto alle alternative Gnome3 / Unity / Cinnamon in Ubuntu / LinuxMint.
[*] Eclipse RCP significa che usi Eclipse non solo come una GUI ma anche come libreria per creare la tua GUI, in un certo senso.
Ubuntu è eccezionale, sul serio.
Hanno tutti i pacchetti, aggiornati e facili da installare. Usa la configurazione predefinita (= Gnome) e passerai la maggior parte del tuo tempo a programmare e non a configurare.
L'installazione della suite di compilatori gcc, make, autoconf ecc. Richiede 5 minuti con una connessione Internet decente. Altri trenta minuti e hai pronto Ruby, Python, Sun JVM ed Eclipse.
Modifica: Ubuntu offre pacchetti extra con simboli di debug per molte librerie. Bello avere per gli sviluppatori C / C ++.
La risposta è che non esiste un buon Linux per lo sviluppo a meno che tu non ne crei uno e nessun altro Linux fornisca davvero tanto in questo campo quanto gentoo. Compili tutto dalla fonte (qualcosa con cui dovresti essere fragile per essere un dev. Il processo di installazione ti insegna più sul sistema di qualsiasi altra distribuzione per rispondere a molte domande che avrai mentre crei applicazioni.
La parte migliore è che puoi scegliere il tipo di programmi che vuoi sviluppare. Se vuoi java, installa javac o gcj o entrambi. Il supporto della comunità è come nessun altro, quindi se hai domande, riceveranno una risposta o ti porteranno dove devi andare per trovare la risposta.
Ogni IDE che ti viene in mente è disponibile per "emergere" / installare in gentoo. Sebbene non sia incredibilmente facile da installare o "semplice" da capire, nether sta programmando e se non è possibile installare una copia di Gentoo, non vorrei eseguire i tuoi programmi sulla mia macchina. La maggior parte delle difficoltà che le persone incontrano per installarlo derivano da una mancanza di conoscenze fondamentali di Linux. Ti prometto che ti piacerà dopo aver impostato tutto come preferisci.
Dopo averlo installato, è possibile eseguire il backup di un tar e metterlo su qualsiasi computer per il quale si ha il tempo di riconfigurare un kernel o di usarlo per il ripristino quando le cose sfuggono di mano.