Holy Debate: Cele mai populare/potrivite Linux distros pentru development

Mă gândeam că ar fi interesant să discutăm despre diferite experienţe, cu diferite distribuţii Linux, pentru diferite scenarii de development… respectiv care ar distribuţia cea mai populară şi/sau potrivită pentru diferite scenarii de dev în parte.

Eu am fost nevoit să folosesc folosit un dev environment de Linux pentru următoarele scenarii:

  1. Embedded/Automotive (valabil unde am lucrat eu dar şi în alte firme, din auzite):
  • Fedora - folosit pe scară largă până acum ~5 ani, şi a fost ales mai mult din considerente politice
  • Ubuntu LTS - a înlocuit aproape complet Fedora… n-am văzut vreun avantaj major faţă de Fedora
  1. Aplicaţii desktop cross-platform native (pentru Linux şi Windows)
  • openSUSE - având implicit KDE include multe chestii utile pentru development cross-platform cu Qt
  • Fedora cu KDE - avantaje similare ca şi mai sus (KDE-ul fiind însuşi dezvoltat cu Qt)
  • CentOS - am întâmpinat mai multe probleme decât avantaje; presupun selecţie pe motive politice
  • Obs: ţin să menţionez aici că a fost mai multă muncă ca aplicaţiile native să funcţioneze pe diferite distribuţii Linux, decât Linux+Win în sine, datorită comportamentului diferit a multor apeluri sistem
    (care par să fie implementate diferit, de la distributie la distribuţie :facepalm:)
  1. Aplicaţii desktop cross-platform .Net (tot pentru Linux şi Windows)
  • Ubuntu - după colaborarea cu Microsoft, probabil unica alegere care mai rămâne
  • openSUSE cu Mono - în trecut probabil cea mai bună variantă, posibil tot ca urmare a unei colaborări

Se pare că Ubuntu tinde a deveni de facto standard pentru development (aştept alte păreri) şi, ce-i drept, parcă am avut cele mai puţine bătăi de cap cu acesta. Totuşi am citit că şi CentOS şi Fedora sunt (încă) destul de populare, dar nu cunosc motive/detalii suplimentare.

3 Likes

two words (and 25h later of configuring the damn thing): Arch Linux.

EDIT:

Jokes aside: do this! it’s a rite of passage and you’ll learn a ton.

4 Likes

Aduc informatii strict din zona de deployment a web dev apps, cred totusi ca argumentele sunt aceleasi si pt restul. Serverele finale pe care se va rula cod (una sau mai multe bucati) vor fi RedHat, din considerente de securitate si interventie rapida cand “shit hits the fan”. Ei au intrat puternic pe piata de business si au instilat aceasta idee. Practic, pentru a nu plati licenta pt medii altele decat productie si staging, in dev -> qa -> integration se lucreaza cu CentOS care, sa ne exprimam simplificat, e varianta free. De Fedora n-am mai auzit de multa vreme, dar presupun ca e in cadrul discutiei echivalentul CentOS pentru aplicatiile desktop.

2 Likes

Ador Linux pt ca e facut pt development. Period.
Vin din vremea lui Red Hat Linux pana cand Red Hat l-a “omorat”

Ador Gnome deci ceva cu Gnome (KDE e pre windows-ish pt gustul meu)

Am trecut la Fedora dar am rezistat doar 2-3 release-uri. E foarte “fun” sa tot stai sa reinstalezi. Sau faci skip la versiuni.
Ubuntu LTS e perfect, se auto upgradeaza perfect.
Ultima instalare am facut-o la 12.04, acu sunt pe 16.04 :slight_smile:

1 Like

Daca esti dezvoltator pe backend/embedded orice distributie e buna chiar daca ai probleme fiindca inveti din ele lucruri foarte importante, eu as recomanda fiecarui om sa isi faca propria distributie cu Archlinux, sa isi compileze kernelul, sa isi creeze propriul sistem dupa cum crede el ca e mai bine.

Daca esti pe frontend, fara Photoshop, Illustrator, un soft pentru 3D/CAD (Blender e pentru sado masochisti), un soft pentru editare video/animare si Visual Studio sau XCode esti mort. Poti rula oricand un backend linux cu vagrant la o comanda distanta, dar softurile de mai sus nu e bine sa le rulezi intr-un VM si nu e nimic decent pe Linux. (eventual doar daca nu o sa avem Affinity Designer sau Fusion 360 dar din cate am citit nu au in plan Linux din cauze comerciale)
Imi place mult mai mult linuxul pentru dezvoltare Android de exemplu, imi place sa ma joc cu rom-urile putin si pe Windows trebuie VM.

In legatura cu serverele, lucrez cu Ubuntu sau CentOS.
Ubuntu e foarte solid din toate punctele de vedere cand vine vorba de Docker si suport pentru dezvoltatori in ziua de azi, upgrade-urile sunt ceva mai ok fata de Debian care o data ajuns in archive devine un chin la mentenanta/upgrade si upgrade-ul trebuie facut foarte atent. Daca vrei sa iti faci propriul cloud sunt optiuni mai bune dar nici ubuntu nu e o optiune prea rea.
CentOS e copie perfecta dupa Red Hat fara software-ul lor proprietar, nu e pentru desktop-uri. Respectiv Ubuntu e o alegere mult mai buna daca vrei sa folosesti docker si lucruri mai recente.

2 Likes

Eu acasa folosesc CUB Linux https://cublinux.com/, interfata de Chromium si manager de pachete de Debian apt, pentru development e ok, in legatura cu serverele e discutabil unii aleg CentOS dar trebuie sa schimbi managerul de pachete la yum.

Kernel-ul de Linux https://github.com/torvalds , experti in programare pe partea de kernel de Linux pe aici :slight_smile:

De curand am trecut pe Kubuntu sunt mare fan KDE de prin 2000 cand Knoppix era in voga, pot spune ca e o distributie moderna cu care ma inteleg perfect.

https://kubuntu.org/

Folosesc mai exact Kubuntu 19.04.