"Stack Overflow: Nem félnek a fejlesztők az AI-tól"

Címkék

Megjelent a legnépszerűbb fejlesztői online közösség éves felmérése, ami a megelőző évhez képest nem mutat túl nagy mozgásokat, inkább az eddig is körvonalazódó trendeket erősíti meg.

Nyilvános a Stack Overflow szokásos éves jelentése, amit 2011 óta minden évben közzétesz a népszerű fejlesztői oldal az online kérdőívre adott fejlesztői válaszok alapján. 2024 májusában több mint 65 ezer fejlesztő adott választ a kérdésekre 185 országból.

[...]

Mostanra már a ChatGPT-t kétszer annyi fejlesztő használja, mint a a GitHub Copilotot: a válaszadók 82,1 százaléka használja, a Copilotot 41,2 százalék, amit követ a Google Gemini (23,9%). A Bing AI az egy évvel korábbi 20 százalékról esett 15,8 százalékra.

A tavalyi 70 százalékról 76 százalékra nőtt az AI-eszközöket munkához használó fejlesztők aránya, a technológia megítélése viszont összességében negatívabb: a válaszadók mindössze 43 százaléka bízik a pontosságukban. A fejlesztők négyötöde továbbra is a produktivitás növelését említi fő előnyként. A tapasztalt fejlesztők 70 százaléka egyébként nem tartja fenyegetőnek a különféle AI-alapú kódgeneráló eszközöket a munkájára nézve.

[...]

Részletek itt.

Hozzászólások

a válaszadók 82,1 százaléka használja [...] a válaszadók mindössze 43 százaléka bízik a pontosságukban

🤔

trey @ gépház

a veszély ott van, hogy a unit tesztekkel védik be a copy-paste huszárok kódjait, amit AI ból adoptáltak ész nélkül. De a unit tesztet is AI -val iratják és aztán ennek kapcsán a refaktort is AI -val végeztetik, a vége pedig az lesz,  hogy full újra kell írni az egészet kézzel. :-)

Hol lehet olyan melohelyet talalni ahova kopipasztazni lehet kodokat?

En barmit fejlesztek olyan igenyekkel talalkozom ami csak kb szor menten hasonlit barmely eddig lefejlesztett dologhoz. Nyilvan jelen vagyok tech forumokon/kovetek jo fejlesztoket es tanulok folyamatosan de olyan, hogy na itt van ez jo kod es bemasolom fasza most sporoltam egy orat/napot whatever meg nem volt az elmult 15 evben. Kb otlet szinten tudom hasznalni a kulonfele megoldasokat max.

Szerkesztve: 2024. 07. 31., sze – 14:23

A tapasztalt fejlesztők 70 százaléka egyébként nem tartja fenyegetőnek a különféle AI-alapú kódgeneráló eszközöket a munkájára nézve.

Mer' amit csinalnak, az egy megbizhatatlan, osszecsapott ize, rengeteg requirement-et figyelmen kivul hagyva.

Ha ilyen egyszeru lenne automatizalni a kodolast, mar reg megtettuk volna egy lib-ben. :)

BTW a leggyakoribb use-case -ekre mar most is olyan durva lib-ek vannak, hogy a fejlesztonek alig kell valamit csinalnia. Swagger legeneralja openapi json-t, ORM mapper+persist-el, mapstruct legeneralja az API<->internal<->DB data model mappereket. Spring adja a monitoring+logging-ot, property mapping-et meg a DI-t. A dev dolga backend-en manapsag mar csak az, hogy az adatmodellt beirja egy data class-okba es az endpoint logikat megirja.

(Amennyire neztem, frontend-ben manapsag szinten hasonlo a helyzet)

Ehhez meg nem kell segitseg. Amit csinal, az egy megbizhatatlan, figyelmetlen junior szintu kod, inkabb hatraltat, mint segit.

Nem feltétlen. Van, amikor egész pofás az, amit kiköp. A probléma inkább van. hogy míg egy juniort meg tudsz tanítani arra, hogy mondjuk Pythonban fájlkezelés esetén használjon context managert (akár meg is szűrheted ez alapján a jelentkezőket), a ChatGPT ha egyszer kitalálta, hogy ő márpedig open és close függvényhívásokkal dolgozik, akkor hiába kéred meg rá, hogy fejezze be, a következő session esetén ugyanúgy nem használ context managert egy adott feladatra. Egyszer utánatúrtam, mi lehet ennek az oka, megtaláltam, honnan tanulta az eredeti kódot (egy középszar github repóból, aminek az alkotója szintén nem értett a Pythonhoz), és az LLM egyszerűen a mintát követi. 

Havi húsz dolcsit megér,  problémát megoldani azonban nem fog, nem is arra lett kitalálva, így mérnököt nem lehet lecserélni rá.

Ha tartós rendszert építesz és okos csapatot nevelsz, akkor száz kiadásban sem érheti baj; ha csak a gépekre hagyatkozol, akkor egyszer jól jársz, máskor rosszul; de ha sem a rendszer nem bírja a terhet, sem a csapat nem tanul a hibákból, akkor minden egyes kiadás kockázat.

Szerkesztve: 2024. 07. 31., sze – 15:01

Ime egy egyszeri maven build script létrehozása ChatGPT 4o modellel. A cél az volt, hogy artifactId -kat felsorolva egymás után space -el elválasztva fordítsa le a modulokat egymás után. Először még .bat -ban kértem, majd írja át inkább Bash Script -re, ha már úgyis megengedett a MINGW64 használata.

Nem túlzás az a 43 % -os bizalom a pontosságban, mert jóformán mindent az arcába kell magyarázni, hogy mit is akarunk pontosan. Ha nem tudjuk, hogy mit akarunk, akkor a AI -val való fejlesztés egy halott dolog. Szóval nem kicsit "munkás", már csak gépelés szempontjából is.

https://chatgpt.com/share/75ed2c58-d5bb-4a9f-ab07-50f991b663a9

Ma 10 percig nézegettem egy SQL query-t és nem láttam mit gépeltem el (IDE nem mutatja). Beraktam az egészet a ChatGpt-nek egyből mutatta.

Olyan, mint egy rendkivul gyors, de autista junior. Sokkal gyorsabban irja a tokeneket, mint ahogy gepelek, es neha meglep, amikor valami nehezebb dolgot is megfejt. Viszont a legbanalisabb hibakat is el tudja kovetni, emiatt mindenkepp at kell nezni barmit generalt.

Miutan a legtobb fejleszto az ido nagy reszeben kodot olvas (sajat korabbi kodjat vagy masoket), igy ebben van a legtobb rutinja, nem okoz gondot atnezni minden jo-e benne. Azt kell szokni, hogy mig egy junior a nehezebb reszeken fog elhasalni, a trivialison nem, itt siman lehet forditva.

Van par olyan dolog, amiben kifejezetten jo: specifikacio alapjan tesztesetek generalasa, Python kodba type hintek es docstring kommentek illesztese. Ezeket jellemzoen nem szokta elrontani.

Ja, es ahogy pl. a magyar es az angol tartalom (es tanuloadat) kozt van par nagysagrend mennyisegben - emiatt angolul jobb valaszokat ad, ehhez hasonloan a programnyelvek kozt is van. Python meg JS generalasban eleg jo, mert sok a tanuloadat, de lehet, hogy COBOLt, vagy valami egzotikus nyelvet nem biznek ra.

A strange game. The only winning move is not to play. How about a nice game of chess?

Az a kérdés, hogy jobb/olcsóbb-e mint egy Z-generációs pályakezdő?

  1. olcsóbb
  2. nem generál rosszabb kódot
  3. nem sipít hogy neki 1,2M legyen a havi fizetése, de valójában nem akar dolgozni
  4. nem megy egy fosással 2 havonta egy hetet táppénzre (sneak peak: erről majd lesz blogbejegyzésem "A táposságról ...." címmel)
  5. stb.

trey @ gépház

Ez nem automatikusan van így. Két előfeltétele van:

  1. Megfelelő kiválasztás 
  2. Megfelelő képzés

Ha tartós rendszert építesz és okos csapatot nevelsz, akkor száz kiadásban sem érheti baj; ha csak a gépekre hagyatkozol, akkor egyszer jól jársz, máskor rosszul; de ha sem a rendszer nem bírja a terhet, sem a csapat nem tanul a hibákból, akkor minden egyes kiadás kockázat.

Szakmailag az övé. Emberileg a többieké. Ha húzza a picsáját a munkától, mint ahogy írtad a 2 hónap munka, majd táppénz példával, akkor az nem szakmai gond. Mindamellett, hogy tisztában vagyok azzal, hogy pár óra alatt képtelenség leszűrni, hogy milyen ember a másik hosszútávon.

mint ahogy írtad a 2 hónap munka, majd táppénz példával, akkor az nem szakmai gond

Nem, ez generációs/nevelési. Ahogy azt többen megénekelték már.

Mindamellett, hogy tisztában vagyok azzal, hogy pár óra alatt képtelenség leszűrni, hogy milyen ember a másik hosszútávon.

20 perc alatt leszűröm, hogy alkalmas-e a _próbaidőre_. Semmi hosszútávú elköteleződést nem kell tenni a felvételnél. Erre való a próbaidő, amelyik mindkét felet védi.

trey @ gépház