Jaki Linux dla programisty? Najlepsze systemy Linux do programowania

Tak się składa, że programiści i programowanie niekoniecznie muszą kojarzyć się z Windowsem lub macOS. Spora część ludzi zajmujących się kodowaniem sięga po alternatywne systemy operacyjne z rodziny Linuxa. W zasadzie trudno mówić, by systemy te były alternatywne. Na co dzień po prostu nie wiemy, że de facto z nich korzystamy. Na przykład większość stron Internetowych napędza Linux. Jaki zatem będzie najlepszy Linux dla programisty? Który Linux będzie najlepiej nadawał się do programowania?

Jaki Linux dla programisty? Szybka odpowiedź to KAŻDY!

Jeśli naszym celem jest programowanie, to każdy Linux będzie się do tego nadawał. Systemy operacyjne z tej rodziny są na tyle elastyczne, że nawet gdyby któraś z dystrybucji nie była idealna już na starcie, to zawsze można ją dostosować do naszych programistycznych wymagań. Na tym właśnie polega magia Linuxa. Jesteśmy w stanie zainstalować gotową dystrybucję i następnie dopasować ją do naszych potrzeb, a za wszystko nie będziemy musieli uiścić nawet złotówki. Na tym jednak nie koniec.

Jeśli żadna dystrybucja nam nie odpowiada do tego stopnia, że nawet personalizacja niewiele zmieni, to możemy zbudować sobie swój własny system operacyjny od podstaw (np. Linux From Scratch). Na pierwszy rzut oka takie podejście może wydawać się abstrakcyjne, ale piszemy o specyficznej grupie ludzi wykonującej specyficzne zadania. Trzeba czasem przy ich realizacji stosować konkretne procedury i podążać za konkretnymi procesami. Na dodatek na wszystko nakładają się własne preferencje użytkownika. W takim przypadku opłaca się zainwestować nieco czasu w stworzenie systemu pod siebie, skoro ułatwi nam on późniejsze funkcjonowanie. Ścieżka ta jest jednak wybierana przez nielicznych. Reszta zapewne sięgnie po gotową dystrybucję Linuxa nadającą się w ich ocenie do programowania.

Jaki Linux do programowania, czyli na którą dystrybucję na początku zwrócić uwagę?

Zanim nabędziemy wymaganych do budowania systemu operacyjnego Linux od podstaw umiejętności, warto sięgnąć po jedną z uznany dystrybucji. W większości przypadków za takim Linuksem nie będzie stał jeden programista, a zazwyczaj cały sztab programistów. Efekt ich działań nie będzie dziełem popołudniowego hobby, ale pracy na etacie. Dystrybucje tego typu są powszechnie stosowane w przemyśle, zastosowaniach korporacyjnych i w serwerowniach.

Skoro sprawdzają się w tak wymagających warunkach, to najpewniej sprawdzą się również do naszych zastosowań programistycznych i jako bazowy system desktopowy. Dodatkową zaletą sięgnięcia po jedną z wymienionych dystrybucji i osiągnięcia biegłości w jej obsłudze może być kolejna rubryczka do wpisania do CV. Wiele firm korzysta właśnie z jednego z takich systemów Linux, które są oparte na korporacyjnych fundamentach. Jest zatem szansa upiec dwie pieczenie na jednym ogniu. Dlaczego by nie skorzystać?

Ubuntu

Ubuntu to chyba najpopularniejsza dystrybucja desktopowa na świecie. Znaczna ilość poradników zawierająca wskazówki, którą dystrybucję wybrać, stawia na Ubuntu. Taka sytuacja nie powinna dziwić. Ubuntu w znaczący sposób ułatwiło korzystanie z Linuxa na komputerach stacjonarnych i laptopach i dzięki ogromnej rzeszy użytkowników, w sieci mamy masę poradników opisujących pracę z Ubuntu niemal na wszystkie możliwe sposoby. Jeśli zdecydujemy się na Ubuntu, to mamy również sporo szans na to, że w przypadku pojawienia się jakiegokolwiek problemu z naszą instalacją, ktoś przed nami już się z takim problemem zmierzył i w sieci będzie stosowny poradnik na temat tego, jak wybrnąć z kłopotów. Ubuntu chwali się na swojej stronie głównej, że 66% programistów preferuje Ubuntu. O ile zazwyczaj tego typu deklaracje należy traktować z przymrużeniem oka, o tyle w przypadku Ubuntu wydaje się, że cos jest na rzeczy.

Co stoi za sukcesem Ubuntu? Programiści pracujący nad systemem na co dzień i społeczność skupina wokół niej, bazują na starym, dobrym Debianie. To jedna z najstarszych dystrybucji Linuxa, która sama w sobie jest godna polecenia. Ubuntu dodaje do tej solidnej bazy swój własny sos pomysłów, tworząc coś zupełnie innego, ale mimo wszystko dobrze znanego i kompatybilnego w znacznym stopniu z Debianem. Wszystkie dodane ulepszenia sprawiają, że Ubuntu zazwyczaj instalujemy i zajmujemy się swoimi sprawami, nie martwiąc się o działanie samego systemu operacyjnego.

Ubuntu poza desktopami jest również mocno zakorzeniony w serwerowniach, więc znajomość tego systemu operacyjnego z pewnością pomoże nam w realizacji wielu zadań programistycznych związanych z tym obszarem. Firma chwali się nawet certyfikatami zapewniającymi spełnianie wymogów amerykańskiego departamentu obrony, że nie wspomnimy o nawet 10 latach wsparcia, i funkcji kernel livepatch. Sam system jest optymalizowany pod usługi takie jak  AWS, Azure, Google, Oracle, czy IBM. Z systemów lub usług oferowanych przez Ubuntu korzystają takie firmy jak Uber, Spotify, Walmart, AT&T, Deutsche Telekom, Bloomberg, czy też banki Rabobank i BNP Paribas. Jak widać, towarzystwo jest doborowe i z pierwszych stron gazet, więc Ubuntu wydaje się pewnym kandydatem jako Linux dla programisty.

Fedora

Fedora to poletko doświadczalne dla jednej z największych korporacyjnych dystrybucji Linuxa, czyli Red Hat Enterprise Linux (RHEL), która od 2019 roku należy do IBM wraz z całą firmą Red Hat. Dość powiedzieć, że najważniejsze elementy, które mają później wejść w skład RHEL, przechodzą chrzest bojowy na Fedorze. Nie oznacza to oczywiście braku stabilności tego systemu. Fedora przeprowadza rygorystyczne testy kolejnych wydań i dzięki temu otrzymujemy całkiem stabilną dystrybucję. To, co wyróżnia Fedorę to innowacja. Dystrybucja ta skupia się na wczesnym integrowaniu nowych technologii oraz współpracy z ich twórcami, by jak najszybciej dostarczyć je użytkownikom.

Fedora dobrze sprawdza się na komputerach stacjonarnych, laptopach, w chmurze, jak i w kontenerach. Da się ją również wykorzystać do zastosowań z obszaru Internetu rzeczy (IoT), więc mamy do dyspozycji mamy pełne spektrum. Ciekawą alternatywą dla zwykłych rozwiązań desktopowych może być Fedora Silverblue, czyli system operacyjny typu immutable. Charakteryzuje się on niezmiennością, co zapewnia ogromną stabilność i powtarzalność na każdym urządzeniu, na jakim ją zainstalujemy. Na całym świecie wokół Fedory skupiła się grupa utalentowanych programistów i miłośników otwartego oprogramowania, więc sięgając po tą dystrybucję Linuxa, z pewnością będziemy w doborowym towarzystwie.

Na koniec jako ciekawostkę możemy podać, że Fedora to rodzaj kapelusza, więc nazwa idealnie pasuje do spółki matki, czyli RHEL.

openSUSE

Jeśli cenicie niemiecką solidność, to openSUSE może być strzałem w dziesiątkę. Podobnie jak w przypadku Fedory, tak i openSUSE jest poletkiem doświadczalnym dla komercyjnej dystrybucji nazwanej SUSE (nazwa pochodzi od niemieckiego Software und System-Entwicklung). Obecnie niemieckie są już tylko korzenie, gdyż firma wchodzi w skład funduszu EQT Parters, choć zarządzana jest przez wybitnie niemieckobrzmiące Blitz 18-679 GmbH.

W porównaniu z konkurentami openSUSE ma kilka mocnych asów w rękawie. Na początek wypada wspomnieć o YaST, czyli sprytnym narzędziu do konfiguracji systemu. Graficznych narzędzi do ustawiania tego i owego w Linuxach jest sporo, ale możliwości, jakie daje YaST, są niezrównane. openSUSE to również  Open Build Service (OBS), czyli narzędzie budowania pozwalające na tworzenie pakietów dla openSUSE, SUSE Linux Enterprise, a także dla dystrybucji takich jak Arch, Debian, Fedora, Scientific Linux, RHEL, CentOS, Ubuntu i innych. Istny szwajcarski scyzoryk. Dodatkowo mamy też  openQA, czyli zautomatyzowane testy *dowolnego* systemu operacyjnego, które potrafią analizować ekran i kontrolować system w taki sam sposób jak użytkownik.

Wszystko to okraszone jest potężną liczbą pakietów, dzięki którym dostosujemy system do własnych wymagań i całkiem sporą społecznością skupioną wokół tejże dystrybucji.

Oracle

Dystrybucja Linuxa oferowana przez Oracle niezbyt często pojawia się w takich zestawieniach, ale nie da się ukryć, że firma, która za nią stoi jest znana w „półświatku” programistycznym. Firma mieści się ze spokojem w pierwszej piątce światowych korporacji zajmujących się oprogramowaniem, więc co by o niej nie mówić, wiedzą, o co w tym wszystkim chodzi.

Oracle Linux poza samym systemem operacyjnym dostarcza użytkownikowi narzędzia do wirtualizacji, zarządzania, automatyzacji oraz pakiety przeznaczone do realizacji zadań w chmurze. Dodatkową zaletą Oracle Linux jest kompatybilność z RHEL. Sam system jest rozwijany od roku 2006 i od tego czasu można go bezpłatnie pobrać i używać, również w środowiskach produkcyjnych. Gdzie zatem jest haczyk? Dystrybucja jest bezpłatna, a to za co musimy uiścić opłatę, to wsparcie. Jeśli chcemy pomocy 24/7 należy wykupić odpowiedni pakiet. W sieci nie znajdziemy tylu poradników, co w przypadku Ubuntu więc ewentualna własnoręczna naprawa błędów może być trudniejsza.

Oracle zachwala swój produkt jako jedyny autonomiczny system operacyjny, który dodatkowo doskonale sprawdzi się w środowisku Hybrid Cloud. Jedną z głównych zalet Oracle Linux ma być możliwość automatycznego instalowania poprawek dla jądra systemu, hypervisora (po polsku hipernadzorcy, ale przyznacie, że nie brzmi to dobrze…) oraz krytycznych bibliotek z obszaru user-space. Wszystko to doprawione ma być pakietem zoptymalizowanych do wspólnego działania aplikacji.

Oracle podaje na swojej stronie internetowej, że z pakietu Oracle Linux korzystają tacy potentaci jak linie lotnicze United, znana z produkcji sprzętu firma Cisco, kanadyjski gigant telekomunikacyjny Telus, szwedzki Saab, czy też polski Alior Bank. Ta ostatnia pozycja może być niemałym zaskoczeniem, ale najwyraźniej Oracle musiało wykonać tam bardzo duże wdrożenie i jest się czym chwalić.

Jaki Linux dla programisty? Alternatywa dla głównych dystrybucji

Hasło Linux do programowania nie musi ograniczać się do głównych dystrybucji. Na „rynku” mamy całą masę mniejszych, ale nadal stabilnych i w pełni funkcjonalnych systemów. Ich największą zaletą jest możliwość wpływu na kierunek rozwoju takiej dystrybucji poprzez własne zaangażowanie programistyczne, czy też rozmowy z twórcami i podsuwanie im pomysłów.

W zasadzie pakiety oprogramowania wykorzystywane do pracy jako programista będą takie same zarówno na głównych dystrybucjach, jak i na tych mniejszych. Warto jednak pamiętać o tym, że poziom wsparcia, ilość poradników i instrukcji, jak i potencjalne korzyści będą dla nas zapewne mniejsze, jeśli sięgniemy po niszowy produkt desktopowy. Zaznajomienie się z nim, nawet dogłębne, może w przypadku poszukiwania pracy nie zrównoważyć pozyskania doświadczenia związanego z głównymi dystrybucjami, które są powszechnie używane w przemyśle i usługach. Dodatkowo firmy stojące za wymienionymi już kluczowymi dystrybucjami oferują również certyfikaty poświadczające biegłość w ich obsłudze, co może pomóc w poszukiwaniu pracy i być dowodem na naszą znajomość danego systemu. W związku z tym podczas wybierania platformy do pracy programistycznej warto brać to pod uwagę i chyba mimo wszystko na początku sięgnąć po jedną z podstawowych odmian Linuxa.

Linux Tux

No to w końcu, jaki Linux dla programisty i do programowania?

Trudno jednoznacznie wskazać jedną konkretną dystrybucję, która byłaby „idealna” dla programisty. Świat otwartego oprogramowania jest ze sobą wymieszany i to czy dany program będzie spakowany w postaci .deb, czy .rpm, nie ma większego znaczenia. Działać będzie tak samo. W związku z tym różnice pomiędzy poszczególnymi wydaniami Linuxa mogą być dla nas pomijalne jeśli dodatkowo wybierzemy to samo środowisko pulpitu. Istotne mogą być natomiast całe ekosystemy oraz charakterystyczny i nieco odmienny dla każdej z nich sposób pracy. Może to mieć wpływ na naszą efektywność, wygodę operowania na danym systemie, ale realnie rzecz ujmując będzie to chyba raczej kwestia przyzwyczajenia. A Wy co sądzicie? Jaki Linux do programowania będzie najlepszy?