A legfontosabb nyelv a szoftverfejlesztésben: az angol

Arra, hogy melyik a legfontosabb, leggyakoribb vagy leghasznosabb programozási nyelv - C#, Java, Swift, Ruby, Python, C++, C vagy valamelyik másik - nincs jó vagy tuti válasz. Viszont egyik programozási nyelv ismerete se ér semmit, ha a kódodat nem az informatika egyetlen közös nyelvén írod: angolul. Csak így tudod garantálni, hogy amit Dél-Amerikától Európán át egészen Délkelet-Ázsiáig minden szoftvermérnök el tudja azt olvasni és tovább tudja bővíteni.

A szoftverfejlesztés egységes nyelve: az angol

2015-ben minden eddiginél több tartalom érhető el magyarul az interneten. A legnagyobb portálok és appok mind magyarra (is) vannak fordítva, illetve a hazai weboldalak és appok is csak egyre többen vannak. Ugyanakkor mi mérnökök, akik ezeket a szoftvereket fejlesztjük, ezt nem magyarul tesszük, hanem angolul.

De miért is kellene a fejlesztőknek angolul kódolniuk? Mi a gond azzal, ha a magyarok magyarul, a németek németül, az amerikaiak angolul írják a kódjukat? Elvégre a magyar jog is magyarul van, a német versek németül, az amerikai könyvek meg angolul, és az átlag ember az anyanyelvén a saját országában remekül elboldogul.

De azok a szabályok, amik a legtöbb helyen megállják a helyüket, azok az a szabályok ránk, szoftvermérnökökre nem vonatkoznak. Amikor kódolunk, nem magyar, német, vagy angol embereknek írjuk a kódunkat, hanem a compilernek. Szoftverfejlesztőként nem magyar vagy német szoftverfejlesztési szabályokat tartunk be, hanem országtól, nemzetiségtől és nyelvtől független útmutatókat követünk. És ha egy budapesti vagy kanadai cégnek dolgozunk, azt sem feltétlen a cég irodájából tesszük, hanem akár a világ másik feléről.

Miért éppen angol, és nem egy másik nyelv?

Miért nem kínai, spanyol, francia, vagy valami más nyelv a programozás elsődleges nyelve? Ez a programozás történelmi hagyományaival függ össze. Történelmileg a legtöbb programozási nyelvet angol nyelvterületen - USA-ban, Angliában vagy Kanadában, vagy Ausztráliában fejlesztették ki. Konkrétan a 8,500 nyilvántartott programozási nyelv harmada angol anyanyelvű országokban lett kifejlesztve. Emellett a nem angol anyanyelvű országokban is rengeteg kifejlesztett programozási nyelvet angol nyelven írtak. Ilyen például a Python, amit Hollandiában, a Ruby, amit Japánban, vagy a Lua, amit Brazíliában fejlesztettek - mindegyiket angol nyelven.

Van ugyan egy csomó programozási nyelv, ami nem az angolon alapszik, de ezek egyike sem igazán használt. Az egyetlen elterjedtebb programozási nyelv pedig, ami a magyart (is) támogatja, magyar utasításokkal, az a LOGO lokalizációja. A LOGO egy programozást tanító nyelv, amit nagy sikerrel használnak gyerekek, illetve kezdők programozással való megismertetésére.

Eric Steven Raymond, a How To Become a Hacker című remek írásában így foglalja össze, hogy miért megkerülhetetlen minden fejlesztőnek az angol ismerete:

Angol anyanyelvűként első haboztam, hogy ezt a részt bele rakjam-e, nehogy valaki egyfajta kulturális elnyomásnak értelmezze. Viszont számos nem angol anyanyelvű fejlesztő kifejezetten kérte, hogy ebbe az útmutatóba kerüljön bele, hogy az angol a hekker közösség és az internet közös nyelve, és az angolt elégségesen használnod kell tudnod, ha része akarsz lenni a hacker közösségnek.

1991 körül vettem észre először, hogy sok hacker, akiknek nem anyanyelvük az angol, gyakran beszélnek angolul szakmai dolgokról, még olyankor is, amikor mindketten ugyanazt az anyanyelvet beszélik. Ezt sokszor azzal magyarázták, hogy angolul sokkal több szakszó létezik, mint bármely más nyelven, és egyszerűen jobban használható emiatt. Hasonló okok miatt az angol nyelvű szakkönyvek fordításai gyakran hiányosak (már amikor egyáltalán lefordítják őket).

Linus Torvalds finn anyanyelvűként a kódját angolul kommenteli (sosem fordult meg a fejében, hogy másképp csinálja). Az, hogy folyékonyan beszéli az angolt nagyban segítette, hogy világszerte toborozzon fejlesztőket a Linux fejlesztői közösségbe. Az ő példáját érdemes lehet követni.

Angol kód, angol komment, angol fejlesztői dokumentáció

Minden komolyabb szoftver esetében teljesen magától értetődő, hogy a kód (osztályok, függvények, változók), a kommentek és még a fejlesztői dokumentáció (setup, build stb) mind angolul vannak. Ha ezt az ökölszabályt nem követed, csak lábon lövöd magad több ok miatt is.

Egyrészt, az angol nyelven kódolás nagyban segíti az angol folyamatos tanulását. Egy nagyon magyar specifikus változót kell elnevezned? Remek, irány az online szótár megkeresni az angol megfelelőt - és a kódolást máris összekötötted a nyelvtanulással.

Ha magyar kommenteket vagy egyéb kódrészleteket írsz a kódba, azzal ugyanakkor garantálod, hogy nem magyar fejlesztő nem fogja érteni, hogy mi történik - akik a szoftverfejlesztők 99%-át teszik ki. A maradék magyar fejlesztők közül pedig bárki, aki a követi a programozás íratlan szabályát - az angolul kódolást - nem akar majd hozzányúlni olyan kódhoz, amiről ordít, hogy nem hozzáértő ember írta.

A magyar anyanyelvből előnyt kovácsolni

Annak, hogy magyar, és nem angol az anyanyelved, ugyanakkor néhány olyan előnyöd származik, ami az angol anyanyelvűeknek nem.

Rengeteg anyanyelvű angol fejlesztő sokadik lépésként tekint csak a szoftver lokalizációjára - magyarként ugyanakkor ezt sokkal magasabb prioritásként kezeljük, gyakran tudat alatt. És egy persze a lokalizáció stressz tesztelése az "Ő" és "Ű" nem ASCII karakterekkel sokkal egyszerűbb - az utóbbi években szinte minden keretrendszer UTF8-ra állt át, ahol ezek a betűk már nem okoznak gondot, de akadnak kivételek.

Emellett minden egyes kódolással, szakmai portálok olvasásával és podcast hallgatásával egyre csak jobb lesz az angolod - kevés olyan szakmának van akkora szakirodalma angolul, mint az informatikának. És persze ezzel együtt nincs még egy olyan szakma, ahol a világ bármely országában akár távolról is munkát találhatsz - csak azzal, hogy szakmailag elég erős vagy, illetve elég jól felszedted munka közben az angolt.

A szoftverfejlesztésben a legnagyobb lehetőségek: globálisak

A fő oka, hogy a szoftverfejlesztés angol nyelven zajlik mindenhol az az, hogy a szoftverfejlesztés a legglobálisabb szakma a világon. Nincs még egy olyan állás, amit bárhonnan a világon végezhetnél, és nincs még egy olyan végzettség, amit a világ minden országában elfogadnak. Az hogy a kódom, amit a repülőn London-Tokyo között írtam, landoláskor committoltam, Californiában code reviewolta az egyik csapattársam, és Budapestben deployolták a brit klienseknek egyáltalán nem meglepő, ahogy az sem, hogy az egyik kollégám egy héten keresztül a görög tengerparton egy napágyból dolgozott (legalábbis a Slacken postolt egy ilyen képet).

Ha egy jó fejlesztő és mérnök vagy és angolul jól beszélsz (a kettő összefügg), akkor szinte minden szoftverfejlesztési lehetőség nyitva van előtted. És a legizgalmasabb és legnagyobb kihívással járó lehetőségeknek nincs sok közük Magyarországhoz vagy egyetlen adott országhoz, ezek globális problémák, projektek és lehetőségek.

Ha több száz millió embernek akarsz írni szoftvert, amit rengeteg országban használnak, azt csak angol nyelven tudod megtenni. Ha bármelyik népszerű tech cégnél akarsz dolgozni - még ha az irodájuk Magyarországon is van, mint például a Skyscanner, Prezi vagy LogMeIn - megint csak folyékony angol nyelvtudásra lesz szükséged. Nem csak a kód írásához, hanem a külföldi kollégákkal való beszélgetésre is.

De tedd a kezed a szívedre és őszintén: mekkora áldozat egy - a magyarhoz képest - elég egyszerű nyelvet megtanulni, cserébe pedig olyan szoftvereket készíteni, amit nem csak Magyarországon és nem csak magyarok, hanem a világon bárhol bárki használ - vagy éppen veled együtt fejleszt.

(És mivel a szoftverfejlesztés egységes nyelve az angol, ezért a legtöbb szakmai cikket a Tech Inspiráción átfordítjuk, és a Hungarian Notation társoldalunkon publikáljuk a nemzetközi szoftveres közösségnek.)

Orosz Gergely

Csapatvezető az Ubernél. Korábban a mobil és full stack mérnök a Skyscannernél és JP Morgannél, a Skype-nál pedig az XBox One csapat alapító tagja volt.

Rendszeresen új, inspiráló és érdekes sztorival jelentkezünk a szoftverfejlesztés világából.
Következik: 4 évet dolgoztam a Facebooknál. Ezt a 4 fontos dolgot tanultam itt meg.
Iratkozz fel a hírlevélünkre - és elsőként értesítünk az új szorikról.
A kommenteket a Disqus jeleníti meg