• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    KOJAProgramovani 40+
    JARDABEREZA
    JARDABEREZA --- ---
    KOJA: mě llm radilo jak nalinkovat knihovnu, co kde nastavit a další základy a povedlo se. Bez toho bych byl marný. Jenže c++ ma dlouhou historii, může se učit na 25 let starým kódu.
    KOJA
    KOJA --- ---
    JARDABEREZA: Me pomahaji LLMka. Naposled jsem se treba ptal jak se v c++ dela double dispatch kterej je rozsiritelnej v out-of-tree kodu protoze uz si to zase nepamatuju.
    KOJA
    KOJA --- ---
    JANFROG: To, ze si kazdy projekt vybere z jazyka svuj subset co se jim libi a naoplatku si pridaji nejake language extensions a veci jako -fno-exceptions nebo -fno-rtti uzasne zpestruje nudny zivot vyvojaruv.
    VOY
    VOY --- ---
    NOHOUS: Je to jen technologie. Kazda technologie ma svoje nedostatky a temer kazda bude za par let nahrazena necim jinym s jinymi problemy. Nema smysl si kvuli tomu kazit naladu :-).
    JANFROG
    JANFROG --- ---
    KLEINZACH: Ale jo, ja s tebou i souhlasim. Doted nezapomenu na tu frustraci kdyz mi jedno PR s moji genialni sablonou neproslo kvuli nejake obskurni chybe E12345 a co to znamena jsem nedokazal dohledat, protoze veskera dokumentace je hodne dobre ukryta pred lidma z venku (pokud neni rovnou classified :-) Couvam kazdej den.

    U me je to spis takova ta radost z neceho noveho, uzivam si kdyz vidim jak neco lze v C++ vyresit elegantne co jinde byl desnej voser. Navic jsem spadnul do projektu, co jedou uz delsi dobu (~30 let :-) a tam proste nejak vykrystalizoval ten "mensi jazyk" a tak pouzivam ten a moc si nevymyslim (vetsinou :-) Verim, ze az to budu delat 20 let, uvidim to stejne jak ty. Ale do te doby si hodlam uzivat malych radosti :-)
    JARDABEREZA
    JARDABEREZA --- ---
    KLEINZACH: kolik z toho cca zvladne vychytat nějaký linter?
    KLEINZACH
    KLEINZACH --- ---
    JARDABEREZA: clovece toho je tolik, ze musely vzniknout 'core guidelines' :) https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines

    KOJA: hehe, taky uz sem musel parkrat vycouvat :) pripadne si vypomoct preprocesorem i prestoze sem to total nemel v umyslu.
    SATAI
    SATAI --- ---
    NOHOUS: halt chtějí zapadnout do JavaScript ekosystému. #trololo
    NOHOUS
    NOHOUS --- ---
    SULTHAN: ale react je nepříčetná sračka by design, takže co
    JARDABEREZA
    JARDABEREZA --- ---
    KOJA:
    KLEINZACH: nějaké konkrétní příklady co nedělat? Možná se to budu brzy učit :-D
    KOJA
    KOJA --- ---
    KLEINZACH: “Ja si vzdycky neco vymyslim a pak zjistim, ze to nejde” popisuje moji zkusenost naprosto presne. Vetsinou to jeste probiha tak, ze se s c++ peru, nektery omezeni obejdu upravou designu, zabiju s tim cas a teprve az nakonec zjistim, ze to fakt nejde a musim to predelat skoro komplet.
    KLEINZACH
    KLEINZACH --- ---
    JANFROG: ja ti s tim c++ nevim - i prestoze v tom delam 20+ let, jsem z toho jazyka trochu zatrpklej (tim vic, cim sem starsi). obecne ok, ale ja si vzdycky neco vymyslim a pak zjistim ze to nekde nejde, protoze treba debilni pravidla explicitni instanciace sablon, nebo treba ted sem zkousel constexpr a vono to, do kelu, nema constexpr argumenty (existuje jenom nejakej proposal). je to vlastne nekolik jazyku v sobe, vsude je to sama dira, vyviji se to hrozne pomalu a vzdycky to, co potrebujes, bude az za desetnact let :) nebo treba takova reflection, ktera se je porad na horizontu.. to i ty jaderny fuze se dockame driv!

    jak rika stroustrup nebo sutter "v c++ je schovanej mensi, elegantnejsi jazyk, kterej se snazi vyklubat ven" ;) ale taky je mozny, ze se mu to nepovede a ten jazyk v tom inkubatoru chcipne ;P
    JANFROG
    JANFROG --- ---
    KLEINZACH: Dal jsem plus, ale musim se priznat, ze ted delam dost v C++ a celkem si to uzivam...
    KLEINZACH
    KLEINZACH --- ---
    I like a lot about D. My main criticism of the language is that it quickly becomes too noisy as more of its nice features are used. I think this could be fixed, for example with better attribute defaults in function signatures, and I think Walter is aware of this.

    I could tolerate the noisy language bits, but:

    The standard library (Phobos) was so riddled with paper cuts that every day I used it felt like trying to navigate the surface of a coral reef... barefoot... in a hurricane... while blindfolded. It drove me off after a few months. (That was last year.)

    ouch :)
    jsem rad ze nejenom c++ je jak svycarskej nuz, kterej je nabrousenej i tam, kde se to drzi
    ALMAD
    ALMAD --- ---
    DRUDRIGER2: Ja ti nevim, obcas zas plati “zadna otazka neni dost blba” #kecy

    DRUDRIGER2
    DRUDRIGER2 --- ---
    ja to delam tak ze mu v junie (inteliji v goland) napisu jasne udelej mi testy a popisu mu presne funckionality ktere chci aby k nim napsal testy. priste je vyjmenuji. udela mi jen ty testy ktere fakt potrebuji, a samozrejme to musim prohlidnout co tam dela, neco smaznout ci pozmenit.

    Jako sam sem to skouzel davno ze se napsal jen napis testy pro to co vidis v stage v gitu, ale to fakt generovalo strasne mec a nepotrebnych testu.

    jako chce to zlaotou cestu, neco napise on neco ja, a dulezite ji psat konkretne. na blbou otazku je blba odpoved... u AI to plati dvakrat
    VOY
    VOY --- ---
    AXTHEB: Minimalne do doby nez zpusobi nejaky incident ;-). Ale jako jo, kdyz pak zmenis tu vnitrni implementaci a testy porad prochazi, tak to je rozhodne dopaminovy high ;-).
    AXTHEB
    AXTHEB --- ---
    VOY: Jo, není to snadné.
    Pak ale zjistíš, že potřebuješ změnit interface té privátní metody a jen se kocháš všemi těmi testy, které není třeba opravit:)

    A taky víš co, pokud ten edge case neumíš vyvolat z venku, asi ho není třeba testovat:)
    VOY
    VOY --- ---
    AXTHEB: To mi prave prijde, ze je nelehka vec, pres nejakou volajici funkci je casto hodne pres ruku otestovat vsechny edge cases. Samozrejme asi neni nutne snazit se dosahnout 100% coverage, ale pokud pridam prostrednika tak se mi zda, ze uz se ani nebavime o unit testu, pak uz testuju jestli verejna funkce spravne vola nejakou privatni implementaci.
    AXTHEB
    AXTHEB --- ---
    VOY: přes tu funkci, která to volá. Samo, nejde to udělat bezhlavě.
    Jak jsem psal níž, nakonec stejně skočím u toho, že se mi unit testy přetaví na e2e. Ve skutečně unit testech pak optimálně zůstanou jen nějaké edge case a failure mode testy, u kterých by e2e setup nebyl snadný. Race conditions, třeba.
    Kliknutím sem můžete změnit nastavení reklam