• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    KOJAProgramovani 40+
    Diskuze o obzive programovanim pro starsi a pokrocile.
    rozbalit záhlaví
    LUDWIG_
    LUDWIG_ --- ---
    JARDABEREZA: ja si tech biasu jsem vedom. Moje zkusenosti s AI tooly jakozto cloveka, co pozoruje vyvoj od GPT2 (kdy s tim lidi tehdy zkouseli generovat Javascript):
    - Copilot a Copilot Chat: celkem fajn na rutinni kod (doplnovani nebo generovani kostry projektu) nebo u nekterych jazyku / frameworku pomoc (dobry u Reactu apod., nic moc u SwiftUI)
    - code rabbit na code review: nic extra, ale obcas fajn komenty na styl kodu (vic pocitovy/slozity veci, na ktere se linter da tezko nakonfigurovat)
    - Copilot Workspace: asi jsem to blbe pouzival, ale selhalo to i u trivialnich tasku v netrivialni codebase: zkousel jsem treba "prejmenuj vsechny UPPERCASE promenny na namespace::lowecase" v projektu, kde je nekolik propojenych knihoven v ruznych jazycich a trochu slozity build proces; po asi 30-60 minutach pokecu s AI jsem to vzdal… vygenerovalo to PR, prejmenovalo asi 50% tech promennych, ale byla to namaha a dal to neslo. Kdybych to delal rucne, tak to mam tak do 10-15 minut max (kvuli netrivialni codebase to nejde udelat jednorazove v IDE). Junior programatorovi by to trvalo dyl, ale vysvetlovanim stravim 5 minut a muze pracovat nezavisle, nemusim hodinu aktivne vysvetlovat, jak tu zmenu ma provest.
    A to nemluvim o vic komplexnich taskach, kde to bylo naprosto mimo (napr. chybu v kompilatoru okolo typecheckingu to navrhlo opravit v parseru).

    Verim, ze do par let to zvladne solidne resit ty netrivialne trivialni tasky. Pro ty komplexnejsi by byl potreba naprosto jiny pristup a kognitivni prulom, protoze ten soucasny (chain-of-thought + chytre vyhledavani v codebase pro kontext atd.) vypada jako slepa ulicka, co se s vice daty / rychlejsimi procesory kvalitativne nezlepsi (jen to nefunkcni PR nebude trvat vygenerovat nekolik minut, ale treba nekolik sekund).

    Plus ten rozdil, ze ten AI agent si neumi ten kod otestovat, uvazovat nad nim (napr. pustit UI aplikaci a naklikat v ni, ze ta zmena funguje), vyzaduje mnohem vic aktivni a delsi vysvetlovani nez prumerny junior (jelikoz clovek ma dalsi kontext v hlave / z okoli mimo ten task)… proto si myslim, ze to jen tak i juniory kompletne nenahradi.
    ALMAD
    ALMAD --- ---
    JARDABEREZA: Souhlasim ze mezi lidma nadsenejma z Copilotu jsou z moji zkusenosti nadmerne zastoupeny Reactisti.
    FARIN
    FARIN --- ---
    JARDABEREZA: když vís co chceš psát tak je to super a zrychluje to práci. V tohle má junior trochu nevýhodu.
    JARDABEREZA
    JARDABEREZA --- ---
    Já nevím co s tím děláte vy, ale mě mě to na kontrolu vstupních parametrů nebo psaní chybových hlášek funguje dobře. U těch 1-3 řádkových věcí to často doplní stejnou věc, co bych dělal já. Občas i lepší. A když ne... stejně to píšu ručně, tak to dopíšu.

    Zrovna včera jsem si třeba říkal: "To je blbost v tom CLI argumentu přeci musí být mezera, je to typo, dám jí tam". No a nebylo, když jsem jí smazal tak to začalo fungovat :-D

    Na React a Redux mi to přijde dost dobrý... těch patternů je plný GitHub.

    Ale třeba UXP je bída... Adobe k tomu nenapsalo ani pořádnou dokumentaci a fora jsou plná otázek, kde se ptají proč tenhle kod nefunguje, ale správných odpovědí je méně :-D

    A jako někdo, kdo nikdy nedělal s C++ to bylo super. Potřeboval jsem jenom poslepovat pár hotových knihoven dohromady a ušetřilo mi to hodiny/dny času. Např. co kde nastavit ve Visual Studiu atd.
    SATAI
    SATAI --- ---
    JARDABEREZA:

    No zrovna u těch programovacích asistentů to je spíš vývoj od "wow" k "to jsem rád, že za tenhle shit platí fabrika a ne já".
    JARDABEREZA
    JARDABEREZA --- ---
    LUDWIG_: Ono je to strašně zrádné ty odhady. Lidi jsou naučení posuzovat pokrok lineárně. Když dneska postavím jeden metr zdi, tak zítra to jsou dva metry, za týden 7, a za měsíc 30 metrů. Ale v technologiích jde vývoj spíše exponenciálně než lineárně.

    Tři roky zpět jsem generoval první obrázky ve Stable Diffusion 1.0 a ty lidi vypadali většinou jako mutanti a nízký rolišení. Fakt špatný. Pak jsme s smáli, že mají deformované končetiny. Potom prsty a text. A dneska to kolikrát člověk nepozná jestli to je fotka nebo ne.

    To samé pozoruji u videí. 2025 bude pro filmaře hodně zajímavý. To co tenhle týden ukazuje Sora jsem čekal o pár let později.
    LUDWIG_
    LUDWIG_ --- ---
    JARDABEREZA:
    To jsou dve otazky: s tim videem ohledne problemu soucasnych abstrakci v programovani souhlasim. Odkazovany https://dl.acm.org/doi/abs/10.1145/3563836.3568723 je docela zajimavy smer.

    Ohledne toho, jestli AI nahradi programatory: Pred 1-2 lety bych rekl, ze do par let mozna tak juniory. Po tom, co jsem zkousel
    https://githubnext.com/projects/copilot-workspace ,
    mohu rict, ze i junior programatori muzou byt v dohledne dobe v klidu :)
    JANFROG
    JANFROG --- ---
    VOY: Jo jo, ja mam soukromy projekt "copycat" kde mam presne ty ruzne kousky (nekdy i cele tridy) co pak nekam jen pastnu a mam vymalovano :-)
    LUDWIG_
    LUDWIG_ --- ---
    VOY: jj, duplicitni kod nemusi byt nutne zlo; v linux kernelu taky je.
    Pamatuji si, ze byly studie ohledne dopadu duplicitniho kodu jako https://dl.acm.org/doi/10.1155/2012/938296

    Muze se treba stat, ze je duplicitni kod v ruznych castech slozity codebase; za pul roku je potreba zmenit neco v jedne casti a paradoxne muze byt jednodusi zmenit duplicitni kod v jedny casti, nez kdyby se to menilo v abstrahovany spolecny casti, co pak bude muset pokryvat ty budouci zmeny specificke pro nesouvisejici casti systemu.

    Tim neobhajuji duplicitni kod jako takovy; v hodne pripadech je to spis prasarna a usetri cas to sloucit. Jen rikam, ze jsou vyjimky ci je to pripad od pripadu.
    SATAI
    SATAI --- ---
    AMBIENTIUM: a bit of copy paste is sometimes better than a lot of dependency.
    VOY
    VOY --- ---
    AMBIENTIUM: Videl bych tam urcitou miru volnosti. Proste uz tolik neziju nabozenstvim toho, ze zadny blok kodu se nesmi opakovat a vsechno musi byt odabstrahovany. Nekdy se to lip cte kdyz to tam proste inlinujes. To je taky hodnota. Zvlast ted s LLM bude, myslim si, mozny si v tomhle vic dovolit. Your mileage may vary.
    AMBIENTIUM
    AMBIENTIUM --- ---
    VOY: Není spíš smysluplný porušit dry jen v momentě, kdy nechceš, aby ty dva kódy byly závislý na tom společným a byly upravovatelný a rozšiřitelný nezávisle na sobě?
    VOY
    VOY --- ---
    Zaroven si uz taky uplne nemyslim, ze vsechno musi byt DRY. Nekdy je proste lepsi se radeji opakovat nez furt neco zobecnovat a abstrahovat.
    TOOMIX
    TOOMIX --- ---
    VOY: jojo. Ve výsledku to funguje tak, že když je nějaká novinka, napíše se to všem do skupinového chatu, a pak se to dopíše do konvence nebo dá do knowledge base. Když je pak nějaký nováček, dostane konvenci s tím, že když narazí na něco, co by si chtěl doprogramovat k usnadnění práce (helpery atd.), tak ať se kohokoliv zeptá nebo se koukne do knowledge base a nevymýšlí znovu kolo.
    MARASAN
    MARASAN --- ---
    SH_PANDA: muzes prosimte trochu rozvest?
    VOY
    VOY --- ---
    TOOMIX: I to ovsem stoji na to, ze se tam kazdy podiva a vi o tom. To je proste uskali toho, ze mas na neco nejaky vylesteny tridy a helpery, musis mit tym kde je dobra komunikace a vsichni to vedou v patrnosti. Nevim o nastroji nebo metode co by tohle dovedla vynutit.
    TOOMIX
    TOOMIX --- ---
    JARDABEREZA: na tohle máme sepsanou konvenci kde je tohle všechno popsaný (a pravidelně aktualizovaný). Když to je nějaká novinka co tam nestojí dávat, ale i tak život ulehčí, máme to v YouTracku v Knowledge base
    JARDABEREZA
    JARDABEREZA --- ---
    Já si třeba všiml, že na nějaké funkce jsem napsal krásnou třídu co má elegantní metody a kolegové o tom často neví a napíšou si to nějak úplně jinak/hůř a vůbec to nepoužijí. Když jsme v týmu dva/tři, tak si všimneme a řekneme si to... ale kdyby to měl být velký projekt o 20 programátorech, tak nevím... Ale na copilot to hodit nemůžu... dělali to i před ním :-D
    BESH
    BESH --- ---
    SH_PANDA: A btw na detekci opakujiciho se kodu mas automatizovane nastroje, ktere treba mohou bezet v pipeline, jeste nez nekdo code review vubec otevre.
    BESH
    BESH --- ---
    SH_PANDA: No jak myslis. Mne to spis zni tak, ze vam proste proleza spatny kod a hazis to na Copilot. Asi nezbyva nez Copilot zakazat a dobry kod na sebe jiste nenecha dlouho cekat! ¯\_(ツ)_/¯
    SH_PANDA
    SH_PANDA --- ---
    VOY: poznas to tak, ze mas vic delsich useku opakujiciho se kodu ruzne po aplikaci. kdyby si to mel psat rucne, tak to nejspis zreusujes a zrefaktorujes. takhle to copilot dotycnemu zadarmo vygeneruje a ten se na to vykasle.

    BESH: ruzny lidi v code review resi ruzne veci - ja osobne v review resim to
    - jestli kodu rozumim a rozumim intencim autora
    - jestli jsou veci ktere nejsou obvious okomentovane
    - jestli jsou dobre pojmenovane
    tohle opakovani kodu casto neodhalis, kdyz koukas jenom na diffy
    BESH
    BESH --- ---
    SH_PANDA: A zrejme jste teda rok nedelali code review? Tohle je trochu hloupy argument.
    SADY
    SADY --- ---
    JARDABEREZA: ty testy fungovat nebudou imho, to mas jak kdyz si testy pises sam a nebo je dela nekdo jinej (kdo netvoril kod), vime co je lepsi
    Kliknutím sem můžete změnit nastavení reklam