Articles

Měli by se programátoři učit Linux?

Zastavte mě, pokud jste to už slyšeli: „Programátoři používají pouze Linux. PC a Mac jsou pro nýmandy!“

Ano, ne.

Linux je nástroj. Windows je nástroj. MacOS je také nástroj. Každý z nich je operační systém (OS), který potřebujete k tomu, aby byl počítač použitelný, a každý má své výhody a nevýhody. Problém je, že stejně jako mnoho jiných nástrojů mají i tyto populární operační systémy své kmeny. Jestliže Windows je DC Comics a MacOS je Marvel, pak Linux je Dark Horse.

A co je vlastně Linux?“

Začněme od začátku. (Je to jedno z mých oblíbených míst, kde začít.) Pokud se ptáte, zda byste se měli učit Linux, pravděpodobně by se vám hodil krátký úvod do toho, co je to Linux. Zatímco Windows a macOS jsou jednotlivé operační systémy, které prodávají a podporují společnosti Microsoft a Apple, to, co je (a není) Linux, je trochu složitější.

Kdysi v roce 1991 vydal programátor jménem Linus Torvalds nové jádro, které pojmenoval Linux. Jádro je, zhruba řečeno, počítačový program, který se nachází uprostřed operačního systému a řídí interakce mezi hardwarem a softwarem. Vycházel z Unixu a jiného operačního systému podobného Unixu, který se jmenoval Minix. Jak vidíte, přezdívky, které se rýmují s Unixem, už byly v kurzu, takže Torvaldovo jádro se v podstatě pojmenovalo samo.

Jádro si rychle získalo popularitu a do jeho projektu přispěli další programátoři. Brzy kolem jádra vyrostl nový operační systém, který se také jmenoval Linux.

Ale open source gotta open source a neexistuje – a nikdy nebude existovat – jen jedna verze Linuxu. Linux je rodina operačních systémů, které se obvykle označují jako distribuce nebo distribuce. Distribuce obsahuje jádro Linuxu a zbytek softwaru potřebného k tomu, aby byl počítač použitelný. Web DistroWatch uvádí 100 distribucí, ale zastavuje se u nich jen proto, že 100 je pěkně kulaté číslo.

developing an understanding of any major distribution gives you a significant set of skills that you can map over to any one of them.

Mezi nejoblíbenější distribuce patří Debian, Red Hat, Ubuntu a Fedora. Ubuntu je vlastně založeno na Debianu a Fedora je založena na Red Hatu. A samozřejmě existuje CentOS, který je také založen na Red Hatu, a Mint, který je založen na Ubuntu… Jak vidíte, je to složité. Bitva o to, která distribuce je nejlepší, generuje stejně tepla a méně světla než bitvy o operační systémy nebo komiksy.

Vraťme se tedy k původní otázce. Když se zeptáte „Měl by se programátor učit Linux?“, jedna z možných odpovědí je „Který?“

Ale to není zrovna užitečná odpověď, že?“

Takže, měl bych se učit Linux?“

No, záleží na tom. Jaké jsou vaše cíle?“

Tuto otázku byste měli mít vždy na paměti, když narazíte na nějaký nástroj nebo doporučení začít ho používat. Co se potřebujete naučit a pomůže vám čas, který tomu věnujete, toho dosáhnout?

What are your goals? That's a question you should always keep in mind you come across a tool or a recommendation to start using one. What do you need to learn, and will spending time on this help you get there?

Linux je nejrozšířenější operační systém pro servery. Téměř všechny webové stránky, které denně navštěvujete, běží na Linuxu, stejně jako servery, které za nimi stojí a na kterých běží „back-end“ aplikace, jako jsou databáze. Například banky hojně využívají Linux pro správu finančních transakcí. Většina databázových serverů běží také pod Linuxem.

Linux je velmi populární na vestavěných platformách. Raspbian je populární distribuce pro Raspberry Pi. Operační systém Android od společnosti Google je derivátem Linuxu a používá ho také mnoho síťových směrovačů a přepínačů.

Pokud je tedy vaším cílem psát serverový software, kód pro internet věcí (IoT) nebo software pro vestavné systémy, usnadní vám seznámení s Linuxem život.

Jestliže je vaším snem psát aplikace pro iPhone nebo krásné webové stránky, nemusí být učení se Linuxu právě teď tím nejlepším způsobem, jak trávit čas.

Co bych se měl naučit o Linuxu?“

Další otázka zní: Co znamená „naučit se Linux“?

No, záleží na tom. (Omlouvám se, nemohl jsem odolat.)

Pokud se chystáte psát serverový software, který běží na Linuxu, je třeba jej nasadit na systémy, které jej provozují. V závislosti na tom, kde pracujete, to může znamenat předání kódu organizaci DevOps, nebo to může znamenat, že to uděláte sami. Ať tak či onak, můžete si zpříjemnit život, nemluvě o životě vašich spolupracovníků, pokud si osvojíte ovládání příkazového řádku a organizaci souborů v systému Linux.

Get comfortable with the command line and how files are organized on a Linux system. These skills are transferable regardless of which distribution you learn on and which one your future employer uses.

Tyto dovednosti jsou přenositelné bez ohledu na to, na které distribuci se učíte a kterou používá váš budoucí zaměstnavatel. I když mezi nimi existují určité (často nepříjemné) rozdíly, rozvíjení znalostí o kterékoli hlavní distribuci vám poskytne významnou sadu dovedností, které můžete přenést na kteroukoli z nich. Poskytne vám to také konkurenční výhodu oproti vývojářům, kteří se cítí dobře pouze v chráněném světě svého oblíbeného IDE.

Pokud se zajímáte o vývoj softwaru pro robotiku nebo vestavěné systémy, pak se musíte důvěrně seznámit s Linuxem na úrovni jádra. Pro vás „naučit se Linux“ znamená naučit se linuxové jádro.

Tady opět není tak důležité, jakou distribuci si vyberete, jako spíše to, že si prostě namočíte nohy. I když ne všechny distribuce aktualizují verze jádra ve stejnou dobu (a některé jsou komicky pomalé), jádro Linuxu je jádro Linuxu. Vyberte si distribuci a začněte si hrát.

Jak to udělat?“

Pokud se zajímáte o robotiku nebo internet věcí, můžete si rovnou pořídit Raspberry Pi a pustit se do toho. Budeš se chtít ujistit, že máš USB myš a monitor, ke kterému ho můžeš připojit. Zbytek je celkem jednoduchý.

Pokud se zajímáte o serverový software, vyberte si nějakou distribuci a nainstalujte ji.

Která distribuce to bude, je opravdu otázkou volby. Někteří považují Ubuntu za nejpřívětivější pro nováčky. Jiní považují Linux Mint za o něco lepší. Dobrou zprávou je, že jsou zdarma, takže je můžete vyzkoušet všechny!“

Nejlevnější možností, jak nainstalovat Linux a vykopnout dveře a zabouchnout pneumatiky, je nainstalovat software virtuálního počítače na počítač, který již máte. VirtualBox je zdarma a funguje ve Windows i MacOS. Po nastavení vás dokonce provede instalací Linuxu.

Jakmile máte Linux nainstalovaný, začněte si hrát! Krása hraní s Raspberry Pi nebo virtuálním počítačem spočívá v tom, že pokud něco pokazíte, můžete vždy začít od začátku. Uvidíte, že je docela těžké systém Linux rozbít.

Takže, měli by se programátoři učit Linux?“

Je velká pravděpodobnost, že se s Linuxem někde během své kariéry programátora setkáte. Pokud se s ním seznámíte předem, můžete získat konkurenční výhodu oproti ostatním vývojářům, kteří se s ním neseznámí. Pořiďte si kopii a začněte si s ním hrát hned teď.

Tento příspěvek napsal Eric Goebelbecker. Eric pracoval 25 let na finančních trzích v New Yorku, kde vyvíjel infrastrukturu pro tržní data a sítě protokolů pro výměnu finančních informací (FIX). Rád mluví o tom, co dělá týmy efektivními (nebo ne tak efektivními!)

.