• ú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í
    JANFROG
    JANFROG --- ---
    Ja jsem narazil na (pro me) zajimavy fenomen. Pred par mesici me kamarad (byvaly a ted uz zase soucasny kolega) abych mu vysvetlil jednu implemetacni techniku na praci garbage-collectovanymi referencemi ve (unmanaged) VM kodu. V zasade neco jako std::unique_ptr akorat jsou vsechny propojene do linked-listu nebo tak aby se to dalo snadno posbirat kdyz clovek pocita root set.

    Predesilam, ze kamarad fakt neni blbej, programovat umi, a jako VM vyvojare ho respektuji a chodim si k nemu pro nazor kdyz jsem na pochybach nebo v koncich. A jak je take nadsenec do LLM tak hned ze to hodi do ChatGPT (nebo neco podobneho), ze takovou trivku nebude psat sam.

    A hned mi to poslal jako ze to je "dobrej zacatek, ne uplne 100% ale doladi se par radku tady a tam", velke nadseni.

    Ja se na to podival a i kdyz jsem do toho brejlil chvili, prislo mi to dost mimo a ze bude jednodussi to napsat z nuly nez se to snazit opravit - asi nikoho neprekvapi, ze ja jsem spis LLM-skeptik.

    Takze mozna ta kvalita kodu zavisi i na tom, jak moc clovek chce, nebo naopak nechce, aby AI byla dobra :-)
    SEJDA
    SEJDA --- ---
    SULTHAN: ano, udelali jsme copilotu metodu @BeforeEach (JTest) aby nakonec zustala prazdna a ve 20 @Test se opakovalo prvnich 5 radku systematicky :))
    SEJDA
    SEJDA --- ---
    KEJML: ano, taky uz mam par zkusenosti s vymyslenymi funkcemi, anebo s volanim API ktere ma 20 debilnich parametru ve stylu C, aby mi ChatGPT napsal, ze staci predat 4 krasne managovane objekty .. ne ne.
    Ale taky synteza 2 trid, tak aby vytvoril treti ani po zvetseni zadani na 500 slov nepomohla a stale halucinoval ve 3 odpovedich dokola.
    SULTHAN
    SULTHAN --- ---
    Měl jsem v prosinci hodně nevybrané dovolené, takže až dnes jsem bohužel viděl FE testy v typescriptu, který v prosinci pomocí copilotu napsali kluci, kteří normálně píšou BE v kotlinu.

    Děsivá stylistika kódu, špatně použité funkce - třeba array.filter(...)[0] místo array.find(...), duplicitní kód, typ "Any", takže to neházelo typové chyby, skrytý čínský znak ve stringu atd atd.

    Kromě toho napsané způsobem, že je to neudržovatelné.
    KEJML
    KEJML --- ---
    SEJDA: Já nevím, nějaký jednoduchý mechanický věci (často) Copilot zvládne, automaticky doplnit, ale jakmile si ho občas zkusim na něco netriviálního zeptat v chatu, tak příliš často halucinuje, výmýšlí si syntaxi, která by byla logická, ale neexistuje, nebo mi doporučuje použít neexistující knihovny.

    Píšu Kotlin v IntelliJ, pro kontext.
    SEJDA
    SEJDA --- ---
    Mam uz s ChatGPT 3 otevrene konverzace pro 5 programovycich jazku.
    Copilota ve Visual Studio Code i IntelliJ.
    A pomalicku si zacinam zvykat, na programovani tabulatorem.

    Msakrozni je synteza, kterou copilot dosahuje z textu zkopirovaneho z ChatGPT kdy namisto Ctrl+V proste jenom zmacknete .. tabulator.

    Upravit potom 3 radky, tak aby byl zdrojak zajimavejsi/stihlejsi/efektivnejsi, je uz potom o hodne vetsi zabava.

    Az je mi lito mladych programatoru, kteri travi hodiny ve snaze porozumnet, co jim ChatGPT odpovedela, ziskat k tomu background a potom se hodiny pokuset "opravit" svuj preklep ve zdrojaku napsanem copilotem.
    JANFROG
    JANFROG --- ---
    KLEINZACH: Pokud jsou to jen funkce a berou/vraci zakladni typy, da se to udelat IMO celkem bezbolestne s par sablonama.
    KLEINZACH
    KLEINZACH --- ---
    MICRO: vicemene na hrani si. momentalne davam do kupy starsi window manager (open source) a hodi se mi to komandovat skriptem z cmdline (z AutoHotkey) jako
    if (clickedOnDesktop() and !clickedOnDesktopIcon())
        ToggleDesktopMenu();
    

    ale zase kdyz se to osvedci, tak bych u toho uz rad zustal u dalsich... hracicek.

    v minimu potrebuju bindovat radove 10ky-100ky fci, data jeste nevim: dokazu si to predstavit i bez nich (aka vsechno je C funkce).
    JANFROG
    JANFROG --- ---
    KLEINZACH: Ja mam zkusenosti jen s embedovanym Pythonem, jako MICRO. Je to trosku opruz, ale existuje https://github.com/pybind/pybind11. To pouziva co vim gem5. Pripadne si muzes neco podobneho udelat sam na miru, akorat to chce byt kreativni s `template ...`.
    MICRO
    MICRO --- ---
    KLEINZACH: Mohl bys prosím ještě doplnit:

    * Co ta aplikace zhruba dělá? (V některých oborech existují de facto standardní skriptovací jazyky.)
    * Potřebuješ bindovat několik ad hoc funkcí, nebo chceš mít přístup k celému datovému modelu?
    * Jak moc otevřený systém to má být?

    Má osobní zkušenost je pouze s embedded pythonem (konkrétně CPython). Rozchodit to byl ze začátku vopruz, ale pak – díky naší interní reflexi nad datovými strukturami – to fungovalo krásně.
    PETER_PAN
    PETER_PAN --- ---
    OXYMORON: Vyber si nejaky OS/free projekt co se v urcite chvily zvrtnul a sel spatnym smerem, nebo ho nekdo komercne zaobalil a free varianta je vykastrovana, nebo nejde normalne pouzit. Nebo projekt kde neco takoveho hrozi nebo je spatne/pomalu vyvijeny. A zaroven to ma potencial pouzivat hodne lidi, tedy tva prace bude mit dopad.
    KLEINZACH
    KLEINZACH --- ---
    kdyz uz je tu ten survey of languages:
    hodilo by se mi prosimvas doporuceni/zkusenosti s 'embedded scripting language' (pro c++). jestli nekdo koukate s detma na Phinease a Ferba, tak jsem jak Baljeet, co se nedokaze rozhodnout a potreboval bych se naklonovat a realizovat vsechny moznosti :)

    co od toho chci - samozrejme chci ekvivalent idealniho plynu nebo suchy vody...
    - pohodlnost - zejmena ty bindy. cim min toho musim delat, tim lip
    - jednoduchost, zadny zaludnosti
    - rozumna syntax: BFU friendly

    kolem ceho krouzim:
    - lua ( potazmo sol2 ) ... to jdu asi zkusit ted
    - chaiscript ( explicitne zamysleno pro c++ )
    - jeden extrem: pico c
    - druhej extrem: pouzit c#... nebo mozna powershell?

    co jsem zkousel:
    - angelscript. nevypada to ze mi to usetri praci pri bindovani a rozhodne to neni trivialni.
    - s7 (malej scheme interpretr) - funguje, pouzival jsem doted, ale psani bindu je otrava
    - c#/c++ interop (pres pinvoke, clr/cli je dost krehky a snadno se rozbije) jsem delal v praci a asi je to pouzitelny

    zajimavy projekty:
    - cling - interpretovany c++, ale to uz je fakt jak jit s atomovkou na brabce. nicmene... ale zase: kazdy ma rad atomovky, ne?

    --
    GitHub - dbohdan/embedded-scripting-languages: A list of embedded scripting languages
    https://github.com/dbohdan/embedded-scripting-languages
    https://caiorss.github.io/C-Cpp-Notes/embedded_scripting_languages.html
    QWWERTY
    QWWERTY --- ---
    MARASAN: lol a ja myslel, ze ten mail je jenom cilene smecko pro nalakani uzivatele zpatky, protoze mi vcera skoncil copilot trial, ktery jsem neprodlouzil :))
    MARASAN
    MARASAN --- ---
    a jeste jestli nekdo kopilotujete - funguje free i ve VSCodium?

    Announcing a free GitHub Copilot for VS Code
    https://code.visualstudio.com/blogs/2024/12/18/free-github-copilot
    SPIKE411
    SPIKE411 --- ---
    MARASAN: C++ pobavilo. :)
    MARASAN
    MARASAN --- ---
    Wiki - SurveyOfSystemLanguages2024
    https://wiki.alopex.li/SurveyOfSystemLanguages2024
    LUDWIG_
    LUDWIG_ --- ---
    OXYMORON: v kratkosti "delej to, co te bavi".
    Nektere lidi bavi na programovani intelektualni vyzva, nektere uceni se novym vecem, jine uspokujuje dotahnuti veci do konce nebo kdyz vysledek jejich prace ma nejaky vyssi smysl (uzitek pro spolecnost atp.).

    Podle toho a casovych/financnich moznosti bych si vybral tu programatorskou cinnost (napr. jestli a jakou hru delat ci jestli neco s HW ci neziskovy projekt).

    Pokud je to treba jen ta cinnost samotna / intelektualni vyzva, volba muze byt si zahrat "programovaci" hry typu Factorio nebo hry od Zachtronics
    BESH
    BESH --- ---
    OXYMORON: Zeptal bych se v https://nolog.cz/, zda bych nemohl nejak prispet.
    DWICH
    DWICH --- ---
    JARDABEREZA: Hlídač státu je super nápad
    Tým Hlídače státu - Hlídač státu
    https://texty.hlidacstatu.cz/tym-hlidace-statu/

    Ještě bych doplnil https://www.cesko.digital/
    Kliknutím sem můžete změnit nastavení reklam