paint-brush
Menere, kies julle wapens! Programmeringstale wat jy (nie?) moet leer niedeur@shcherbanich
244 lesings

Menere, kies julle wapens! Programmeringstale wat jy (nie?) moet leer nie

deur Filipp Shcherbanich7m2024/09/03
Read on Terminal Reader
Read this story w/o Javascript

Te lank; Om te lees

In die vinnig-ontwikkelende wêreld van programmering moet ontwikkelaars besluit of hulle nuwe tale wil aanneem of by bewese tale wil bly. Die artikel bespreek die voor- en nadele van beide benaderings, met die klem op die belangrikheid van praktiese toepassing en loopbaandoelwitte in die maak van hierdie keuse.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Menere, kies julle wapens! Programmeringstale wat jy (nie?) moet leer nie
Filipp Shcherbanich HackerNoon profile picture
0-item
1-item

Soos die ou spreekwoord sê, min dinge in die lewe is erger as om 'n mes na 'n skietgeveg te bring. As 'n ervare ontwikkelaar kan ek jou vertel dat dit ook 100% waar is vir die programmeringswêreld. Jy moet relevant bly in 'n bedryf wat vinniger verander as wat ek hierdie artikel skryf. Jy het ook soveel verskillende take om te doen. So, na jare van oorleef in hierdie omgewing, hou ek altyd my gunsteling speelgoed naby en gelaai. Vir 'n stil en presiese werk is daar my betroubare C++ . As ek 'n groot data-bang wil maak, kies ek R, ietwat uitspattig, maar oortuigend kragtig. Maar as dinge regtig deurmekaar raak, haal ek my JavaScript van die muur af: dit het my in die verlede aan die lewe gehou en dit kan nog meer misbruik neem. Geen taal is goed of sleg vir almal nie. Dit hang af van jou en die werk wat jy moet doen. Kom ons bespreek dus of jy altyd moet tred hou met die mode of by die goeie ou goed moet bly. Hierdie vraag is 'n bietjie moeiliker as wat dit lyk ...

Is elke dag 'n nuwe begin?...

Gegewe die innoverende aard van tegnologie, kan dit heeltemal dom klink om te bespreek of om 'n ander taal aan te leer. Inderdaad, as die wêreld stilgestaan het, sou ons steeds kleitablette en telraams gebruik. Gelukkig lei die begeerte om te innoveer tot voortdurende vooruitgang, wat voortdurende vaardigheidsopgraderings noodsaak. Byvoorbeeld, in die 1960's het kommunikasie met rekenaars behels om gate in papier te slaan en dit in 'n masjien in te voer. Vandag pas rekenaars in ons sakke, en die enigste gate wat ons teëkom is in ons begrotings nadat ons dit gekoop het. Stel jou voor die mees gevorderde ontwikkelaar uit die 60's wat probeer om relevant te bly sonder om hul vaardighede te ontwikkel.


Programmeringstale ontwikkel vinniger as hul skeppers. Nuwe vereistes, idees en gereedskap wat tradisionele benaderings en praktyke radikaal verander, kom teen 'n merkwaardige pas na vore. Spesialiste wat hierdie feit ignoreer, raak net so verouderd soos die tale waaraan hulle vashou. 'n Goeie voorbeeld is COBOL, wat, ondanks die feit dat dit in die 60's gewild was vir besigheidstoepassings, byna verouderd geraak het met tegnologiese vooruitgang.


Nog 'n rede om 'n nuwe programmeertaal aan te leer, is loopbaanvooruitsigte. Om te verstaan dat groter kennis van die nuutste tegnologie hul kanse verhoog om hoogbetaalde werk te kry, bestudeer sommige spesialiste entoesiasties nuwe tale. Hierdie poging is geregverdig: om nuwe tegnologieë te ken, verbreed ongetwyfeld werksgeleenthede. Soms is nuwe tegnologieë nodig, selfs al bly die taal self relevant, maar die maatskappy verander sy tegnologiese stapel. In sulke gevalle moet werknemers óf aanpas óf nuwe werk kry. Tipies kies hulle om die nuwe tegnologie te leer.


Die aanleer van nuwe tale is nie net vir praktiese redes voordelig nie, maar ook vir kreatiwiteit. Dit kan nuwe benaderings tot bekende take bied, die uitbreiding van perspektiewe en potensiaal. Symfony, 'n gewilde PHP-raamwerk, is byvoorbeeld geïnspireer deur die Java-gebaseerde Spring-raamwerk. Baie oopbron-biblioteekontwikkelaars het idees geneem uit biblioteke wat in ander tale geïmplementeer is, en jy kan die volgende innoveerder wees.

…Of is ou egte goud?

Maar kom ons kyk ter wille van die waarheid andersom na al die dinge wat ons in die vorige hoofstuk bespreek het. Weet jy wanneer laas ponskaarte gebruik is? Neem net 'n raaiskoot ... En tensy jy verneuk het deur die antwoord nou te google, sal jou raaiskoot waarskynlik verkeerd wees. Die regte antwoord is 2014. Daardie jaar, die laaste ponskaarte gebruik is deur stemmasjiene in die staat Idaho tydens die algemene verkiesings in die VSA. Of neem COBOL, die taal wat ons net 'n paar paragrawe gelede as verouderd verpletter het. Wel, vanaf 2017, volgens Reuters , 43% van alle bankstelsels was gebaseer op COBOL; 80% van persoonlike transaksies het COBOL gebruik en daar was 220 miljard reëls kode geskryf in COBOL wat steeds in gebruik was. Daar is dus eintlik 'n (nie so fyn) lyn tussen 'n taal se irrelevansie vir moderne sisteme en die veroudering daarvan in die algemeen.


Wat is die kans dat 'n programmeertaal wat jy ken of gaan leer, binnekort verouderd en nutteloos sal raak? Daar is geen werklike antwoord daarop nie, net raaiskote. Sommige skrywers skat die gemiddelde lewensiklus van 'n programmeertaal op enige plek tussen 14 en 18,5 jaar . Ander dit is nader aan 25 jaar vir dominante tale en 5-6 vir meer nis en eksotiese gereedskap. Maar daar is ook nog 'n standpunt noemenswaardig, want dit lyk redelik bewys deur die geskiedenis. Dit is gebaseer op die Lindy-effek, wat die beste beskryf word deur Nassim Nicholas Taleb in sy boek 'Antifragile: Dinge wat baat by wanorde' : “As 'n boek al veertig jaar in druk is, kan ek verwag dat dit nog veertig jaar in druk sal wees. Maar, en dit is die belangrikste verskil, as dit nog 'n dekade oorleef, sal dit na verwagting nog vyftig jaar in druk wees. Dit vertel eenvoudig, as 'n reël, hoekom dinge wat al lank bestaan, nie soos persone "verouder" nie, maar omgekeerd "verouder". Elke jaar wat verbygaan sonder uitsterwing verdubbel die bykomende lewensverwagting. Dit is 'n aanduiding van 'n mate van robuustheid. Die robuustheid van ’n item is eweredig aan sy lewensduur!”


Met ander woorde, tale wat lank genoeg daar is, sal ons waarskynlik nog 'n paar dekades bybly. Inteendeel, daar is 'n kans dat fancy nuwe goed redelik gou verouderd kan raak - maar dit moet nog gesien word. Elke jaar wat 'n taal in aktiewe diens is, dra by tot sy kanse om langer te oorleef.

Dink beroepe eerder as tale

So wat moet ons doen? Leer 'n taal? 'n Nuwe een of 'n ou een? Wel, leer self is altyd goed. Navorsing toon dat byna die helfte van alle ontwikkelaars dit oorweeg om 'n nuwe taal aan te leer. Volgens JetBrains se " Die toestand van ontwikkelaarekosisteem 2023 "-opname, het meer as 40% van die respondente hierdie begeerte uitgespreek. Ontwikkelaars wat met JavaScript (49%), PHP en Python (45%), en C++ (44%) ontwikkelaars werk, toon die meeste belangstelling om iets nuuts te leer. Kies die taal wat jy wil hê om te leer hang eintlik van jou loopbaan af As jy dink aan 'n stabiele werk wat nogal lank kan duur (maar nie vir ewig nie), kan jy kies vir iets oud en bewese Sulke geleenthede kan ontstaan in die wetenskap, vervaardiging en tradisionele banke instellings met langdurige duur masjinerie en/of infrastruktuur wat sterk afhanklik is van erfeniskode.


Byvoorbeeld, die meerderheid COBOL-programmeerders was tussen 45 en 55 jaar oud in 2017. Voeg sewe jaar by wat verloop het sedert die navorsing gepubliseer is en jy sal sien dat baie COBOL-ontwikkelaars hul aftree-ouderdom betree. As COBOL so lank hou as wat dit verwag word, is dit dalk jou kans om 'n seldsame spesialis van hoë waarde te word. Maar hou in gedagte dat so 'n keuse baie diepgaande kennis en onberispelike vaardigheid sal verg. Sou iets skeefloop, kan jou verdere werkskeuse ook baie beperk wees, tensy jy besluit om jou profiel te verander.


As jy die lewendige lewe van beginners of die krag van tegnologiereuse verkies, moet jy iets meer modern en belowend kies. As jy sien wat ander doen, kan jy dalk 'n leidraad gee: kyk byvoorbeeld na die opgedateerde ranglys van programmeertale deur Rooimonnik of TIOBE . Moenie hulle te ernstig opneem nie, aangesien enige denkbare rangorde gebaseer is op 'n mate van vereenvoudiging, maar dit kan jou steeds die groot prentjie gee van wat aangaan. Die genoemde opname deur JetBrains onthul ook watter tale word die meeste geleer. Op hierdie manier leer jy seker 'n taal met 'n toekoms.

Wees altyd prakties

Kennis opgedoen sonder praktiese toepassing raak vinnig verouderd. Daarom is dit nutteloos om 'n nuwe taal te leer net om 'n blokkie af te merk. Oorweeg eerder hoe jy dit in jou huidige werk kan gebruik. As jou maatskappy reeds die tegnologie gebruik, kan dit 'n groot aansporing wees om te leer. Vra eenvoudig jou bestuurder of spanleier om take wat daarmee verband hou aan jou toe te wys, sodat jy jou kennis deur oefening kan verstewig. As jou werk 'n vaste tegnologiestapel gebruik en daar is geen geleentheid om iets nuuts te leer nie, kan jy altyd jou eie syprojek skep om nuwe grense onafhanklik te verken. Maak net seker dat jy nie jou dienskontrak oortree terwyl jy dit doen nie.


Selfs al begin jy net jou pad in ontwikkeling, die strategie bly dieselfde: kies 'n tegnologie wat jy in die werklike lewe kan gebruik (by die werk of in 'n byprojek). Kies 'n taal met 'n blink toekoms, nie een wat die ontwikkelaargemeenskap vermy nie. Aangesien jy net met jou reis begin en nie deur hoë salarisse en verwagtinge as 'n spesialis belas word nie, kan jy maklik en vinnig jou tegnologiestapel verander as die tweede taal wat jy aanleer jou meer aanspreek as die eerste. Jy het groter buigsaamheid in jou keuse, en dit is die moeite werd om voordeel te trek uit hierdie voordeel. Moet dit net nie oordoen nie: te gereelde veranderinge in jou tegnologiestapel en 'n oorweldigende vloei van kennis kan nadelig wees. Vind 'n balans tussen wat jy wil hê en wat jy kan bestuur, en jy sal verseker sukses behaal.


Vir sommige ontwikkelaars, veral dié met baie jare ondervinding, lyk my raad dalk voor die hand liggend. Maar soos die spreekwoord sê, "Herhaling is die moeder van geleerdheid," en niemand het nog ooit die waarheid van hierdie wyse woorde weerlê nie. Ek hoop dat my artikel diegene sal aanmoedig wat lankal wou, maar te lui was om aksie te neem en gretige beginners te motiveer. Ek hoop dat my raad nuttig is en dalk selfs verdere professionele groei inspireer.