U povodu Dana programera, pitali smo ih zašto (ne)vole Rust, Ruby i Docker

U povodu Dana programera, pitali smo ih zašto (ne)vole Rust, Ruby i Docker

Žele naučiti Rust, Ruby ih više uopće ne zanima, a bez Dockera ne mogu više zamisliti svoj posao. Tako su u anketi Stack Overflowa rekli programeri iz 180 zemalja, a mi smo pitali njih trojicu koji svakodnevno rade s tim tehnologijama da nam kažu zašto.

Dragi programeri, sretan vam vaš dan! Dvjestopedeset šesti dan u godini, odnosno 13. rujna (12. kad je godina prestupna) proglašen je Svjetskim danom programera jer je to 256. dan u godini (što je dva na osmu). Na njihov dan programerima obično damo priliku da oni komentiraju trendove i smjer industrije, što im se u programiranju sviđa, a što ne, koje alate, vole, a koje ne vole…

Kao orijentir i ove godine uzmimamo anketu koju među programerima tradicionalno provodi Stack Overflow. S obzirom na to da da je ovogodišnje istraživanje Stack Overflow Developer Survey ispunilo 73.268 programera iz 180 zemalja, možemo ga smatrati pouzdanim izvorom informacija o programerskim preferencijama. Među ostalim, pitali su ih ne samo koje alate i tehnologije koriste, nego i koje od tih baš vole, koje ne vole ili koje ne koriste, a voljeli bi naučiti.

Među najpopularnijim tehnologijama, odnosno onima koje programeri u svojoj svakodnevici najviše koriste, nema puno iznenađenja – Javascript je najkorišteniji programski jezik (već desetu godinu!), PostgreSQL i MySQL najkorištenije baze, AWS najkorištenija cloud platforma, a od frameworka najviše se koriste Node.js i React.js.

“Rust je moderan i moćan, ali nije za početnike”

Međutim, uvijek je zanimljivije baciti pogled na popis tehnlogija i alata koji su Most Loved, Dreaded and Wanted, odnosno – u čemu je programerima užitak raditi, čega se groze, a što ne koriste, ali bi voljeli naučiti. Pa je tako Rust već sedam godina zaredom omiljeni programski jezik – iako nije među najkorištenijima (samo 8,8% ispitanih profesionalnih developera izjasnilo se da rade u Rustu), čak 87% onih koji ga koriste ga vole. Rust predvodi i ljestvicu jezika koje bi programeri voljeli naučiti – u tijesnoj borbi s Pythonom, Rust je zauzeo prvo mjesto sa 17,6 % u odnosu na Python kojega bi voljelo naučiti 17,59% profesionalnih developera koji rade u nekim drugim jezicima.

Erick Daniel Corona Garcia, inženjer za developersko iskustvo u Infobipu uskoro će na konferenciji Infobip Shift pričati upravo o tome zašto developeri toliko vole Rust:

Rust je moderan jezik koji je puno toga naučio iz ostalih jezika, posebno onih funkcionalnih. Ima lijepu sintaksu koja omogućuje programiranje kompleksnih stvari uz pisanje malo koda. Istovremeno je jezik niske razine koji proizvodi vrlo brze programe, poput programskih jezika C ili C++, ali bez mnogih bugova uobičajenih za njih.

Programiranje u Rustu primorava developere da vrlo dobro razmisle što rade i tako automatski primjenjuju najbolje prakse. Greške se hvataju tijekom programiranja i u vrijeme kompiliranja što dugoročno smanjuje vrijeme provedeno na otklanjanu grešaka i što znači više vremena posvećenog kreiranju, a manje popravljanju.

Erick Daniel dodaje i vrlo dobro napravljene i moderne alate koji okružuju Rust, a koji olakšavaju sve popratne zadatke programera poput testiranja, dokumentiranja, puštanja u produkciju ili upravljanja zavisnostima. Bez obzira na to, nije siguran bi li početnicima preporučio da počnu baš s Rustom jer je, kaže, to kompleksan jezik koji je možda lakše naučiti nakon što ste već dobro ovladali nekim drugim programskim jezikom:

Rekao bih da je bolje prvo naučiti jednostavniji jezik poput Pythona, a zatim se prebaciti na Rust. Rust se može činiti prilično teškim početniku, ali kad se privikneš na njega postaneš puno produktivniji.

Onima koji bi ga voljeli isprobati preporučam besplatnu online knjigu Rust by Example ili da pogledaju Tour of Rust.

Rubyju godinama pada popularnost, ali nije mrtav

Za razliku od Rusta, Ruby je programski jezik kojem iz godine u godinu pada i popularnost i omiljenost – koristi ga 6,27% ispitanih profesionalnih developera, a tek 2,52% onih koji su počeli učiti programiranje. Nije skroz neomiljen, ali nije baš ni omiljen – otprilike pola onih koji programiraju u Rubyju su zadovoljni time, a polovica njih nije.

Martin Morava, inženjer i CEO tvrtke Devot koja je samo u posljednje dvije godine izgradila 60 Ruby developera, kaže da Ruby, suprotno površnom dojmu da nestaje, živi punim plućima i da će još dugo biti s nama.

Martin se s Rubyjem susreo još kao član studentske udruge BEST, u kojoj je član bio i Mislav Marohnić koji je jedan od core contributora frameworka Rails. Nakon studentskih dana profesionalni put je Martina vodio u Irsku gdje je u mnogim brzorastućim startupima radio u Rubyju pa je, logično, to odabrao kao tehnologiju i za vlastitu tvrtku.

Razlog pada popularnosti Rubyja vidi upravo u onome što ga je i proslavilo:

Prvo je to što se Ruby često poistovjećuje s frameworkom Rails. Autor Railsa  je David Heinemeier Hansson (DHH) koji je u zadnje vrijeme pokrenuo razne kontroverzne teme svojim tvitovima i politikama unutar vlastite tvrtke 37signals. Zajednica nije baš odobravala te postupke, zbog čega su neki core contributori Railsa dali ostavke.

Iako će mnogi na prvu reći da je baš to glavni razlog pada popularnosti Railsa, ja se s tim ne slažem i uvjeren sam da je razlog pada popularnosti Rubyja dosta složeniji i zapravo je ekonomske prirode.

“Ruby je ispao jer nije bilo kadra pa su se tvrtke prebacile na druge tehnologije”

A kad kaže ekonomske prirode, Martin opisuje začarani krug u koji je Ruby upao jer je, kao jezik uz pomoć kojega se vrlo brzo mogu izgraditi web aplikacije i isporučivati nove značajke, prije desetak godina bio omiljen među CTO-ovima mladih startupa koji su, pritisnuti zahtjevima ulagača, morali brzo rasti i brzo lansirati i testirati nove feature. Neki od tih malih startupa su propali, ali neki su izrasli u jednoroge i korporacije i odjednom nisu više trebali desetine, nego stotine i tisuće developera. A na fakultetima se nije učio Ruby, nego PHP, Java ili Python pa kadra nije bilo:

Tvrtke koje su donedavno vodili tech ljudi, sad su vodili menadžeri s Wall Streeta koji su rekli “Ne možemo naći ljude koji rade u Rubyju, idemo probati što više stvari raditi u PHP-u ili Javi”, misleći da tako mogu puno lakše i jeftinije pronaći “dobre ljude”.

Tako da su, umjesto razvijanja dugoročne strategije koja bi se trebala temeljiti na suradnji s fakultetima i poticanjem educiranja studenata novim tehnologijama poput RubyonRailsa, oni natjerali svoje tehničke odjele da koriste tehnologije koje se uče na fakultetima i za koje je mnogo lakše pronaći ljude.

Docker: Novi alat bez kojega se ne može biti developer

A kad već spominjemo (ne)popularne tehnologije i alate iz Stack Overflowove ankete, za kraj ne možemo ne spomenuti da je git svrgnut s trona alata koji se smatra “fundamentalnim alatom bez kojega se ne može biti devloper”. Ove godine to je Docker, za kojega je čak 69% profesionalnih developera reklo da ga koristi. Kontejnerizacija je, očito, postala sastavni dio developerskog posla, a Docker je jedan od najzastupljenijih i najpopularnijih alata koji im pomažu u radu s kontejnerima.

Neven Vučinić, DevOps inženjer i suosnivač tvrtke NVTEH, objašnjava zašto:

Jednostavnost pakiranja, lokalno developersko iskustvo, lokalno testiranje, ali i u dev okolini, produkciji ili CI/CD alatima nikad nisu bili lakši i to ponajviše zahvaljujući ideji kontejnerizacije te implementaciji tih ideja kroz Docker.

Dijeljenje aplikacija s ostalim kolegama u timu postalo je jednostavnije: dovoljan je push s vaše strane i pull s kolegine strane unaprijed pripremljenog Docker kontejnera i vaša aplikacija se vrti na koleginom računalu točno onako kako ste i zamislili.

Docker nam konačno omogućuje da ona stara dobra poštapalica “Ali na mom računalu radi!” vrijedi i za vlastito računalo i za produkciju!

S obzirom da je vaš dan, programeri, recite nam koje tehnologije i alate vi koristite, koje od tih su vam omiljene, koje malo manje volite, a koje biste voljeli naučiti? Koji alat je, po vama, onaj bez kojega se ne može biti developer?

Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.

Pravila ponašanja

Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:

  • Ne budite 💩: Nema vrijeđanja, diskriminiranja, ni psovanja (osim ako nije osobni izričaj, ali onda neka psovka bude općenita, a ne usmjerena prema nekome). Također, upoznajte se sa stavkom 2. članka 94. Zakona o elektroničkim medijima prije no što ostavite komentar.
  • Samo kvalitetna rasprava, manje trolanja: Ne morate se ni sa kim slagati, ali budite konstruktivni i doprinesite raspravi! Svako trolanje, flameanje, koliko god "plesalo" na granici, leti van.
  • Imenom i prezimenom, nismo Anonymous 👤: Autor sadržaja stoji iza svog sadržaja, stoga stojite i vi iza svog komentara. Koristimo ime i prezime te pravu email adresu.

Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.

Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.

Komentari

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Mobilne aplikacije

ZET-ov štrajk iznjedrio nova digitalna rješenja za prijevoz po Zagrebu

Zagreb je jutros ostao bez redovitog tramvajskog i autobusnog prometa, no građani su brzo počeli tražiti alternativna rješenja. Uz organiziranje zajedničkih vožnji, pojavilo se i nekoliko digitalnih projekata koji pokušavaju povezati vozače i putnike.

Vodič

Imate pretplatu na AI alate? Evo što računovođe kažu o ispravnom evidentiranju

U novoj kolumni Bruno Cvitanović, direktor računovodstvenog i konzultantskog servisa Brojevi objašnjava kako računovodstveno tretirati AI alate, što vrijedi za poduzetnike izvan sustava PDV-a i na koje pogreške treba paziti.

Programiranje

Tim od šest developera, dva QA-a i jednog Product Ownera postaje prošlost

Florian Krause ima trideset godina iskustva u razvoju softvera, jedan propali startup i čvrsto mišljenje: tim od šest developera, dva QA-a i jednog product ownera postaje prošlost. Na The Geek Gatheringu u Osijeku objasnio je čime se takva postava zamjenjuje.

Što ste propustili

Pametni automobili

Napokon smo se provozali Verneovim robotaksijem!

Nakon što smo u Zagrebu bezuspješno pokušali uhvatiti Verneov robotaksi putem Uberove aplikacije, zvijezde su se posložile i mi smo dobili poziv koji se ne odbija.

Umjetna inteligencija

Tko zbog AI-ja i dalje ulaže u ljude, a tko otpušta 50% radne snage?

Dok neke tvrtke nastavljaju i zapošljavati i ulagati u AI, druge su odabrale samo potonje. Kako različite tvrtke pristupaju promjenama na tržištu, doznali smo na Automation Summitu.

Novost

Gamepires najavio otpuštanja, smanjuje tim koji radi na SCUM-u

Gamepires, koji stoji iza igre SCUM, smanjuje broj zaposlenih zbog zahtjevnih tržišnih uvjeta. Objava dolazi nekoliko mjeseci nakon što je studio preuzeo britanski Splash Damage.

Vodič

Imate pretplatu na AI alate? Evo što računovođe kažu o ispravnom evidentiranju

U novoj kolumni Bruno Cvitanović, direktor računovodstvenog i konzultantskog servisa Brojevi objašnjava kako računovodstveno tretirati AI alate, što vrijedi za poduzetnike izvan sustava PDV-a i na koje pogreške treba paziti.

Veliki intervjui

Ako AI može napraviti film ili igru, što ostaje kreativcima? Odgovara CEO Nanobita

Može li umjetna inteligencija promijeniti način na koji nastaju filmovi i igre, a da pritom ne žrtvujemo kvalitetu priče i kreativnu viziju? Nanobit već testira odgovor na to pitanje, razvijajući AI produkcijske procese koji otvaraju mogućnost stvaranja sadržaja velikom brzinom.

Netokracija Podcast

Dekan FER-a: AI ne može zamijeniti temeljno znanje inženjera

Umjetna inteligencija mijenja način na koji radimo, ali bez temeljnih znanja nema ni kvalitetnih inženjera ni ozbiljnog tehnološkog napretka. U razgovoru s dekanom FER-a otkrivamo zašto je važno ulagati u istraživanje i razvoj, kako povezati fakultete i industriju te gdje se otvaraju nove prilike za Hrvatsku – od robotike i fizičke umjetne inteligencije do razvoja visokotehnoloških proizvoda.