Articles

A programozók tanuljanak Linuxot?

Állítson meg, ha ezt már hallotta: “A programozók csak Linuxot használnak. A PC-k és a Mac-ek nooboknak valók!”

Igen, nem.

A Linux egy eszköz. A Windows egy eszköz. A MacOS is egy eszköz. Mindegyik egy operációs rendszer (OS), amire szükséged van ahhoz, hogy a számítógépet hasznossá tedd, és mindegyiknek megvannak az előnyei és hátrányai. A probléma az, hogy sok más eszközhöz hasonlóan ezeknek a népszerű operációs rendszereknek is vannak törzseik. Ha a Windows a DC Comics és a macOS a Marvel, akkor a Linux a Dark Horse.

Mi is az a Linux?

Kezdjük az elején. (Ez az egyik kedvenc kezdőhelyem.) Ha azt kérdezed, hogy érdemes-e Linuxot tanulnod, akkor valószínűleg jól jönne egy gyors bevezető arról, hogy mi is az a Linux. Míg a Windows és a macOS önálló operációs rendszerek, amelyeket a Microsoft és az Apple árul és támogat, addig az, hogy mi a Linux (és mi nem), egy kicsit bonyolultabb.

Még 1991-ben egy Linus Torvalds nevű programozó kiadott egy új kernelt, amelyet Linuxnak nevezett el. A kernel nagyjából egy olyan számítógépes program, amely az operációs rendszer közepén helyezkedik el, és a hardver és a szoftver közötti kölcsönhatásokat vezérli. Alapjául a Unix és egy másik Unix-szerű operációs rendszer, a Minix szolgált. Mint látható, a Unixra rímelő becenevek már akkor is divatban voltak, így Torvald kernele nagyjából elnevezte magát.

A kernel gyorsan népszerűvé vált, és egyre több programozó járult hozzá a projektjéhez. Hamarosan egy új, szintén Linuxnak nevezett operációs rendszer nőtt a kernel köré.

De a nyílt forráskód nyílt forráskódúvá vált, és a Linuxnak nincs – és soha nem is lesz – csak egy változata. A Linux operációs rendszerek családja, amelyeket általában disztribúcióknak vagy disztribúcióknak neveznek. Egy disztribúció tartalmazza a Linux kernelt és a többi, a számítógép használhatóságához szükséges szoftvert. A DistroWatch weboldal 100 disztribúciót sorol fel, de csak azért áll meg itt, mert a 100 szép kerek szám.

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

A legnépszerűbb disztribúciók közé tartozik a Debian, a Red Hat, az Ubuntu és a Fedora. Az Ubuntu tulajdonképpen a Debianon, a Fedora pedig a Red Haton alapul. És persze ott van a CentOS, ami szintén a Red Hat-on alapul, és a Mint, ami az Ubuntun alapul… Mint látod, ez bonyolult. A harc arról, hogy melyik disztró a legjobb, ugyanannyi hőt és kevesebb fényt generál, mint az operációs rendszerek vagy a képregények körüli csatározások.

Szóval, térjünk vissza az eredeti kérdéshez. Amikor azt kérdezed: “A programozóknak meg kellene tanulniuk a Linuxot?”, az egyik lehetséges válasz: “Melyiket?”

De ez nem igazán hasznos válasz, nem igaz?

Szóval, meg kellene tanulni a Linuxot?

Nos, ez attól függ. Mik a céljaid?

Ezt a kérdést mindig szem előtt kell tartanod, amikor egy eszközzel vagy egy ajánlással találkozol, hogy elkezdj használni egyet. Mit kell megtanulnod, és az erre fordított idő segít majd elérni a célodat?

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?

A Linux a legszélesebb körben használt operációs rendszer a szerverek számára. A naponta meglátogatott weboldalak szinte mindegyike Linuxot futtat, ahogyan a mögöttük álló szerverek is, amelyeken a “back-end” alkalmazások, például az adatbázisok futnak. A bankok például nagymértékben használják a Linuxot a pénzügyi tranzakciók kezelésére. A legtöbb adatbázis-szerver is Linuxot futtat.

A Linux nagyon népszerű a beágyazott platformokon. A Raspbian egy népszerű disztribúció a Raspberry Pi számára. A Google Android OS egy Linux-származék, és sok hálózati router és kapcsoló is ezt használja.

Szóval, ha az a célod, hogy szerverszoftvert, a dolgok internetének (IoT) kódját vagy beágyazott rendszerekhez való szoftvert írj, a Linux-szal való ismerkedés nagyban megkönnyíti az életedet.

Ha az az álma, hogy alkalmazásokat írjon az iPhone-ra vagy gyönyörű weboldalakat, a Linux tanulása talán nem a legjobb módja annak, hogy most az idejét töltse.

Mit kell tanulnom a Linuxról?

A következő kérdés: Mit jelent a “Linux tanulása”?

Nos, ez attól függ. (Bocsánat, nem tudtam ellenállni.)

Ha Linuxon futó szerverszoftvert akarsz írni, akkor azt olyan rendszerekre kell telepíteni, amelyeken Linux fut. Attól függően, hogy hol dolgozol, ez azt jelentheti, hogy átadod a kódodat egy DevOps szervezetnek, vagy azt, hogy te magad csinálod. Bárhogy is legyen, sokkal kellemesebbé teheti az életét, nem beszélve a munkatársai életéről, ha megbarátkozik a parancssorral és azzal, hogyan szerveződnek a fájlok egy Linux-rendszerben.

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.

Ezek a készségek átvihetők, függetlenül attól, hogy melyik disztribúción tanul, és hogy a leendő munkaadója melyiket használja. Bár van közöttük néhány (gyakran bosszantó) különbség, bármelyik nagyobb disztribúció megértésének fejlesztése jelentős készségkészletet ad, amelyet bármelyikre átvihetsz. Ez versenyelőnyhöz is juttatja Önt azokkal a fejlesztőkkel szemben, akik csak a kedvenc IDE-jük védett világában érzik jól magukat.

Ha robotikai vagy beágyazott rendszerekhez való szoftverfejlesztés érdekli, akkor a Linux kernel szintjén kell megismerkednie a Linuxszal. Számodra a “Linux megtanulása” a Linux kernel megtanulását jelenti.

Itt megint csak kevésbé fontos, hogy milyen disztribúciót választasz, mint az, hogy egyszerűen megmártózz. Bár nem minden disztribúció frissíti ugyanabban az időben a kernelverziókat (és némelyik komikusan lassú), a Linux kernel az Linux kernel. Válassz egy disztribúciót, és kezdj el játszani.

Hogyan csináljam?

Ha érdekel a robotika vagy az IoT, akár egy Raspberry Pi-t is beszerezhetsz, és rögtön nekiláthatsz. Biztosra kell menned, hogy legyen egy USB-s egér és egy monitor, amihez csatlakoztathatod. A többi elég egyszerű.

Ha szerverszoftverek érdeklik, válasszon egy disztribúciót, és telepítse.

Az, hogy melyik disztribúciót választja, igazából választás kérdése. Egyesek az Ubuntut tartják a leginkább kezdőbarátnak. Mások a Linux Mintet tartják egy kicsit jobbnak. A jó hír az, hogy mindegyik ingyenes, így mindegyiket kipróbálhatod!

A Linux telepítésének és az ajtók rugdosásának, valamint a gumik csapkodásának legolcsóbb módja, ha virtuális gépi szoftvert telepítesz a már meglévő számítógépedre. A VirtualBox ingyenes, és Windowson és macOS-en is fut. Beállítása után még a Linux telepítésében is eligazít.

Ha már telepítetted a Linuxot, kezdj el játszani! A Raspberry Pi-vel vagy egy virtuális géppel való játék szépsége, hogy bármikor kezdheted elölről, ha valamit elrontasz. Meglátod, hogy elég nehéz tönkretenni egy Linux rendszert.

Szóval, a programozóknak meg kellene tanulniuk a Linuxot?

Nagy az esélye annak, hogy programozói pályafutásod során valahol találkozni fogsz a Linuxszal. Ha előre megbarátkozol vele, az versenyelőnyhöz juttathat más fejlesztőkkel szemben, akik nem ismerik. Szerezz magadnak egy példányt, és kezdj el játszani vele most.

Ezt a bejegyzést Eric Goebelbecker írta. Eric 25 éve dolgozik a pénzügyi piacokon New Yorkban, ahol piaci adatok és pénzügyi információcsere (FIX) protokollhálózatok infrastruktúráját fejlesztette. Szeret arról beszélni, hogy mitől lesznek a csapatok hatékonyak (vagy kevésbé hatékonyak!)