Az igazi programozó
BEVEZETÉS
Sok-sok évvel ezelőtt megjelent egy blog, amely beszámolt az igazi programozóról és arról, hogy hogyan ismerd meg az igazi programozót https://www.szabilinux.hu/orlando_unix/igazi.html
Nos
, ez az időálló mű sok részben megállta a helyét, ám ma már egy-két dologban eltér az igazi programozó karakterisztikája. Ezt a legendát akarom most kibővíteni.
Az idők során felmerült két új fenyegetés
, ami az igazi programozók megélhetését veszélyezteti... A mesterséges intelligencia. Ha valami laikus lennék
, akkor az előbbi mondatomat el is hinném, de ez nem igaz. A főnökök, a hr-esek, a pályakezdők, mindenki ezt mondja, de ha megfigyeljük, az igazi programozó nem fél ettől a veszélytől. Az igazi programozó tud több ezer soros, optimizált 3D játékmotort írni, a mesterséges intelligencia nem. A pályakezdők azzal érvelnek, hogy az AI egyre jobb lesz... persze
, egyre jobb lesz statikus weboldalak készítésében valami magas szintű frameworkkel. De azért az igazi programozó sem veti meg az AI-t. Szokta használni, például szórakozásra: egyszerűnek tűnő feladatot ad neki
, amire aztán szenvedve ad egy rossz választ az AI. Persze jó az AI, például példa adatok generálására, de az igazi programozó nem használ olyan kódot
, amit nem ért (persze ő mindent ért).
A második fenyegetés
az egy sokkal alattomosabb és befolyásolóbb esemény. Megjelent az Internet, no ez még magában nem nagy baj (bár az igazi programozó részben elítéli ennek keletkezését ), de az internet ma már gyökeresen más, mint mondjuk 15-20 éve. Akkor még csak azok használták az internetet, akik értettek is hozzá. Akkor még az igazi programozók voltak azok, akiknek nagy internetes jelenléte volt, nem a tudatlanoknak. Akkor még tudta az átlagos internetező, mi az IP, a szerver, mitől függ, milyen domained volt. Ma már ez gyökeresen megváltozott
, és személyem szerint
, amikor a nagy cégek pénzt láttak, lerombolták ezt a természetes közösséget
, és jöttek a letisztult, lélektelen, ragebait-elő oldalaikkal. Ez nyilván behúzta a tudatlanokat, hátulgombolósokat és azokat
, akik csak egy gyors pénzkereseti lehetőséget láttak. Ma már az átlagos internet használó nem tudja
, mi az az IP, a szerver
, sőt (tapasztalat) azt se tudja MI AZ AZ INTERNET. Na
, ez durva, mert az igazi programozók nagy és presztízses munkáját megzavarják az ilyen hátulgombolósok ilyen kérdésekkel, hogy "Meg tudod-e hackelni a barátnőm instáját?" meg " Kíváncsi vagyok a dark-webre.". Ez még kisebb baj, ha az igazi programozó egyik barátja vagy ismerőse keresi meg őt, mert ekkor retorzió nélkül el tudja magyarázni az igazi programozó, hogy mennyire butaságot mondott. Sokkal rosszabb, ha a programozó főnöke mond gigászi hülyeségeket, mert akkor már nehéz tudatni vele, hogy hülyeséget mondott
, mert utána jönnek a: "Jól van, nem mindenki ül 0-24 a gép előtt" meg hogy "Jajj, te mindig csak negatív vagy." meg " Jó, akkor keresek valakit
, aki meg tudja csinálni!". Az utóbbi azért is fájdalmas, mert ezt akkor kapjuk, ha tudatjuk, hogy egy hónap nem elég egy banki adatbázis átmigrálására. Ilyenkor a főnök abba a hibába esik, hogy talál egy igenembert (aki nem igazi programozó, az igazi programozó kifejti véleményét akármi is legyen
)
), aki mindent megígér, még azt is
, amit nem kellett, aztán csodálkoznak, hogy 3 hónap múlva ott ül a félkész projekttel a válla alatt. Az internet begyepesedése már azt is jelenti, hogy már nem az igazi programozók lesznek az elismertek, hanem a mindenféle influencerek, fotelharcosok, szájkaratések meg újságírók
, akik mernek hülyeségeket mondani
, és ezzel még közömbösebbé tenni az internetet. Ezek az emberek gyakran olyanról beszélnek, amihez nem nagyon értenek, például"Ó, hát ha ez a játék úgy jelent volna meg, hogy XY funkció benne lett volna, akkor sokkal többet adtak el volna belőle.", és ez rendben van, de akkor fogják be
, és ne rontsák a levegőt. Na de ezek a semmirekellő emberek és az AI kombinációja egyre jobban ahhoz vezet, hogy az internet csak a közömbös sznobok lakhelye legyen.
MIRE HASZNÁLJA AZ INTERNETET AZ IGAZI PROGRAMOZÓ?
Először kezdjük azzal, hogy mit nem csinál az igazi programozó:
- Az igazi programozó nem használ Instagramot, Messengert, TikTokot, Twittert és még semmilyen közösségi médiát.
- Az igazi programozó leszarja, hogy épp melyik politikus mit csinált, kit tiltott le.
- Az igazi programozó nem mások politikai álláspontján ítélkezik, hanem programozói karrierjük alapján. (Isten óvjon attól az embertől , aki álláspont alapján segít egy projektben.)
- Az igazi programozó a Redditet is megveti, kivéve akkor, ha tudja , ott magát hirdetni.
- Az igazi programozó nincs tisztában a legújabb trendekkel, hiszen az új JavaScript framework úgyis is 2 hónap múlva elavul.
- Az igazi programozó nem keres aktívan munkát, ha épp akad , és elég személyre szabott , akkor elvállalja.
- Az igazi programozó nem gatekeepel, tanít , ahol tud. Végül is így is nagyon kevés igazi programozó van, kell az utánpótlás.
- Az igazi programozónak van GitHub fiókja , és ha éppen nem programozik (ami ritka esemény ) ), akkor szépen lassan feltöltögeti oda 6-7 éves késéssel a projektjeit.
- Az igazi programozó önfejlesztésre használja a YouTube-ot.
- Az igazi programozó folyton keres más igazi programozókat az interneten, no persze nem közösségi médián, mert ő is tudja, hogy ott nem talál.
- Az igazi programozónak van egy üzleti email-je , amit sosem néz.
- Az igazi programozónak van egy immel-ámmal megcsinált egyedi weboldala 2005-ös mintára, amin fent van majdnem mindene.
- Az igazi programozónak van saját blogja, fóruma és RSS feedje az oldalán, nem osztozkodik a Redditen a fotelharcosokkal és gurukkal , akik mindent "jobban" tudnak.
NYELVEK
Ma már más világban élünk, a Fortran , de sőt a Pascal is elavult. Az igazi programozó is fejlődött , de erről majd később. Nézzük meg, miben nem változott az igazi programozó. Márra a programozás nagyon szerteágazó lett, sokkal több programnyelv van, mint mondjuk ' 60-ban. Itt igazából nem az a kérdés, hogy mibe programozik az igazi programozó, hanem, hogy miben nem. Az igazi programozó adaptív, megtanulja az új programnyelvet, vagy azokat, amibe kell dolgozni. Ha kell, két nap alatt átalakít egy COBOL kódbázist PHP-ra és fordítva. Ám van pár programnyelv , amit ha lehet, kerülaz igazi programozó. Ezek azok a nyelvek, amik limitálják a programozó kreativitását, ilyen a Haskell, Rust és Java. Persze ezeket is rá lehet venni, hogy szabadabban viselkedjenek , de az extra munka , és még csak az kéne az igazi programozónak, hogy konfig fájlokat kelljen szerkesztenie programozás helyett. Ha lehet, akkor az igazi programozó a C-t választja, mert az egy olyan nyelv, amit még ezer év múlva is használnak. Mellesleg, nagyon sok szabadságotélvez az, ki C-ben programozik: Pointer aritmetika, hasznos makrók, a cdecl funkció hívások és persze a GOTO használata. C-ben majdnem mindent meg lehet csinálni. Amit nem lehet megcsinálni C-ben , azt meg lehet csinálni Assemblyben, amit nem lehet megcsinálni Assemblyben , azt meg lehet csinálni gépi kódban. Ha valamit nem lehet megcsinálni gépi kódban, azt nem lehet megcsinálni. Nyilván ma már nehezebb a gépi kódban való programozás, de van, amikor megköveteli a munka. Erre jó példa a kalózvédelmek feltörése (bizonyos esetekben ). Persze az igazi programozónak adaptívnak kell lennie. Ha kell, képes legyen megtanulni egy új programnyelvet és annak professzionális használatát akár egy nap alatt.
STRUKTURÁLT PROGRAMOZÁS
Az, hogy a programot jól felépítve írjuk, nemes elképzelés. Még annak, aki nem igazán ért hozzá, jó ötletnek tűnhet, csak hát attól, hogy szép a kód , nem mindenki fogja azt megérteni. Azoknak találták ki a dokumentációt (erről majd később). Az egyetlen típusú ember, aki odaül egy kód elé és egyből érti , mit csinál , az , az igazi programoz ó. De az igazi programozó a nem struktúrált kódot is rendesen megérti, így minek törje az ember magát a "szép" kód miatt. Elvégre a gép olvassa és hajtja végre a kódot, nem az ember. Na de még pár megfigyelés az igazi programozóról:
- Az igazi programozó szenvedélyből programozik! Ez a legfontosabb!!
- Az igazi programozó még mindig nem fél a GOTO-tól.
- Az igazi programozó nem használ VSCode -ot. Csak egy szövegszerkesztőt editort (nem kell az automata kiegészítő) és a konzolt.
- Ha valamit lehet optimalizálni, azt az igazi programozó meg is csinálja. (Még ha át kell dolgozni az egész programot is ehhez)
- Az igazi programozó programokat ír, nem pedig dokumentációt. Na , ezt a közömbös és unalmas feladatot majd elvégzi a mesterséges intelligencia.
- Az igazi programozó tökéletesen érti azt a kódot, amit 2 éve fejlesztett , és nincs hozzá dokumentáció.
- Az igazi programozó nem zavarodik bele a komplex pointer aritmetikába se.
- Az igazi programozó makrókat és fight-botot ír azokra a játékokra , amivel játszanak a barátai (ha vannak neki), így megspórol 2000 órát az életéből, amit nem a játékkal pazarol el.
- Az igazi programozó nem fél a clean-code kifejezéstől. Tudja, hogy ez egy hoax, és csak azért találták ki, hogy a kezdők hamarabb le tudják cserélni az igazi programozókat.
- Az igazi programozó egy fájlba dolgozik, ha tud, hiszen az include guardok megspórolásával kisebb lesz a kód mérete. Ebből a jó szokásból adódóan nem ritka, hogy 2- 3 MB -os forrásfájlokkal kell dolgoznia.
- Az igazi programozó átlátja a 600000 soros kód működését, fejben elkezdi interpretálni az elejétől , és futtatás nélkül is rájön az eredményre.
- Az igazi programozó tudja, hogy mi baja van a kliensnek ebből és milyen hibát kell kijavítani: "Találtam egy hibát".
Az igazi programozó nem veti meg teljesen az OOP-t, tudja, hogy mikor kell használni, és mikor opcionális (tehát nem kell). Az OOP nélküli megoldás általában sokkal rövidebb.
Az igazi programozó gondol a jövőre: Olyan kódot ír , amit csak ő ért, így pótolhatatlanná téve magát.
MELYIK OPERÁCIÓS RENDSZER?
Gyakorlatilag ma 3 szóba jöhető operációs rendszer van: Windows, Mac, Linux. Nos , a Windows-t akkor ajánlom, az igazi programozó nem ezt használja , de lehet javítani a WSL telepítésével. Az igazi programozó nem Mac-et használ, hiszen megveti a Swift programnyelvet és a lehúzásokat. Marad a Linux. Itt meg kell állni, mert nem mindegy, hogy milyen disztró. De akkor milyen disztró? Nos, az igazi programozónak sok választása van:
- Debian: Mindenre jó.
- Kali: Ha szükséges, akkor és csak akkor.
Persze ezen kívül sok más disztró használata is jusztifikált bizonyos esetekben.
MILYEN MUNKAHELY?
Az igazi programozó megválogatja a helyét. Az elmúlt időben a nagy leépítések sok naplopótól szabadultak meg , de olykor kirúgtak 1-2 igazi programozót is (nyilván véletlen). Az igazi programozó nem megy az Activision Blizzardhoz, se a Microsofthoz, se az EA-hoz, se a Bethesdához, se a Mojang-hez, se az Ubisofthoz dolgozni, ugyanis ezek a cégek teljes szívükből gyűlölik a jó és produktív programozókat. A "Forced diversity" egy nagy vörös zászló, jelentése: "Mi nem azért kapjuk a pénzt, hogy dolgozzunk, hanem, hogy képmutatóak legyünk". Az igazi programozó azt a munkahelyet szereti , ami kihívást jelent neki. Nem megy el Silicon Valley startup cégekhez, mert az könnyű, helyette inkább elmegy és újraírja a COBOL-ban írt banki programot C++-ra, esetleg maga csinál egy céget.
AZ IGAZI PROGRAMOZÓ TERMÉSZETES SZOKÁSAI
Ezekről a szokásokról könnyen felismerhető az igazi programoz ó:
- Az igazi programozó nem dolgozik 9-től 5-ig. (Akkor dolgozik , és annyit, amennyit jónak lát)
- Az igazi programozó általában zsinórban 40-70 órát tud dolgozni egy projekten anélkül, hogy beleunna.
- Az igazi programozó fejből tudja az ASCII táblát.
- Az igazi programozó egy pohár víz után felfrissül, nem kell neki se kávé, se energiaital, se semmilyen más függőséget okozó szer.
- Az igazi programozó szabadidejében is programozik. (Így lehet megismerni az új generációs igazi programozókat: Markus Persson , közismertebb nevén Notch , igazi programozó volt, mert meg tudott írni egy olyan mesterművet, mint a Minecraft egy olyan kócerájban, mint a Java. John Carmack igazi programozó, mert megmutatta, hogy nincs olyan, hogy gyenge hardver, csak gyenge programozó)
- Az igazi programozó mindent maga szeret megírni. Ha lehet, nem használ könyvtárakat.
- Buliban azok az igazi programozók, akik egy bonyolult algoritmusról és annak optimalizálásáról beszélnek.
- Falmászás közben az az igazi programozó, aki miközben lóg a falon, megkérdezi a másiktól, hogy milyen programnyelvet tanuljon meg, ha unatkozna esetleg.
- A kórházban az az igazi programozó, aki unix timestampbe kéri azt az időpillanatot, hogy mikor vegye be a gyógyszert.
- Játék közben az az igazi programozó, aki analízist használ annak kiszámítására, hogy mit fog lépni az ellenfele.
MIT REJT A JÖVÖ AZ IGAZI PROGRAMOZÓNAK?
Fontos a jövőt is szem előtt tartani, hiszen a kvantum számítás megjelenése azt jelenti, hogy több dolog lesz, amivel elfoglalhatja magát az igazi programozó. A mesterséges intelligencia is remélhetőleg okosabb lesz és találnak applikációkat, ahol hasznos lesz. Egy biztos, az igazi programozó meg fog tudni élni, akármi mi is legyen.
(Ez az írás persze csak humorként fogható fel.)