• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    XCHAOSANSI C/C99 (specifikace), GNU C (gcc, glibc), Tiny C (tcc) a POSIX - ne nutně C++,g++,libstdc++ nebo Win32 API
    XCHAOS
    XCHAOS --- ---
    myslím, že ta vandalizace wiki už fakt přesahuje všechny meze...
    Syntactic sugar - Wikipedia, the free encyclopedia
    https://en.wikipedia.org/wiki/Syntactic_sugar#Syntactic_saccharin
    XCHAOS
    XCHAOS --- ---
    REDGUY: syntaktický cukr je definován zde: https://en.wikipedia.org/wiki/Syntactic_sugar
    (např. jsem si zkusil nadefinovat then (které by nedělalo absolutně nic), protože mi to připomínalo starý dobrý Basic, jenže pak jsem byl líný to psát.. takže syntaktický cukr, který jsem líný používat i sám, asi proškrtám :-)

    neřekl jsem, že funkcionální jazyky jsou zbytečnost - jenom, že pro mě nejsou. (btw v poměrně raném věku jsem se setkal s Prologem, který ovlivnil můj přístup k seznamům...)

    a jaké cesty existují v imperativních jazycích, to se ode mě asi časem dozvíš :-)) (ale mám na mysli i věci, které do C bez spolupráce s compilerem fakt propašovat nepůjdou...)
    REDGUY
    REDGUY --- ---
    XCHAOS: nevíš, co bys k tomu dodal, ale nedá ti to, abys nemlčel, co - no ja ti nevim. Kdyz ty pises "něco jiného by potřeba být mohlo" aniz bys ukazal nejakej konkretni priklad, tak to je neco zasadne jineho? Jen tak pro kontrolu 8)))

    ůj (léta) chystaný makrojazyk bude hnědým třtinovým cukrem mezi syntaktickými cukry - no, hnedy to urcite bude. Jestli cukr... no, co se pamatuju, tak spis ne 8))

    Ty funkcionální pro mě moc nejsou, to je marné. - ach jo. Jo, jasne, proc se ucit novy veci, takova zbytecnost...

    v těch procedurálních/imperativních existují cesty, kterými se moc nechodí - bojim se zeptat, ale neda mi to... co tim prosim myslis?
    XCHAOS
    XCHAOS --- ---
    hmm, implicitní return v Rustu.. to je teda hodně dietní jazyk... příliš málo syntaktického cukru :-)
    XCHAOS
    XCHAOS --- ---
    DANIELSOFT: no koukám na to.. "for něco in něco se mi líbí", to je ostatně moje hlavní motivace rozšiřovat c, ale to znám už z pythonu :-) že používají "let" je takové.. hmm, dialekt Basicu :-) mrknu jaké mají kontejnery
    DANIELSOFT
    DANIELSOFT --- ---
    XCHAOS: na Rust jsem zběžně koukal a celkem se mi líbil. Go se asi budu muset naučit, protože v týmu co jsem v práci v něm začínají vznikat projekty...
    XCHAOS
    XCHAOS --- ---
    REDGUY: no ty vlastně nevíš, co bys k tomu dodal, ale nedá ti to, abys nemlčel, co :) přitom volání metody k literálu je prostě syntaktický cukr, ovšem ty víš, že já syntaktický cukr rád, umělá sladidla nerad :-) a můj (léta) chystaný makrojazyk bude hnědým třtinovým cukrem mezi syntaktickými cukry :-)

    "pár dalších jazyků", hmm. Ty funkcionální pro mě moc nejsou, to je marné. v těch procedurálních/imperativních existují cesty, kterými se moc nechodí. Zbývá snad Go a Rust.
    DANIELSOFT
    DANIELSOFT --- ---
    ad "vyšší jazyk, který se překládá do C": narazil jsem na jazyk Vala https://wiki.gnome.org/Projects/Vala/Tutorial - ale zas tak moc jsem ho nezkoumal: v linuxovém světě se sem tam používá na nějaké GUI aplikace
    REDGUY
    REDGUY --- ---
    XCHAOS: něco jiného by potřeba být mohlo 8))

    tyhle debaty jsou ztráta času. - ano, mas pravdu. Pokud argumentace skonci u toho "nejake jine pouziti urcite existuje, ktere teda nevim, ale urcite existuje a sice je to bastl, ale urcite by se to hodilo", tak to je ztrata casu 8)

    Hele, nauc se par dalsich jazyku. Go, Swift, ObjC, Rust, zkusi i vyrazne odlisny jako Lisp/Clojure, Scala, Haskell... neco si o nich poradne precti, zkus si v nich neco napsat, at mas predstavu, jak to delal chytry lidi. A jestli si i pak budes myslet, ze to zvladnes lip, s chuti do toho...
    JANFROG
    JANFROG --- ---
    XCHAOS: 3) vymyslet něco ještě příjemnějšího, než Python, dynamicky typovaného a úplně beze stop C (a např. by se z toho generoval přeložitelný C zdroják). (po tomhle by možná i poptávka byla)

    S timhle mam bohate zkusenosti (10+ let kazdy pracovni den :-) Moje rada zni - nedelej to. Cokoliv prekladat do C a to pak prekladat dal to zpusobi jen bolesti hlavy, sedive vlasy a kruhy pod ocima.

    Napsat korektni C kod jehoz chovani je alespon definovane je velmi obtizne (a ja si troufam tvrdit, ze nemozne :-). V pripade generovaneho C kodu je to jeste horsi, protoze ten kod nikdo nikdy nebude cist
    a tudiz se na problem neprijde. Debugovat problemy v tom je peklo na koleckach.

    Alternativa muze byt pouzit LLVM / libjit / Lightning nebo tak neco, neb to ma definovanejsi semantiku. Ale neni to bez problemu (takova LLVM instrukce "select" se na x86_64 prelozi na "cmov" ktery ma nektere nepekne sideeffecty vedouci pak (nekdy :-) segfaultu...ladit tohle take neni hezka zalezitost.

    Tam kde ted pracuji jsme se to rozhodli resit radikalne - zadne C, zadne LLVM, nic. Proste rovnou generujeme COFF/PE (pripadne ELF) z naseho jazyka vlasnima silama. Je to zabava, ale dost prace :-)
    XCHAOS
    XCHAOS --- ---
    REDGUY: no ano, zrovna .sort() není potřeba, ale něco jiného by potřeba být mohlo... literály jsou mocný nástroj, samozřejmě to není čistý, ale jinak ztrávíš mládí na tom, že děláš vše konfigurovatelné přes externí konfiguráky apod. .. občas je dobrý nejdřív program napsat nějakou "quick and dirty" metodou a pak k němu teprve bastlit interface

    tyhle debaty jsou ztráta času. jsem prostě líný dodělat tu jednu, dvě zásadní věci do svého makrojazyka a pak s ním vyrazit do boje proti trollům...
    XCHAOS
    XCHAOS --- ---
    DANIELSOFT: vím, že existuje :-) už nějaký čas i tuším proč :-)
    DANIELSOFT
    DANIELSOFT --- ---
    XCHAOS: ad 2) - co ObjectiveC ?
    REDGUY
    REDGUY --- ---
    XCHAOS: co kdybych u uměl víc - no mozna bys pochopil, ze tvoje fnukani, ze nemuzes napsat
    a = [3,2,1].sort()
    je dost mimo, protoze to je neco, co neni realne potreba.

    Hele, Python ma svoje problemy (stejne jako vsechny jazyky). Ale tvuj pristup "zbezne si prohlednu prvni kapitolu Introduction to Python for dummies a zacnu kritizovat par nahodnejch veci, ktery mi padly do oka aniz bych poradne chapal jak ten jazyk funguje a jaky cile jeho autori sledovali"... no, to je smesny.
    XCHAOS
    XCHAOS --- ---
    REDGUY: ano, to je tvůj závěr ze všeho, že ho "moc neumím". teď si vem, že i když ho "moc neumím", tak jsem stihnul narazit na několik drobných nepohodlností.. co kdybych u uměl víc? :-)
    REDGUY
    REDGUY --- ---
    DAVIDOWITCH: Pokud C umis aspon trosicku a Python vubec, tak ano 8)
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: jak na co :-) co se "literálů" týče s anonymními strukturami je tam dost problém a anonymní funkce nemá vůbec, například :-)

    já víceméně uvažuju třemi až čtyřmi směry, na poli programování:
    1) vylepšit si Céčko vlastními "dialektem" (asi jako javascriptové knihovny/toolkity), to tu bylo mocně napadeno a já se zasekl, že to nechci uvolnit polovičaté, ale fakt mocné (že nikdo nepozná, že je pod tím C) (a asi jediný, kdo něco takového poptává, jsem já :-)
    2) vymyslet něco jako C++, co nebude C++, ale bude to přímo obsahovat fragmenty C kódu (a např. by se z toho strojově generoval přeložitelný C zdroják) .. tady mi ale přijde fakt jednodušší naučit se rovnou C++ :-)
    3) vymyslet něco ještě příjemnějšího, než Python, dynamicky typovaného a úplně beze stop C (a např. by se z toho generoval přeložitelný C zdroják). (po tomhle by možná i poptávka byla)

    případně ještě 4) další interpretr, napsaný v C, ale těch jsou už kvanta a trh je tímhle směrem nasycen (a ztrací to kouzlo i tím, že jakékoliv extenze základů jazyka znamenají znovu návrat na vrstvu C).
    REDGUY
    REDGUY --- ---
    XCHAOS: prostě to navrhovali moc puristi a ne praktici Hele, xchaosi, poslednich par zprav jsi oddemonstroval, ze Python fakt moc neumis, takze mozna by ses mel zdrzet hodnoceni, jak moc je "puristicky" a jak moc "prakticky", co rikas? 8

    btw, pokud opravdu nutne potrebujes "mutable stringy", tak samozrejme na to prostredky jsou. Co je ale pravdepodobnejsi, ze je ve skutecnosti nepotrebujes. A nez odesles zpravu s protiprikladem, tak se prosim velmi peclive zamysli jestli dava realny, prakticky smysl 8)
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: chapu to spravne ze Ccko je praktictejsi jazyk nez python? :-D
    XCHAOS
    XCHAOS --- ---
    REDGUY: vždyť píšu, že v Pythonu ne. ale obecně, zavolat metodu na literální zápis kontejneru může dávat.

    no dobře, tak nevrací self, ale prostě občas by se mutable string mohl hodit (třeba s jinýma úvozovkama). jenže pak by se měly ty metody nad mutable a imutable objekty chovat stejně, a to už by se někomu nelíbilo.. prostě to navrhovali moc puristi a ne praktici, no.
    Kliknutím sem můžete změnit nastavení reklam