Vissza a közösséghez

Hogyan válj poliglott fejlesztővé

Mit is jelent a „poliglott”? Nos, a szótár szerint több nyelv ismeretének képességét! Szóval hogyan leszel „poliglott”? Beszélj Erik Schierboommal, és megkapod a bennfentes információkat!

Nézd meg YouTube-on
HOSSZ 57PERC

Jonathan: Nos, szia mindenkinek, és üdv az Exercism podcastjában, illetve élő adásában. Jonathan vagyok, és megtiszteltetés, hogy ma én lehetek a házigazdátok. Hozzám csatlakozott Eric, aki az Exercism csapatának tagja, és már jó néhány éve részt vesz a munkában. Ha az elmúlt pár évben bármikor megfordultál az Exercism világában, akkor valószínűleg valahol már összefutottál Ericcel. De Eric, fantasztikus, hogy itt vagy a mai műsorban. Izgatottan várom, hogy egy kicsit többet megtudjak a történetedről, arról, hogyan kerültél a tech világába, és hogy mit gondolsz a tech szcéna különböző dolgairól. De mielőtt túl mélyre ásnánk ezekben, szeretném, ha bemutatkoznál, és mesélnél egy kicsit a hátteredről, egy kicsit arról, hogyan jutottál oda, ahol most vagy. Erik: Persze. Igen. Jó itt lenni. Szóval Erik vagyok, ahogy valószínűleg már említetted. Hollandiában élek. Ott születtem, szóval egész életemben itt éltem. Amikor... elkezdtem azon gondolkodni, hogy mikor is csináltam először valamit számítógéppel. Szerintem egy NES konzol lehetett. Marioztam. És az teljesen megfogott. Igen, remek volt. És nagyon idegesítő is, mert a játékok akkoriban kegyetlenek voltak. Jonathan: Nem voltak mentési pontok meg ilyesmi, csak újra nekiestél, elölről. Erik: Hát, az attól függ, hogy az Egyesült Államokban éltél-e vagy a világ többi részén, mert valójában két különböző verzió volt. De igen, szerintem kinyitottad az elülső nyílást, aztán betetted a lemezeket vagy mit, a kazettákat. És ezt nagyon-nagyon szerettem. Nekünk nem volt NES-ünk, de néhány barátomnak igen. Szóval rendszeresen átmentem hozzájuk játszani, és rengeteg remek játék volt, meg idegesítő játékok. De ez egy nagyszerű dolog volt. És aztán ez megfogott. Szerintem így fognak meg sok programozót, hogy programozó akarnak lenni, csak mert játékot akarnak építeni. Gondolkodtam rajta. Amit aztán, spoiler, soha nem csináltam meg. Nem vagyok játékfejlesztő. Oké. Nem, nem, nem. De ez volt az oka annak, hogy megszerettem a számítógépeket. Aztán apámnak volt egy balesete, mielőtt megszülettem. A vállai alatt lebénult. Szóval tolószékben volt. De mindig otthon volt. Ez remek volt. Volt egy apám, aki éjjel-nappal otthon volt. Mindig jó volt hazaérni. És ő is szerette a számítógépeket. Szóval egy ponton ő... szerintem úgy tízéves lehettem, valami ilyesmi. Vett egy igazán nem túl menő számítógépet. Szerintem egy X286 volt. Fekete-fehér volt, és MS-DOS volt telepítve rá. És lehetett játékokat játszani. Szóval rengeteg játék volt, és kaptam néhányat... barátaimtól, akik játékokat szereztek nekem, és ki kellett nyomtatniuk az összes jelszavas lapot, sorrendben, hogy egyáltalán elinduljanak a játékok, mert jelszóvédelem volt. Olyan volt, mint a kézikönyv. Ezzel most nem úsznád meg. De régen meg lehetett. Imádtam ezeket a játékokat játszani, de szerettem azt is, hogy megpróbáltam kitalálni, hogyan is működnek. És tönkretettem a számítógépemet. Nem is emlékszem, hányszor. Szóval volt egy segélyszolgálatom, egy barátom apja, aki nagyon jó volt a számítógépekhez. És valahányszor tönkretettem a rendszert, felhívtam őt, és ő nagyon kegyes volt, átjött, és segített rendbe hozni. De még mindig emlékszem, hogy pánikban voltam, amikor rájöttem, hogy nem tudok kijutni ebből a helyzetből. Szóval... de sokat tanultam belőle. Jonathan: ez a helyzet. De sokat tanultam belőle. Egy flopi lemezen, és emlékszem, évekig spóroltam erre a cuccra, aztán betettem, és egyszerűen soha nem töltődött be azokon a kis flopi lemezeken. Szóval ez volt az egyik hatalmas frusztrációm. Szerintem soha nem jutottam túl azon a ponton, hogy kitaláljam, hogyan javítsam meg. De játékok voltak flopi lemezeken, és kellett hozzá... kaptál egy kis kazettát, amibe betetted őket, feltöltötted, meg ilyesmi. Erik: Soha. Jonathan: Igen. Erik: Igen, néha több flopi lemez is volt. Szóval igen, valójában nagyszerű időszak volt. És imádtam az MS-DOS-t, és hogy kitaláljam, mit tudok csinálni. Aztán rájöttem, mit nem tudok csinálni. Szóval igen, nagyon jó volt. Jonathan: Igen, nagyon jó volt. Akkor ő teljes munkaidőben dolgozott? És apád otthon volt? Erik: Nem, anyám teljes munkaidőben gondoskodott apámról. Szóval sok gondoskodásra volt szüksége. Eleinte a kezeivel tudott mozogni, később az állát tudta használni, mert a kezei kezdtek elgyengülni, szóval kevesebb kontrollja volt. De anyám teljes munkaidőben gondoskodott róla. Szóval a szüleim mindig otthon voltak. Nekem nagyon furcsa volt átmenni másokhoz, ahol a szülők dolgoztak. Szóval a nap végén a szülők még mindig nem voltak otthon. Nekem ez nagyon furcsa volt. De igen, ez csak egy más helyzet. Jonathan: Nekem ez nagyon furcsa volt. Csak te voltál. Erik: Van, van egy nővérem. Három évvel fiatalabb nálam. Senki nem mondaná meg, hogy testvérek vagyunk. Annyira különbözünk. De régen sokat veszekedtem vele, most viszont teljesen jóban vagyunk. Szóval jól végződött. Oké. És ő nem szerette a számítógépeket, szóval nem foglalta el a gép előtti időmet. Jonathan: De gyakran veszekedtünk a számítógépen. Ő Sims-et akart játszani, én meg SimCity-t, meg ilyesmit. Szóval ebből a szempontból mindig egymásnak estünk. Erik: Szia. Egyértelműen sokkal jobb a SimCity választás. De nem, ő soha nem érdeklődött igazán a számítógépek iránt. Csak akkor tudtam felkelteni az érdeklődését, amikor volt egy SNES-em, a Super Nintendo, és volt Mario Kart. És szerette a Mario Kartot, szóval rengeteget játszottunk együtt. Persze mindig én nyertem, mert sokkal több gyakorlatom volt, de ő akkor is szerette. Jonathan: Szóval még mindig szeretsz szórakozni? Igen, MS-DOS, ha nem tévedek, elég alacsony szintű dolog. Igen. Szóval ez valószínűleg elég alacsony szintű volt. Igen, abszolút. És hány éves voltál, amikor ezzel a rendszerrel szórakoztál? Erik: Oké. Elég alacsony szintű, igen. Abszolút alacsony szintű. Igen, úgy tízéves lehettem. Aztán volt egy barátom, aki a focicsapatomban volt, az én futballcsapatomban, tulajdonképpen. De ő már jó programozó volt, és tényleg tudott játékokat kódolni. Visual Basicben csinálta. És én teljesen le voltam döbbenve. Átjött a számítógépemhez, és megmutatta, hogy gépel valamit, és én semmit nem értettem belőle. De fél óra múlva volt valamije, ami mozgott a képernyőn, és ez számomra teljesen varázslatos volt. Lenyűgözve voltam. De valójában akkor még sosem próbáltam programozni. Még mindig úgy éreztem, túl nehéz ahhoz, hogy egyáltalán megpróbáljam. Szóval nem csináltam. Csak szórakoztam, és játékokkal játszottam. Jonathan: Szóval én... csak belevágok. Erik: Aztán amikor egy kicsit idősebb lettem. Jonathan: Hogyan jött létre a kapcsolat aközött, hogy ó, én tudok játékot programozni, és ezt csinálhatom valami komolyan, ha van értelme, vagy tudom ezt komolyabban folytatni? Erik: Igen, az később jött. Szóval amikor úgy... szerintem tizenhét éves voltam, akkor kellett kiválasztanom, hogy melyik utat válasszam, tulajdonképpen. Szóval két lehetőség volt a fejemben. Az egyik a történelem tanulása volt, a másik az informatika. Végül elég egyszerű választás volt, mert úgy éreztem, az informatika az valami, amit egy kicsit jobban szeretnék csinálni, mint csak történelmet. A történelemben lehetnek nagyon unalmas részek, és nem gondoltam, hogy a számítástechnikában lennének unalmas részek, de persze vannak. Szóval tévedtem. Igen, igen. Nem, hát arról beszélhetünk máskor. De igen, vannak unalmas részek. De akkor meghoztam a döntést. És abban az időben volt, amikor minden virágzott. A dotcom-boom ideje volt. Amikor a középiskolámat látogattuk, az iskolát, ahova jártam... ami egy alkalmazott tudományok egyeteme volt. Szóval választhattam az alkalmazott tudományok egyeteme és az egyetem között. De én az alkalmazott tudományokat szerettem, mert építeni akarok dolgokat. Nem vagyok nagy teoretikus. Nem tudom, hogy mondják, de nem vagyok jó az elméletben. Szóval szeretek dolgokat építeni. Nagyon gyakorlatias vagyok. Szóval a gyakorlati résszel kezdtem. És nagyon szerettem. És ez az az időszak volt, amikor ezek a cégek rengeteg pénzt kerestek. És azt mondták, hé, ha lediplomázol, kapsz autót, kapsz ezt, kapsz azt. Aztán amikor lediplomáztam, jött a dotcom-bust. Minden romokban volt, és valójában elég nehéz volt munkát találni. És akkor úgy éreztem, talán meg kéne próbálni az egyetemet, mert az alkalmazott tudományok része nagyon szórakoztató volt. És ott tanultam meg igazából programozni. De azt gondoltam, hát, talán egy kicsit elhalasztom a munkás karrieremet, és megnézem, hogy tudom-e csinálni az egyetemet. Szóval jó volt. Jonathan: Szóval az európai oktatási rendszerben, amennyire értem, elég gyorsan beválasztanak praktikus, készségalapú vagy egyetemi, esetleg inkább akadémiai pályára. Ez igaz Hollandiában is? Elég jók abban, hogy azt mondják, hé, te tényleg erre vagy alkalmas? Tudom, hogy Svájcban, ami nekem a viszonyítási alapom, ha nagyon jó vagy, azt mondhatják, oké, menj és csinálj tanoncképzést, és így szerezz szakképzettséget. És ez valójában ugyanolyan, nem tekintik kevesebbnek vagy többnek, mint az egyetemet, vagy ilyesmi. Ez csak jobban illik a preferenciáidhoz abban az értelemben. Ez igaz Hollandiában is? És volt ilyen folyamat, amin felnőve végig kellett menni? Erik: Nem mondanám, hogy egyenrangúnak tekintik. Még mindig él az a gondolat, hogy jobb, nehezebb vagy legalábbis tekintélyesebb az egyetemre járni, mint az alkalmazott tudományok egyetemére. Más diplomát is kapsz. De nekem ez nem igazán tetszett. Túl elméleti volt. Meg akartam tanulni programozni, mert még mindig nem tanultam meg programozni. Tudtam, hogy valószínűleg szeretni fogom. Láttam már részleteket HTML-ből, de még sosem írtam egy sor kódot sem. De elég biztos voltam benne, hogy nagyon szeretni fogom. Amikor elkezdtem, az első évben tulajdonképpen egyetlen sor kódot sem írtam. Csak sodródtam egy csoportban néhány évfolyamtársammal, mert az egyikük valójában fantasztikus programozó volt, aki mindent tudott. Ő csinált mindent, szóval nem is volt esélyem sok mindent csinálni. De a második évben tudatos döntést hoztam: ez így nem fog menni. Soha nem fogok megtanulni programozni. Szóval teljes erővel belevetettem magam, és programoztam, amennyit csak bírtam. Az egy mélymerülés volt. C-vel kezdtem, ami szörnyű nyelv kezdésnek. Nem fejtem ki, mit gondolok a C-ről mint nyelvről, de kezdésnek nagyon nehéz nyelv. Szóval egy láncolt listát csinálni talán a második vagy harmadik leckében, azt biztos nem értékelnéd diákként, ha nincs semmilyen háttered. De sikerült programoznom, és annyira megszerettem, hogy elkezdtem a szabadidőmben is sokat programozni. Szóval szinte magamtól tanultam meg programozni, mert ahogy tanították, az nagyon-nagyon rossz volt. Azzal, hogy kitaláltam valamit, amit magam is szívesen használnék, és aztán megépítettem, vagy legalább megpróbáltam megépíteni, mert eleinte csak csapkodsz összevissza, és nem igazán jutsz sokra. Az valójában hasznos. De a végén csak gyakorlás, gyakorlás, gyakorlás. Rájöttem, hogy a programozás egy olyan készség, amit csak csinálva sajátítasz el. Szóval megszerezhetsz minden elméletet, amit csak akarsz, és megnézhetsz, nem tudom, tízmillió videót. De ha nem fekteted bele az időt, szerintem soha nem leszel jó programozó. Egyszerűen csinálni kell. És az egy nagy lépés. Még mindig emlékszem, hogy képes voltam kódot olvasni, és elég elégedett voltam ezzel. De aztán kódot írni, az egy akkora nagy lépés volt. Jonathan: elégedett voltam ezzel, és kódot írni, az egy akkora nagy lépés volt. Az utolsó néhány adásban azt kérdeztem, hogy mikor kattant be az embereknek a programozás, és volt-e olyan pillanat, amikor leesett a tantusz, és azt mondtad, te jó ég, ennek az egésznek van értelme. Vagy csak csapkodtál összevissza, próbáltad megragadni az elméletet, vagy volt egy pillanat, amikor azt mondtad, oké, nem, ez egyszerű? Erik: Szerintem nem volt egyetlen eureka-pillanatom. Szerintem több is volt. Szakaszosan jön. Azt hiszem, az első igazi program, amit írtam, az volt, amikor ki kellett találni egy szót. Mint... mi is a most nagyon népszerű játék, ahol... Hát, olyan, mint az akasztófa, de mondjuk legyen akasztófa. De C-ben volt, és tényleg működésre bírtam, szóval tudtam játszani a saját játékommal. Szóval valamennyire megértettem, mi történik, aztán egy kicsit tovább haladsz. Volt valami, ami szerintem a mutexekkel kapcsolatos. Szóval vonatok voltak, és nem ütközhettek. Mutexet lehetett használni, amikor keresztezik egymást. A mutex lényegében olyan, mint egy tábla, amin az áll, hogy stop vagy go. Szóval az nagyon szórakoztató volt. Elég elégedett voltam vele. Szóval odaadtam a professzoromnak. És ő azt mondta: de mi van, ha mondjuk négy vonatot akarok? És én: ó, ó, ó, azta. Erre nem gondoltam. Szóval ez egy szemfelnyitó élmény volt, és csak egyetlen egyszerű mondat volt. És azt gondoltam, ó, számításba kellett volna vennem, hogy lehet, hogy ilyet fog kérdezni. Szóval eltöltöttem a hétvégét azzal, hogy paraméterezzem a kódomat, hogy több vonat is lehessen, és sikerült. Beleturkáltam. Nem volt szép, de működött. Szóval ez egy újabb pillanat volt, amikor azt gondoltam, ó, ez nagyon-nagyon menő. És meg tudom csinálni az ilyesfajta dolgokat. Jonathan: Menő. Látom, hogy meg tudod csinálni az ilyesfajta dolgokat. Szóval abból, hogy ismerlek, tudom ezt. És abból is, hogy meg kellett tanulnod kódolni, van ez a folyamat, amikor csak leírsz valamit, működésre bírod, aztán finomítod. Ez volt a te tapasztalatod is? Olyan volt, hogy csak írd le, bírd működésre, kit érdekel minden más? Aztán finomítod. Erik: Igen, igen, szerintem az első évben vagy úgy körülbelül csak az volt a lényeg, hogy ha fut, akkor nagyon-nagyon boldog voltam. Nem létezett olyasmi, hogy esztétika meg ilyesmi. Csak az, hogy ha fut, az jó. És teljesen túlzásba vittem a kódom kommentelését, mert a professzorom azt mondta, kommentelni kell a kódot. És a kód és a kommentek aránya talán egy a tízhez volt, valami ilyesmi, hatalmas. És... igen, a legrégebbi projektem még mindig online van, amit feltettem, az volt az első nyílt forráskódú projektem. Emlékszel az MSN messengerre, ahol üzenetet lehetett küldeni? Jonathan: Oké, ez ismerősen hangzik, de nem... Erik: Emlékszel a Winampra? Jonathan: Igen. Erik: Igen, szóval a Winamp egy médialejátszó volt. Az a Napster-korszak volt. Letöltötted az MP3-at, aztán a Winampon játszottad le. Szóval azt akartam csinálni, hogy ha zenét játszottam, akkor automatikusan hozzáfűződjön a nevemhez az MSN Messengeren. És akkoriban eléggé rajongtam a Windows-programozásért. Az a Win32 volt. Nagyon régimódi, nem olyan, mint ami most van, de nagyon alacsony szintű, és nagyon menő dolgok is. Szóval írtam egy plugint C++-ban, ami akkoriban a kedvenc nyelvem volt, de akkor is csak három nyelvet ismertem, szóval ez nem sokat jelentett. De írtam egy plugint. Ha a Winamp játszott, akkor megkapta a nevet a szuper Win32 API-kon keresztül, és frissítette az MSN ablakban lévő nevet. Így mindenki láthatta, mit játszom. És feltettem ezt online, mert azt gondoltam, másoknak is tetszhet. Szerintem a SourceForge-on volt, amit mára már senki nem használ, mert szerintem volt valami adatvédelmi problémájuk, vagy ilyesmi. De valójában mások is használták a világban, és teljesen el voltam képedve. Láttam a letöltéseket, nem tudom, néhány száz letöltést, és emberek használták a szoftveremet, amit írtam. Az volt életem legjobb érzése. És ez volt az első nyílt forráskódú programom. Soha nem éltem át imposztor-szindrómát. Úgy éreztem, ez az én kódom. Ha valaki rossznak tartja, az is rendben van. Működik, szóval elégedett voltam vele. És tanulhatok mások hozzászólásaiból. Soha nem voltam az imposztor-szindróma híve, ami az engem ismerőket nem lepné meg. Jonathan: Engem sem lepne meg. Ami az egyetemi professzoraid és tanáraid tapasztalatát illeti, voltak olyan konkrét tanárok, akik kiemelkedtek, és a tanítási módjuk felgyorsította a tanulásodat, vagy hatalmas hatással volt arra, ahogy a programozást megértetted? És mit tettek konkrétan, ami segített áthidalni az elmélet és a gyakorlati megvalósítás közti szakadékot? Ez elég nagy kérdés. Annyi részre bonthatod, amennyire csak akarod. Igen, igen. Erik: Igen, igen. Igen, szóval szét kell választanom az alkalmazott tudományok egyeteme és az egyetem között. Először az utóbbiról szólva, az egyetemen szerintem a tanításhoz szükséges készségek általános színvonala nagyon-nagyon alacsony volt. Nagyon alacsony volt a mérce. És az volt az érzésem, hogy az egyetemen tanítók közül sokan azért tanítanak, mert kell, nem azért, mert akarnak. Az egyetemen az ember sokszor kutatni szeretne, de van egy meghatározott óraszám, amit tanítással kell töltenie. Máskülönben... hát, ez a munka része, de nem igazán szerették. Szóval miután megtanultam programozni, jobban meg akartam tanulni. Felvettem a programozási specializációt ott, de az annyira rossz volt. Szinte dühös voltam, hogy ez a programozási tudás színvonala, amit át akartak adni, annyira rossz, hogy végül biztonságtechnikára váltottam. És nem igazán érdekel a biztonságtechnika, de a programozós dolog annyira rossz volt. Mindig azt mondom az egyetemi pályafutásomról, hogy az egyetlen dolog, amit igazán megtanultam, az az volt, hogyan kell rendesen cikkeket írni, hogyan kell rendes forráskutatást végezni, hogy ismerd a forrásaidat, és ne fogadj el akármilyen forrást. Ezt megtanultam azokban az években, de a programozásról semmit sem tanultam. Jonathan: Most ez nagyon a történelemhez is kapcsolódik, hogy hogyan faggatsz ki egy forrást, hogyan biztosítod, hogy az érvelésed összeálljon, meg ilyesmi. Hogyan nyilvánultak meg a történelem iránti készségek és az élvezet... Erik: ...nagyon. Jonathan: Hogyan nyilvánultak meg a kódolásodban és a kódolás tanulásában, ha egyáltalán? Mik voltak az átfedések? Erik: Ez nehéz kérdés. Hát, mindkettő sok olvasással jár. A történelem az olvasásról szól. De a programozás is a kód olvasásáról szól. Szóval ahányszor kódot írsz, az sokkal kevesebb, mint ahányszor kódot olvasol. Szóval ez is eléggé olyan, mint az olvasás. Olyan lehet, mint a régészeknek lenni, ha új munkád van, és ezzel az ősi legacy rendszerrel kezdesz, amiben meg kell találnod az utadat. Olyan érzés, mintha a zugokba és résekbe kukkantanál, és megnéznéd, mi rejtőzik ott. És néha holttestek is előkerülnek a szekrényből, meg ilyesmi. Szóval egy kicsit felfedezésnek tűnik. Úgy értem... mit élveztél ebben? Nem tudom, van-e bármi más... egyáltalán mi volt az élvezet? Jonathan: Köszönöm. Hol volt számodra az élvezet az iparban? Erik: Leginkább... hát, a történetek, amiket a tanáraim meséltek. Kalózokról meséltek, hogy kötéllel húzták őket a hajó alatt, és nagyon grafikusan mesélték, meg ilyesmi. Szeretem az ilyesmit. Nagyon szeretem. És imádom a rómaiakat meg a kultúrájukat, hogyan terjedtek szét, és aztán a politikát is. Szóval a hátbaszúrásokat, meg ilyesmit. Nagyon szeretem. Középiskolában latinom is volt. A latint egyáltalán nem szerettem, de nagyon szerettem a történeteket, amiket... szóval nem szerettem, hogy latint kellett tanulnom, de a történeteket, amiket le kellett fordítanunk, azokat szerettem. De két év után le is adtam. Jonathan: Azokat szerettem. Nem, azért kérdeztem, a történelem kapcsán... Erik: Igen, ismerem a történetet. Jonathan: Láttam jó néhány embert, aki a művészetek vagy a társadalomtudományok felől... hogy is mondjuk? Talán a bölcsész kategóriába esik az angol rendszerben, mint a művészetek és a történelem. De egyre több embert látok, aki élvezte azt a területet, és átváltott a programozás tanulására. És azért érdekel, mert nyilvánvalóan van átfedés, és ezt egy kicsit feltérképezni nagyon érdekes része volt a különböző emberekkel folytatott beszélgetéseimnek. És úgy tűnik, hogy ha van egy nagy képed, és több területen átívelő megközelítésed a különböző dolgokhoz, amiket tanulsz, akkor azt a programozásba bevinni hatalmas előny, mert különböző készségeket tudsz alkalmazni a programozás területén. És szerintem ez... csak ehhez szólnék hozzá. Szóval érdekes, hogy szeretted a történelmet, és most... mi is, több mint 30 különböző programozási nyelvben van tapasztalatod, és sokukat karbantartod. Hát, nem feltétlenül karbantartod, de erősen részt veszel mindegyik kezelésében az Exercism-ön, ami a te... Hát, igen, igen. Igen, vágj bele. Erik: Mennyi a tiéd? Visszatérhetek egy kicsit arra, amit az imént mondtál? Szóval említetted, hogy sokféle ember, különböző érdeklődésűek programoznak. De az egyik oka annak, hogy szerintem ez így van, az az, hogy a programozás vonzza a nagyon technikás gondolkodású embereket is, mert hát vannak szigorú szabályok, a nyelvek nagyon kötöttek. Van nyelvtan, van szintaxis. Mindez olyan dolgok összessége, ami azokat vonzza, akik szeretik, ha a dolgok egy bizonyos módon vannak. Például, ha fizikus vagy, szereted a szabályokat, a törvényeket, meg ilyesmit. És van ilyesmi a programozásban is, de közben olyan is, mint egy művészet. Néha az emberek egy könyv írásához hasonlítják, és szerintem még mindig... Ez valószínűleg az egyik legjobb példa. Nem szeretem a házépítős dolgot, mert senki... nem épülne fel ház, ha úgy építenénk a szoftvereinket, ahogy a házat szoktuk. De tényleg egyszerre tudomány és művészet, úgy érzem. Szóval Jeremy nemrég említette ezt a mélyebb dolgokban, hogy egy nagyon egyszerű feladatra is emberek százával találnak különböző megoldásokat, pedig azt gondolnád, hé, erre csak egy megoldás lehet. De mindig többféle út van. És ezt szeretem a programozásban, hogy lehet valami, ami működik, de aztán felfedezhetsz, nem tudom, húsz más lehetőséget, és írhatsz, és látod, hé, ez is működik. Ez a művészet és a tudomány kombinációja, amit nagyon szeretek, mert szerintem ez az egyetlen mód, ahogy igazán kreatív lehetek. Egyáltalán nem vagyok kreatív ember. Van bal és jobb kezem, de megmondanád... nem mondanád meg, ha valami ház körüli dolgot csinálnék, házimunkát vagy asztalosmunkát vagy ilyesmit. Nem vagyok jó benne, ami részben azért is van, mert apám nem igazán tudott megtanítani. Ez nagyon érdekes. Jonathan: De közben engem sem érdekelt igazán. Én művészetet tanultam az iskolában. Zenéltem, gitároztam, meg ilyesmi. Szóval nekem a kreativitás kerete mindig a rajzolásban vagy a zenében volt, meg ilyesmiben. És soha nem gondoltam igazán a kód kreatív oldalára. És most, hogy említed, hogyan működik ez nálad? Mondjuk, játszol valamilyen hangszeren? Tudom, hogy szereted a zenét, de csak megpróbálom összekötni ezt a kettőt. Erik: Hát, ööö... Igen, igen. Igen, szóval megpróbáltam megtanulni gitározni. Nagyon nehéz volt a feleségemnek, mert egy diákos lakásban laktunk, talán húsz négyzetméteren. Szóval próbáltam megtanulni gitározni, és annyira közel voltunk egymáshoz. Még mindig csodálom, hogy kibírta. De nekem nincs... Jonathan: Csak... Erik: Nincs semmilyen veleszületett tehetségem hangszerhez. Nagyon-nagyon-nagyon keményen kellett dolgoznom, hogy egy bizonyos szintre eljussak, ami még mindig nagyon alacsony volt. Templókat meg ilyesmit tudtam, azt elég jól. De egy ponton a gitártanárom megkért, hogy improvizáljak, majd hogy szólózzak, és teljesen elvesztem. Az életem árán sem tudtam megcsinálni. Egyszerűen nincs bennem zenei kreativitás. Jonathan: Egyszerűen nincs bennem zenei kreativitás. És a kódolás? Veled ellentétben... Amikor a kódoláshoz jössz... mondjuk kapsz egy feladatot Jeremy-től vagy egy funkciókérést az Exercism-ön, és arról van szó, hogy X-et, Y-t vagy Z-t fogunk csinálni. Ez tényleg felpezsdít mentálisan, és úgy érzed, hű, oké, menjünk, fedezzük fel ezt, és élvezed a folyamatot? Ez az, amiben egy értelemben életre kelsz? Erik: Veled ellentétben. Oké. Igen, igen. Szóval az van, hogy az a program, hogy van egy ötleted, és valódivá teszed, olyan vagy, mint... szinte mint egy miniatűr isten, igen, ahol a semmiből indulsz, van egy ötleted, és aztán lesz valami. És ez annyira varázslatos. És még mindig nagyon-nagyon izgatott leszek, amikor van egy szkriptem. És ott van az a rengeteg szöveg, sorról sorra, és látod, ahogy csinál valamit. És olyan jó látni, hogy a számítógép dolgozik neked az alapján, amit mondtál, hogy csináljon. Még mindig szeretem. Szóval a kreativitás oldala mindenképp benne van abban is, hogy felfedezd, milyen úton próbálsz megépíteni valamit. És amikor megépítetted, valószínűleg hallottál a refaktorálási ciklusról, amikor van valamid, ami működik, aztán elkezded iterálni, és megnézni, hogy jobbá tudod-e tenni. És abszolút imádom a refaktorálást. Ott van az egyik könyv... hol is van? Ó, nem látom, mert messze van a kamerától. De a Refactoring, Martin Fowlertől. És ez az egyik legjobb élményem a szoftverről való olvasásban. Szóval imádom a refaktorálást. Ez a folyamat, hogy van valamid, ami működik, de még jobbá vagy szebbé, gyorsabbá teheted, bármi is a kritériumod. És ezért is szerettem nagyon az Exercism-öt, mert pont erre épül: megoldod a teszteket, aztán van egy tesztkörnyezeted, és azt csinálsz a kódoddal, amit akarsz. És amíg zöld, addig működik. Szóval... Jonathan: Ezt nagyon szeretem. Szóval visszaviszem különböző idővonalakra. Most végeztél az egyetemmel, megtanultál kódolni, igazán azt mondtad, rendben, elkötelezem magam a tanulás folyamata mellett, mélyre ások ebben. Szóval mi történt akkortól kezdve, hogy tényleg elköteleződtél, aztán valószínűleg elkezdtél a karrierre gondolni, ami mindig nagy része az egyetemi létnek: mi leszek életem hátralévő részében? Hogyan alakult ez? Hogyan gondolkodtál erről? Mi nyílt meg előtted? Erik: Persze. Valójában soha nem gondoltam a karrieremre. Szerintem soha nem tettem ilyet életemben. Az egyetlen dolog, ami igazán számít, hogy valami olyat csináljak, amit szeretek. És hogy közel legyen hozzám, hogy ne kelljen sokat vezetnem. Nem szeretek sokat vezetni. De nem, valójában soha nem gondoltam a karrieremre. És hihetetlenül szerencsés is voltam. Tulajdonképpen soha nem kellett munkára jelentkeznem, legfeljebb egyszer-kétszer. Mindig voltak barátaim vagy emberek, akik ismertek. Ugyanez az Exercism-nél. Jeremy ismert, és nem kellett jelentkeznem, végigmennem nem tudom, négy-öt különböző interjúszakaszon, mint neked. Talán még többön is, egyébként. De... nem, nem, tudom. De nekem nem volt. Szóval ugyanez volt, amikor munkát kerestem. Mindig dolgoztam az iskola mellett, amikor tanultam, még középiskolás koromban is, mindig próbáltam egy kis pénzt keresni, mert a szüleimnek nem volt sok pénze. Szóval meg kellett keresnem a saját részem. De szeretek dolgozni. És szerintem talán húsz órát dolgoztam programozói munkában, amíg az egyetemre jártam, mert olyan kevés időt kellett ténylegesen az egyetemen töltenünk, hogy elég sok pénzt tudtam keresni, és vettem ezt a hatalmas DVD-gyűjteményt belőle. Jonathan: Ne menjünk bele. Erik: Ne menjünk bele. Igen, bocsánat, valójában a nagy részét elajándékoztam, és megtartottam azokat, amikhez nagyon-nagyon kedves emlékek fűznek, de a nagy részét elajándékoztam. Volt olyan pont, amikor 400-500 DVD-m volt. Jonathan: 400-500 DVD valamikor. Ó, az jó móka. Erik: Közel járt hozzá. Közel járt hozzá. Igen. De szóval, amíg az egyetemen voltam, egy barátom, ugyanaz, aki programozó volt régen, amikor vagy tízéves voltam, valami ilyesmi. Ő velem járt egyetemre. És dolgozott valahol, és megkérdezte: hé, nem akarsz csatlakozni ehhez a céghez, hogy egy kis plusz pénzt keress? Szóval csatlakoztam. És aztán ott is maradtam, tulajdonképpen amikor végeztem az egyetemmel, megkérdezték, hogy nem akarok-e PhD-t csinálni. De... de ezt úgy értelmeztem, hogy... hát, találtál valami érdekeset a PhD-dben, ami egyébként tiszta szerencse volt, megcsináltam a munkát, de szerencse volt. Szóval ezt úgy értelmeztem, hogy szeretnénk, ha a nevünk rákerülne valamire, amit majd írsz, hogy legyen egy publikációnk. Szóval nem voltam benne. És nem akartam négy év elméleti dolgot csinálni. És az egész akadémiai világ nem igazán vonzott. Sokkal kényelmesebben éreztem magam, ha csak gyakorlati dolgokat csináltam egy cégen belül. Szóval ott is maradtam, ahol dolgoztam. PHP-t csináltam, és remek csapatunk volt. Szerintem, talán a mostani csapatunkat kivéve, soha nem dolgoztam ilyen sokszínű és nagyon rátermett csapatban. De a menedzsment vezetett minket, és az annyira rossz volt. Nagyon elégedetlen tech környezet volt ott. Egyszerűen nem volt jó, de még mindig nagyon jól éreztem magam. De a PHP nem a kedvenc nyelvem. Szóval vágytam a C sharpra. C sharp-rajongó voltam attól kezdve, hogy még C sharp 1.0 volt. Szóval akkoriban elég nyers volt a szélein. Könyveket rendeltem Amerikából, és kellett fizetnem valami extra adót, és a végén elég drága volt, de még mindig nagyon-nagyon sokat használtam azt a könyvet. És azt mondtam, hogy C sharpot akarok dolgozni. Szóval nemcsak mellékesen. És jelentkeztem. Valójában az egyetemre is, de az nem kutatás meg ilyesmi volt. Inkább az, hogy támogatás... több szeretet az egyetem különböző részei iránt. És vagy hét évig C sharpot csináltam. Jonathan: És vagy hét évig csináltam C sharpot. Meséld el azt a történetet. Mert önkéntesként vagy közreműködőként kezdted, igaz? És aztán szépen felépítettél belőle valamit. Erik: Igen. Igen, szóval amíg az egyetemen dolgoztam, nagyon engedékenyek voltak abban, hogy tanulhass dolgokat, vagy konferenciákra járhass, meg ilyesmi. Szóval egy ponton hallottam valamiről, amit funkcionális programozásnak hívnak. És azt gondoltam, hé, erről nem tudok semmit. Tudtam, hogy tanítottak egy választható leckét az egyetemen, de valójában nem csináltam vele semmit. És azt gondoltam, talán meg kéne tanulnom a funkcionális programozást, talán szórakoztató lesz. És egy másik kollégám is csatlakozni akart. Szóval csináltunk egy ingyenes kurzust, egy Scala-kurzust a Courserán, most fizetni kell érte, ha csinálod, de régen nem kellett. És Martin Odersky tanította, aki a Scala szerzője, ami egy funkcionális nyelv, ami az Exercism-ön is megvan. És nagyon jól szórakoztam a funkcionális programozás tanulásán, ami néha elég komoly szellemi kihívás is volt, mert nagyon más gondolkodásmód. De valahogy kitartottam, és nagyon megszerettem. És volt ez a fórum, ahol más diákokkal beszélgethettél, például olyan feladatokról, amiket nem tudtál megoldani. De néhányan azt kérdezték, milyen anyagot használhatok, ha többet akarok megtudni a Scaláról? És valaki azt mondta, hé, próbáld ki az Exercism-öt, van ez a csodálatos dolog, ahol rengeteg különböző kis feladatot csinálhatsz, mint kis rejtvényeket. És azt gondoltam, hé, ez jól hangzik. Szóval csatlakoztam, és megcsináltam a Scala-kurzust. És tényleg sokat tanultam. És ez volt az, hogy belemerítettem a lábujjamat a funkcionális programozás világába. Szóval azt gondoltam, talán csinálok egy mélymerülést. És mentem a Haskellre. És az akkoriban egy igazi mélymerülés volt számomra. De sok volt benne az Exercism V1. Szóval csak kommentálták a kódodat, nem volt formális mentorálási rendszer meg ilyesmi. De a Haskell-esek teljesen fantasztikusak voltak. Szóval gyakorlatilag tőlük tanultam meg a Haskellt. Sokat gugliztam, és találtam néhány igazán furcsa megoldást, csináltam néhány furcsa megoldást, de ők mindig próbáltak valami idiomatikus és szép Haskell felé terelni. És ez olyan remek élmény volt, hogy azt gondoltam, hé, talán nekem is ezt kéne csinálnom másokkal. Talán én is tudok segíteni. Mindig szerettem segíteni. Szóval azt gondoltam, csinálom a C sharpot, és csak kommentálom mások C sharp kódját. Ezt szeretem. És aztán láttam, hogy hé, a C sharp kurzusnak van, nem tudom, 40 feladata, a Haskellnek meg több. Miért van ez? Szóval megpróbáltam kitalálni, miért. És hé, pull requesteket lehetett beküldeni az Exercism-nek, és új feladatokat hozzáadni. És ez volt az, ami megfogott. És aztán minden egyes hétvégén csak csináltam a feladatokat, hozzáadtam őket. És amikor végeztem a C sharppal, azt gondoltam, hé, F sharp, csináljunk F sharpot. Az F sharp funkcionális. És a Microsoft ökoszisztémájában van. Szóval mindkettőt szeretem. Kombináljuk a kedvenc dolgaimat. És csináltam az F sharpot, ugyanazt csináltam. Szóval F sharp karbantartó voltam, feladatokat építettem, és nagyon-nagyon szerettem. Jonathan: Nagyon-nagyon szerettem. Van egy nyelved, azt mondod, oké, megpróbálom a Scalát. Valamennyire beleástam magam, aztán egy mélymerülést csináltál benne. Az az idő, ami alatt egy-egy nyelvet megértettél, csökkent idővel? Mert most már jó néhány van belőlük. Úgy értem, hogyan alakult ez? Erik: Igen, igen. Hát, ez ugyanúgy működik, mint a természetes nyelveknél. Ha megtanulsz franciául, és jól tudsz franciául, akkor a spanyolt sokkal könnyebb felvenni, mert sok a közös tudás, például közös szókincs, szinte nyelvjárások. Ugyanez van a számítógépes programozásnál. Ha tudsz C-t, és C++-ra váltasz, sok új fogalom van, de sok minden pontosan ugyanaz. Az egész C-szerű család, ami szintén az egyik dolog, amit szeretek a programozásban, hogy vannak mintegy családfák. Van egy Lisp-ág, van egy ML-ág, van egy C-szerű ág. És ez szinte olyan, mint a történelem, ahol van ez a genealógia egy családfában, vagy valami ilyesmi. Túl hangosan mondtam. Igen, az a Haskell vagy a Prolog. De szeretem ezeket a kilógókat is, mert egyedi ötleteik vannak. Általában ilyet akarok kipróbálni. Szóval keress egy nyelvet, ami valamit másképp csinál, még akkor is, ha minden programozási nyelv sok azonos tudást oszt meg. Mindegyikben van Boolean logika, és a Boolean logika egyszerűen adott. Szóval mindenhol ugyanúgy működik. Lehet, hogy két és-jelet kell használnod, vagy az and szót, vagy ilyesmit, de az alapok ugyanazok. Szóval ha egyszer megvannak ezek az alapok, jól ismered őket, és könnyebben alkalmazod más nyelvekre. Jonathan: Ez szinte olyan, mint a történelem, ahol van ez a genealógia egy családfában, vagy valami ilyesmi... könnyebben megtanulsz nyelveket. Megtanulsz kódolni, és figyelembe veszed a saját tapasztalatodat. Mik azok a viselkedésformák és dolgok, amiket az emberek tesznek azért, hogy megtanuljanak kódolni? És biztos vagyok benne, hogy sokféle területen van átfedés. Említetted, hogy elkötelezted magad, mélyre ástál, és addig küzdöttél vele, amíg meg nem értetted. Van-e bármilyen más viselkedés vagy dolog, amit azok tesznek, akiknél láttad, hogy igen, olyan helyzetbe hozzák magukat, hogy tanuljanak? Igen, igazán jól. Erik: Ööö, szóval én mindig próbáltam arra bátorítani az embereket, hogy építsenek valamit, amit szívesen megépítenének. Szóval amikor a PHP-t tanultam, építettem valamit, ami számon tartotta az IMDB top 250 filmjei közül azokat, amiket láttam. Szóval sok filmet néztem, és mindegyiket ellenőrizni akartam, és rengeteg PHP-t és MySQL-t tanultam belőle, csak azáltal, hogy építettem valamit, amit meg akartam építeni. Mert akkor átjutsz a holtponton... ha falba ütközöl, nem akarsz megállni, hanem folytatni akarsz, meg akarod javítani, működésre akarod bírni. És ezt a tippet több embernek is megadtam, akik elkezdtek programozni tanulni, és jól működött nekik. És manapság annyira más, mint amikor én tanultam a Stack Overflow-val meg ilyesmivel. És olyan sok tudás van, amit online megtalálhatsz. Nehéz is megtalálni a megfelelő forrásokat. És szerintem itt ragyoghat igazán az Exercism, mert mi lehetünk mintegy kapuőrök... vannak a közösségünkben emberek, akik tudják, melyek a megfelelő források. És ez az egyik dolog, amivel látom, hogy az új emberek küzdenek. És az is, hogy... szinte soha nem kapsz olyan forrásokat, ahol tényleg a nulláról kezdesz. Az Exercism közönsége általában már ismer legalább egy nyelvet. Aztán tovább lépsz más nyelvekre, vagy mélyebbre ásol abban a nyelvben. De ez nem azoknak szól, akiknek nincs semmilyen programozási hátterük. Szóval nem tudod, mi az a for ciklus. Nem tudod, mik azok a változók. A string valami teljesen más a fejedben. Igen, mindig furcsán néznek rám, ha a feleségem látja, hogy stringekről beszélek. Ez itt Hollandiában más dolog. Jonathan: Igen. Megkockáztatok néhány általánosítást. Az elmúlt néhány évben valószínűleg igaz, hogy egyre több ember lett tudatában a kódolásnak és a programozásnak. Régen valószínűleg kevesebben tudtak eligazodni ebben a térben. Nyilvánvalóan, ahogy ez az iparág nő és nő, elég gyors tempóban, nyilván sok a vélemény, és az emberek még mindig keresik a helyüket bizonyos dolgokban és témákban. Ez az egész „a domb, amin meghalnál” koncepció lényegében arról szól, hogy milyen véleményt képviselsz, amiért tényleg harcolnál vagy megvédened, persze egészséges módon. De mi az az egy dolog, amit megvédenél, és amit... leszögeznéd, hogy erről a pontról nem mozdulok, és meg kell védened? Mi lenne az? Oké. Erik: Sok ilyen véleményem van, de szerintem az, amit itt kifejtenék, az az, hogy több nyelvet kéne tanulnod, mint amennyit ismersz. Szóval próbálj ki új nyelveket, amiket nem ismersz, és próbálj ki olyan nyelveket, amik nagyon különböznek attól, amit már tudsz. Ez nagyon könnyű. Például, ha tudsz C sharpot, maradj csak a C sharpnál, az rendben van. De ha sikerül időt és akaratot találnod valami másra, például F sharpra, vagy nem tudom, próbáld ki a Kotlint, csinálj valami mást, és nézd meg, mik a különbségek. Sokkal jobb programozó leszel. Száz százalékig biztos vagyok benne, hogy az, hogy megtanultam F sharpot, jobb C sharp programozóvá tett, pedig különböző nyelvek, és különböző filozófiáik vannak. De manapság olyan sok az átfedés a nyelvek között. Amikor a nyelvek még elég fiatalok voltak, például a Lisp semmiben sem hasonlít a C-re. Szóval a funkcionális nyelvek nagyon különböztek az imperatív nyelvektől. De a modern nyelvek, mint a C sharp, a Java, a Kotlin, a Rust például. Ezek is merítenek más nyelvekből, de a funkcionális nyelvekből is. Szóval amikor az egyetemen voltam, mindig az volt a poén, hogy a funkcionális programozás remek, de senki nem csinálja. De ez már nem igaz. Szóval hiába nem dolgozol funkcionális nyelvben, a funkcionális nyelvek mindenhol ott vannak. A JavaScriptben sok funkcionális fogalom van. A C sharpban van fejlett mintaillesztés, van LINQ, van egy csomó funkcionális dolog. És amit látsz, hogy a nyelvek mindenhonnan átvesznek fogalmakat. Szóval már nem olyan egyértelmű, hogy melyik nyelv funkcionális és melyik csak imperatív. Ez most inkább egy keverék. De továbbra is azt gondolom, hogy sok nyereség van abban, ha elkezdesz egy új nyelvet tanulni. Néhányan azt mondták, tanulj évente egy új nyelvet. Megpróbálom ezt csinálni. El tudom képzelni, hogy ez idegesítő lesz az embereknek, és túlterheltnek érzik majd magukat. De legalább egy másik nyelvet próbálj ki, és próbálj olyat, ami kicsit kívül esik a komfortzónádon. És ígérem, tanulsz dolgokat, sokat fogsz tanulni, és általában jobb programozó leszel. És abban a nyelvben is, amivel már dolgozol. Jonathan: És abban is, amivel már dolgozol. Nyilvánvalóan az emberek új nyelveket alkotnak egy konkrét igény kielégítésére. És azt mondod, hogy az imperatív és a funkcionális mintegy a kettő egy kicsit összeolvad. Látsz-e olyan helyzetet, amikor a nyelvek eltűnnek, és csak néhány alapprogramozási nyelv marad? Vagy ez naiv? Erik: Nem, nem, szerintem az emberek túlságosan elfogultak ehhez. Szóval mindig lesznek új nyelvek. Minden egyes nap lesznek új nyelvek, ami rendben van. De lesznek fák, amiket megráznak. A népszerűek végül valószínűleg megmaradnak. Szóval nem látom, hogy a Java vagy a C sharp hamarosan eltűnne. De például a C és a C++ mindig is hatalmas nyelvek voltak. De most látjuk a Rustot, ami egy új megközelítés ugyanazon problémák kezelésére, de nagyobb biztonsággal. Beépített biztonsággal. És egy fantasztikus nyelv, amiről valójában többet kéne tanulnom. De érdekes látni, hogy a Rust most lassan ugyanabba az irányba tör be, az emberek kezdik használni a C vagy C++ helyett, ami szerintem személy szerint nagyon jó dolog. De például a Linuxban most már Rustban írhatod a drivereket. Szóval látszik... mindig C++ lesz. De most támogatják, hogy Rustban írj drivereket. Szóval ez elég nagy lépés volt. Szóval szerintem továbbra is lesznek nyelvek, mert nem lehet olyan nyelvet csinálni, ami minden egyes célra megfelel. Ez is az egyik oka annak, hogy szerintem több nyelvet kéne tanulnod, mert a különböző helyzetek különböző nyelveket kívánnak. Szóval megpróbálhatod... és ez olyan, mint... hogy is mondják? A kalapácsot fűrészként használni. Nem tudom, mi a kifejezés. Jonathan: A kifejezés? Olyan, hogy oké, szükséged van egy fűrészre, de csak egy kalapácsod van. Mit fogsz csinálni? Oké. Erik: Igen, igen, valami ilyesmi. Ez egy új... szerintem ez szöggel és kalapáccsal van, valami ilyesmi, de nem vagyok jó az angol közmondásokban, de nem fárasztalak a holland változattal. De lényegében, ha csak C sharpot ismersz, akkor talán kísértésbe esel, hogy mindenre C sharpot használj, de lehetnek jobb nyelvek rendszerprogramozáshoz vagy nem tudom, AI-hoz, mint a C sharp, és hiába meg tudod csinálni C sharpban, ez nem jelenti azt, hogy kell is. Szóval ha több nyelvet ismersz, valószínűleg jobb döntést tudsz hozni, ami jobban illik ahhoz a területhez, amiben dolgozol. Jonathan: Oké, szóval ez szórakoztató és szép. Ami az Exercism közösségét illeti, milyen ajánlást adnál az Exercism közösségének erre a hétre, amit határozottan javasolnál, hogy próbáljanak ki, és bármi lehet, tudod, menj sétálni. Próbálj egy kézállást. Nem tudom. Ő... oké, és lehet több is, ha akarod, kaphatsz... már tudom, mit fogok mondani. Szóval lehet három ajánlásod. Erik: Szóval szórakoztató és hasznos. Már tudom, mit fogok mondani. Oké. Oké, az, ami eszembe jut, hogy nézzétek meg az Áss mélyebbre fület, amink most van. Szóval elkezdtük... hozzáadtuk az új Áss mélyebbre funkciót, ahol... miután megoldottál egy feladatot, vagy legalábbis iteráltál rajta, láthatod a megközelítéseket, vagyis a különböző módokat, ahogyan egy feladat megoldható. És lényegében így tanult mindenki az Exercism V1-ben, a hozzáadott kommentekkel együtt, hogy mások kódját nézte, és látta, hogyan oldották meg. Szóval így tanultam meg sok mindent a Haskellből, a saját mentális kommentjeimen kívül. Csak láttam, ó, így is meg lehet csinálni. És aztán kipróbáltad magad, és azt mondtad, hé, ó, ez tényleg elegáns, és több dolgot tudok vele csinálni, és aztán ezt más feladatokra is alkalmaztad. Szóval hogy megtalálod ezeket a különböző megoldási módokat, az szinte visszavezet a programozás művészetéhez, ahhoz, hogyan oldhatsz meg dolgokat különböző módokon. Szóval ott vannak ezek a különböző megközelítések. Írtam cikkeket és megközelítéseket a string megfordításáról. Ez az egyik alapvető állásinterjú-kérdés az IT-interjúkon. Hogyan fordítod meg a stringet? C sharpban van néhány különböző idiomatikus mód, de ezek különbözőek, és különböző teljesítményjellemzőik vannak, és az egyik nagyon a teljesítményre megy, de kevésbé olvasható. Szóval szeretem, hogy a weboldalon, miután megoldottad egy bizonyos módon, azt mondhatod, hé, más módok is vannak. És ezek annak az előnyei, ha így csinálod. És ezek a kompromisszumok. És ez az... nemcsak hogy láthatod a különböző megközelítést, hanem megpróbálunk írni egy bevezető dokumentumot is, ami segít választani közöttük. Szóval az IT-ban mindig vannak kompromisszumok. Soha nincs olyan megoldás, szinte soha, ami egyszerűen a legjobb. Szóval mindig írhatsz dolgokat másképp. Szóval gyakran... igen. A legolvashatóbb megoldás nem mindig a legjobban teljesítő. Szóval segítünk a kompromisszumok meghozatalában, a kompromisszumok megértésében és a különböző megközelítések közötti választásban. Ezt is megpróbáljuk csinálni az Áss mélyebbre füllel. És most a szabadidőmben írom ezeket. Annyira jól szórakozom, hogy leírom ezt az információt, és megosztom az emberekkel. Szóval igazán bátorítanám az embereket, hogy próbálják ki, akár írjanak is ilyet, akár csak olvassák a megközelítéseket. Tudom, hogy nem minden egyes feladatnál vannak. Csak egy hete kezdtük ezt a funkciót. Szóval meglehetősen korlátozott lesz néhány C sharp feladatra, de nagyban ki fogjuk bővíteni. És elfogadunk közösségi PR-eket az ilyesmihez. És szívesen segítek megírni, és átvinni a célvonalon, és megoszthatod a nyelveddel kapcsolatos tudásodat. Szóval szerintem ez az egyik dolog, amit az emberek mindig szeretnek. Ha szeretnek egy nyelvet, szeretnék, ha mások is szeretnék. Szóval a megközelítések nagyon szép módja annak, hogy megmutasd, mire képes a nyelved. Menj, nézd meg. Igen. Jonathan: Menj, nézd meg. Van még más is erre a hétre? Erik: Ööö, azzal a kockázattal, hogy nagyon Exercism-elméjű embernek tűnök, igazán szeretem az Exercism fórumot. Szóval az egyik dolog, amit a karrierem során felfedeztem, hogy nagyon nehéz olyan tech-gondolkodású emberek közösségét találni, ami szinte biztonságos tér, ahol megbeszélhetsz dolgokat anélkül, hogy mások hülyének éreztetnének, vagy vitába keverednének, vagy harcosan viselkednének. Szóval nagyon szeretem, ahogy a fórummal megpróbáljuk ezt egy nagyon biztonságos és vidám hellyé tenni az embereknek, de olyan hellyé is, ahol nagyon jó programozókkal találkozhatsz. Olyan emberekkel, akik nagyon képzettek, és remek meglátásaik vannak a nyelveikről vagy a programozás területéről. És igazán élvezem olvasni, amit mások írtak. Van egy szál arról, hogy melyek a kedvenc programozási könyveid. És már fel is tettem néhány könyvet a rövid listámra, mert egyszerűen... Igen, nem futsz bele minden egyes könyvbe. De mások elolvasták őket. Használhatod a tömeg bölcsességét. Lényegében... Jonathan: ...másoké... aztán használhatjuk a tömeg bölcsességét, lényegében. Azt a szálat, és biztos vagyok benne, hogy lesz benne néhány igazi kincs, amit ki tudunk bányászni belőle. De úgy értem, tudod, ez tényleg menő, Eric. Szerintem, ha van még egy ajánlásod, szívesen látjuk, de egyébként kezdjük szépen összegezni a dolgokat. De bármilyen további gondolat vagy hozzászólás... igen, folytassuk a megosztást. Erik: mhm Ja, das kommt in das Video. Nem, nem igazán. Próbáltam egy harmadikat találni. Jonathan: És én igazán... mindig próbálok egy harmadikat találni. Ebben az esetben túl sok. De Eric, nagyon köszönöm ezt az időt. Nagyon jó volt hallani a történetedet, hallani, hogyan váltott át mindez a tech világába. Kifejezetten élveztem hallani egy kicsit a történelemről, és talán érdemes lehet elgondolkodnod rajta, és egy kicsit bővebben megosztanod, hogyan fedi egymást a történelem, a kódolás és mindez, valamikor. De nagyon köszönöm. Fantasztikus, hogy a csapatban vagy, és sokat tanultam tőled, és ezután is fogok. Nagy elismerés neked, mert átlépted a 100 000 reputációs pontot az Exercism weboldalán. Tudom, azt fogod mondani, hogy azért csináltad, mert csaltál, de ez akkor is... mi csak egy figyelemre méltó eredménynek tekintjük. Szóval nagyon köszönöm. És igen, ha ezt hallgatod, és nem találkoztál az Exercism-mel, nézd meg az Exercism-öt, és biztos vagyok benne, hogy valahol összefutsz Ericcel abban a térben. De Eric, köszönöm. Igazán értékelem. És leállítom a felvételt, és utána össze tudunk beszélni, de köszönöm az idődet. És remélem, annyira élvezted, amennyire én. Ez remek volt. Erik: Nem bánom, megteszem. Fantasztikus. Én is élveztem. Én is. Nagyon köszönöm.

További történetek a közösségünkből

Hallgass, tanulj és meríts ihletet a közösségünk tagjaitól.