Podobne jsem dopad s Microsoft Copilotem, kdyz jsem po nem chtel aby mi napsal v JS hru HAD bez jedineho meho zasahu do kodu (ani jsem jej necet)... Pozadavky jsem mu psal postupne s popisem jak se ma chovat a prosel jsem od kosticek az po nacitani grafiky (grafiku jsem stahl z internetu) Vzdy jesem chtel kompletni kod programu (postupne vzniko cca 25 fukncnich a 60 nefunkcnich verzi). Kod ma neco kolem 300 radku a poslednich 50 bylo peklo, vetsinou jsem ke konci musel opakovat stejny prompt priblizne 10-15x aby vratil nerozbity vysledek, ale nakonec se povledlo. Cele to hadani s Copilotem zabralo v souctu cca 8 hodin, ale venoval jsem se tomu jen par desitek minut denne. Jeste je tam par bugu, (ale to uz by dalo pravdepodobne mene prace a casu cele pochopit a opravit nez vysvetit AIcku)... https://hnn.cz/had/
To muselo dát práce a přitom taková blbost 😉
upřimě další zbytečnost a ztráta času, zaměřit se na blueprint to bude budoucnost!
Super, tak to se nemusím učit „teorii jazyků a automatů“, když to AI tak zvládá za člověka. :)
Koukám že tak jako webaři píšou každý své cms, tak programátoři píšou každý svůj kompilátor.A kdo říká že ne, dělá to dodnes 😁🤌
Já jsem jako webař nepsal vlastní cms, ale vlastní framework... to je podobná úchylka 😅
Zmatek v dlouhém kódu, ve kterém má umělá inteligence provádět úpravy, je dobře známý problém. V běžné situaci se dělají změny tak, aby AI upravovala pouze určitou část kódu. Tento přístup se nazývá "diff přístup" a většina moderních programovacích systémů (pro Vibe Coding) ho využívá. Znamená to, že umělá inteligence změní a vypíše pouze ty části kódu, které se mají změnit, případně doplnit, a ostatních částí kódu se vůbec netýká.To je jedna věc. Druhá důležitá věc je, že většina moderních programovacích systémů, které jako "engine" používají umělou inteligenci, si vytváří celou škálu pomocných dokumentů. V těchto dokumentech jsou popsány specifikace projektu – určují, které části kódu nebo projektu plní jakou funkci. Při úpravách a změnách se pak aktualizují nejen samotné části kódu, ale také odpovídající části této vývojové dokumentace.Pouze v takto organizovaném prostředí je možné vytvořit kvalitní a dobře fungující projekt. Přístup „všechno máme v jednom nebo ve dvou souborech“ a práce s AI nad celým rozsahem kódu najednou je cestou do horoucího pekla.
Takze misto "dlouhych souboru" budete mit hodne kratkych souboru. Coz je samozrejme "better practice", ale stejne tu logiku, ktera v nich je musite predat vsechnu (at uz pres typ parametru, dobre nazvy fci, atd). Samozrejme pokud nepisete yet another typescript-react aplikaci. Je to blbe skalovatelne z principu.
Každý bit/bajt si zaslúži svoju funkciu 🙂
Tezko komentovat, kdyz tam neni nejaka vetsi ukazka, v clanku.Zatim mi to pripada jako smesice C + pascal a semtam PY. Pro procesory mozna fajn, ale pro beznou praci dost nepouzitelne, kdyz tam musis psat typy promennych a nedokaze si je dopsat sam pri spusteni kodu. Zlaty JS :) Ale, ten zas umoznuje klidne pretypovani. Na druhou stranu, je to spatne vytvorit promenou stejneho nazvu s jinym typem, pokud s ni dal programator pracuje spravne? Nevim, mi tyhle zastarale jazyky prisly vzdy desne krkolomne. I JS ma jeste sve mouchy, treba, kdyz musite pouzit var a definovat promenne. proc se automaticky nepriradi k dane urovni pri prvnim pouziti, soucasti global nebo soucasti funkce? Pokud neni global, tak ji do global netlac, kdyz ji muzes mit ve funkci. Pokud to chce mit uzivatel jinak, napsal by si tam global, jako v PHP, treba.Mne by spis zaujal jazyk, ktery je univerzalni pro vetsinu procesoru bez tech serepeticek jako typy promennych i za ceny ztrat vykonu. Jasne, ze jsou prekladace z C do vetsiny procesoru. Ale, prosne neco univerzalniho, kde se nevyskytuji instrukce, ktere ten procesor nezvladne nebo ma na to ten jazyk knihovnu s nahradnim kodem. Jakoze, vetsinou chcete udelat nejakou miniaplikaci, par tlacitek, ma to neco zobrazit, vypocitat nebo prehrat, interakce s uzivatelem, neco jako kresleni. Vubec k tomu nepotrebuji vylepseni vykonu, ktery dnes procesory nabizeji prevazne pro praci s grafikou. jenze, to se ve vetsine jazycich pise pokazde jinak a strasne slozite
Názor byl 1× upraven, naposled 25. 4. 2025 11:01
V škole sme kompilátor vlastného jazyka mali ako cvičenie. Nie je to nič svetoborné. Malý jazyk nie je problém napísať na kolene. Horšie je, keď sa ten jazyk začne rozrastať, to jednému môže hlava vybuchnúť (aj viacerým).
Vyrobit vlastní jazyk není tak složité, dneska stačí v základu nadefinovat gramatiku a vygenerovat parser. Víc práce je možná nakonec dodat ty knihovny okolo, aby se v tom dalo něco reálně napsat. Pokud člověk nechce řešit každou blbost znovu (třeba čtení/zápis do konzole nebo grafické UI).Třeba assembler je v podstatě taky jednoduchý, je to jenom "pár" instrukcí a z nich se poskládá všechno. Akorát člověk musí vědět, co má plnit za parametry a část toho je delegace někam jinam (třeba volání funkcí OS), to je pak na tom to pracnější na naučení.
A kdyz bych chtel, aby to bylo spustitelne bez systemu - (asi jako kdyz si na arduinu naprogramuju internetove radio) - to by se to muselo jeste zkompilovat do nejakyho bootloaderu, ze ano?
Nevím přesně, jak je to v případě Arduina, ale abyste mohl udělat internetové rádio, potřebujete toho opravdu hodně.Potřebujete například nějak implementovat celý síťový stack - od wifi po UDP, DHCP, DNS... Takže nejen bootloaderu, ale do něčeho tak velkého, že to hravě překoná primitivní operační systémy.U ESP-32 se používá nejčastěji Micropython, což je v podstatě operační systém, který všechny tyhle věci už zajišťuje, a je schopen interpretovat Python. Takže tam už jenom nacpete knihovnu pro dekódování mp3, hlavní skript, a o ty low level věci se postará Micropython.Na Arduino Uno internetové rádio asi neuděláte, protože do těch 8kB RAM to prostě všechno nenacpete. Ale dá se předpokládat, že i tyhle věci LLM časem zvládne dělat. Takže místo toho, abyste musel použít celý Micropython nebo ZephyrOS nebo tak, tak si budete moci vygenerovat celý program na míru i s tím IP stackem a všemi specifiky pro ten konkrétní mikrokontroler. Bude to velké, u internetového rádia třeba stovky kB, a nevýhoda je, že to bude naprosto neudržovatelné. Zatímco u Micropythonu můžete aktualizovat svůj skript, mp3 knihovnu a Micropython zvlášť, tady budete muset řešit všechno najednou. Může to být daleko efektivnější (storage, RAM, CPU čas), ale hardware je dneska za hubičku, a čas programátora je daleko dražší. Takže i tak to zůstane vyhrazeno spíše experimentům nebo extrémním vesmírným výpravám.PS: Tímto zdravím Voyager 1, který takhle od nuly vytvořili, a tuhle zprávu si přečte nejdříve za 24 hodin, protože tak daleko od nás už dneska je.
Názor byl 1× upraven, naposled 25. 4. 2025 09:56
Jj, arduino uno taky jde, zvlast kdyz to chcete mit po kabliku.https://dakohran.cz/2020/01/26/radio/Na pi jsou ruzne bare metal projekty, ale zatim nic ohledne int. Radia. Nojono, libilo by se mi internetove radio na pi, ktere by nabehlo do 5 vterin max...
Ten W5100 má v sobě celé TCP/IP. Podobně ten audio shield má v sobě mp3 dedodér.Na naučení je to určitě dobré, ale v praxi je tam to Arduino tak nějak navíc. Ty dva shieldy by si s trochou štěstí dokázaly poradit i bez něj. Navíc samotný čip W5100 stojí stejně jako celý ESP-32 development board, spíš dokonce víc.Ale takhle máte pravdu. A v takovém případě budete muset ještě teda reimplementovat knihovny na použití těch shieldů, ale věci k Arduinu jsou obvykle open source, tak vám to nějaký LLM přepíše i do vašeho programovacího jazyka.
Aktualne je myslim neco malo pres 23 svetelnych hodin daleko. Drobna Zajimavost - Voyager 2 byl minuly v minulem tydnu 19 hodin, 19 minuta a 19 sekund daleko (svetelnych)
Bobík? Hehe, to byla jedna z přezdívek, které jsem měl ve školce. 😃Náhoda? 😃Jinak je to velmi zajímavé a je na první pohled vidět, že AI se inspirovala jazykem C.
Názor byl 1× upraven, naposled 25. 4. 2025 08:17
Jmenoval se tak i ten pes z reklamy, co skončil na talíři 🙂
😃
Ňam ňam Bobík 🙂. Ale jinak inspirativní článek. Překladač funguje, jen potřebuje humanoidního supervisora pro kontrolu chyb.
Tak holt ta "AI" funguje. Na jednu stranu je neuvěřitelné, co to dokáže a fakt to pomůže, na druhou to občas tvrdí nesmysly, ale velmi přesvědčivě. Takže pokud to člověk neví nebo nezkusí, tak nepozná, že to jsou blbosti. Je to stejné jak když přijmete někoho nového, musíte to po něm kontrolovat alespoň na začátku.
Potvrďte prosím přezdívku, kterou jsme náhodně vygenerovali, nebo si zvolte jinou. Zajistí, že váš profil bude unikátní.
Tato přezdívka je už obsazená, zvolte prosím jinou.