Národní identitní autorita, tedy NIA ID, MeG a eOP jsou nedostupné. Na nápravě se pracuje [𝕏].
Americký výrobce čipů Nvidia se stal první firmou na světě, jejíž tržní hodnota dosáhla pěti bilionů USD (104,5 bilionu Kč). Nvidia stojí v čele světového trhu s čipy pro umělou inteligenci (AI) a výrazně těží z prudkého růstu zájmu o tuto technologii. Nvidia již byla první firmou, která překonala hranici čtyř bilionů USD, a to letos v červenci.
Po Canonicalu a SUSE oznámil také Red Hat, že bude podporovat a distribuovat toolkit NVIDIA CUDA (Wikipedie).
TrueNAS (Wikipedie), tj. open source storage platforma postavená na Linuxu, byl vydán ve verzi 25.10 Goldeye. Přináší NVMe over Fabric (NVMe-oF) nebo OpenZFS 2.3.4.
Byla vydána OpenIndiana 2025.10. Unixový operační systém OpenIndiana (Wikipedie) vychází z OpenSolarisu (Wikipedie).
České základní a střední školy čelí alarmujícímu stavu kybernetické bezpečnosti. Až 89 % identifikovaných zranitelností v IT infrastruktuře vzdělávacích institucí dosahuje kritické úrovně, což znamená, že útočníci mohou vzdáleně převzít kontrolu nad klíčovými systémy. Školy navíc často provozují zastaralé technologie, i roky nechávají zařízení bez potřebných aktualizací softwaru a používají k nim pouze výchozí, všeobecně známá
… více »Během tradiční ceremonie k oslavě Dne vzniku samostatného československého státu (28. října) byl vyznamenán medailí Za zásluhy (o stát v oblasti hospodářské) vývojář 3D tiskáren Josef Průša. Letos byly uděleny pouze dvě medaile Za zásluhy o stát v oblasti hospodářské, druhou dostal informatik a manažer Ondřej Felix, který se zabývá digitalizací státní správy.
Tor Browser, tj. fork webového prohlížeče Mozilla Firefox s integrovaným klientem sítě Tor přednastavený tak, aby přes tuto síť bezpečně komunikoval, byl vydán ve verzi 15.0. Postaven je na Firefoxu ESR 140.
Bylo oznámeno (cs) vydání Fedora Linuxu 43. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora IoT pro internet věcí, Fedora Cloud pro cloudové nasazení a Fedora CoreOS pro ty, kteří preferují neměnné systémy. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách Fedora Magazinu: Fedora Workstation, Fedora KDE Plasma Desktop, Fedora Silverblue a Fedora Atomic Desktops.
Elon Musk oznámil (𝕏) spuštění internetové encyklopedie Grokipedia (Wikipedia). Zatím ve verzi 0.1. Verze 1.0 prý bude 10x lepší, ale i ve verzi 0.1 je podle Elona Muska již lepší než Wikipedia.
Byla vytvořena větev gcc-in-cxx, kde se bude sada kompilátorů GCC postupně přepisovat z čistého C do C++. Cílem je zjednodušit kód GCC a usnadnit jeho budoucí rozvoj.
Tiskni
Sdílej:
, aby se kód trochu znepřehlednil.
to by byla jiná podívaná.
vim ~/.emacs
) a o to mi šlo.
Jak by se ale dal udělat cyklus?
Ale z něčeho tam přece cyklus nebo rekurze jít udělat musí, mi neříkejte že ne
Skutečné argumenty.
Ale to taky není hned automaticky dané. Nějaké možnosti zpracování tam přeci jen jsou.
(A ani tohle nám nedokáže, že s HTML+CSS nedokážeme řešit žádné problémy, i když ten vytoužený kompilátor nám to asi dost zhatí, no.)
) nejsem o tom 100% přesvědčen (narozdíl od ostatních, kteří to berou jako samozřejmý fakt na první pohled). A potřebuju asi něco víc přesvědčivého než se tu zatím prezentovalo, abych byl
Není třeba ničemu věřit, dokaž ekvivalenci HTML třeba s lambda kalkulem a máš to. Já jsem v něm nic k tomuto účelu dostatečného nenašel.
A víme, že máme skutečně
turingovsky úplný jazyk bez podmíněného skoku?

Narážíte na Churchovu tezi?
Že jsou TM a while-programy ekvivalentní dokázáno je. Že je každá efektivně vyčíslitelná funkce implementovatelná TM a obráceně nikoliv, protože se jaksi nepodařilo definovat pojem efektivně vyčíslitelný.
Že by každá posloupnost instrukcí byla nutně programem?Já jsem napsal, že každý program je (neprázdnou) posloupností instrukcí, ne že každá posloupnost instrukcí je programem. Navíc když HTML nemá žádnou instrukci, bylo by mi v této debatě tvrzení o každé (neprázdné) posloupnosti instrukcí poněkud na houby.
btw. neplette sem porad ty instrukce... rada programovacich jazyku (i programatoru) se bez nich s prehledem obejde....Programovací jazyk a programátor možná. Ale neobjeví se tam ty instrukce v okamžiku, kdy je ten program prováděn? Jestli se nepletu, tak deklarativní programování znamená, že programátor popíše vlastnosti výsledku a interpret toho programu pak najde postup, jak se k tomu výsledku dobrat. A ten postup je zase posloupnost instrukcí. Z tohoto úhlu pohledu pak HTML je programem, protože prohlížeč převede zdrojový kód (spolu se specifikací a případně doplněním specifikace vývojáři prohlížeče) převede na instrukce, jak stránku zobrazit. Jenže není pak programem už úplně všechno?
Program je posloupnost instrukcí, které má provádět nějaký stroj (nebo třeba člověk), program bez instrukcí nelze sestrojit.prominte, ale ta definice fakt neni stastna... co treba funckionalni programovani, kde je program kompozici funkci, co treba logicke programovani, kde je program mnozinou faktu... to nemluvim ani o onom nestastnem turingove stroji, kde program je mnozina stavu, prechodova funkce a takove ty nesmysly...
) daný tím jak vypadá stroj a páska nebo výraz LK. Vždy je to stejné a oba modely jsou si v tom rovné. Pokud říkáme, že TS má vedlejší efekty a LK ne, tak jima asi nemyslíme nic moc zásadního
prechodova funkce je instrukcevs.
Program je posloupnost instrukcínechci to vytrhavat z kontextu, ale prechodovou funkci u TS muzete chapat jako program, ale porad to bude _funkce_ a ne posloupnost instrukci...
Pokud tedy pojem programování rozšířím z imperativního programování i na deklarativní programování,aha...
Jenomže s takovým rozšířením je program cokoliv, a můžu prohlásit, že kompilátor céčka napíšu třeba ve stromu před barákem. Jenom musím nadefinovat vhodný programovací jazyk, který stromy transformuje na kompilátory.Pokud tedy pojem programování rozšířím z imperativního programování i na deklarativní programování,aha...
zeleny-list <-> mov ax,0 hnedy-list <-> inc ax list-s-housenkou <-> dec ax jabko-s-cervem <-> skoc na jinou vetev jabko-bez-cerva <-> pokracuj dalsim listem
).
Vlastně i kompilátor Javy by byl mnohem jednodušší v Haskellu než v Javě. (V mém případě ten pokus o zastrašení vyšel, prchám před kafem zbaběle do kouta.
)
vim ~/.emacs
Tím byl první bootstrap v historii kompilátorů dokončen.
( LISP - stále nová prvenství již po padesát let.)
Ale přesvědč k něčemu takovému lidi, že jo. Navíc by ten GDC museli taky dodělat. ;/
...ale je to jazyk, který přivádí lidi do blázince. (Proto ho mám rád.)Toužíš po kamarádech?
Je tam řada věcí, které mají programátorovi usnadnit život, ale něco jim chybí (například: C++ má destruktory a virtuální funkce, ale nemá garbage collector; C++ může vytvářet objekty staticky nebo dynamicky, ale v destruktoru nejde zjistit, který je který; zjišťování typů objektů za běhu je strašně omezené; vícenásobná dědičnost je podporována, ale kdo ji použije, do smrti veselý nebude).Jde to poznat z pointeru
Chce to ale v každé třídě alespoň jeden volný bit kam to zapsat.
programátor ho musí umět a některé rysy C++ se učí setsakra blběNeni pravda, jenom se u C++ clovek musi ucit princip a ne dusledky. Ale uznavam ze predavani jmenem nesedi kazdemu.
ale nemá garbage collectorNa co taky? Garbage collector je pro jazyk typu C++ naprosta zbytecnost. Na 99,9% pripadu mi staci chytry pointer.
templaty, přetěžování operátorůFatalni dusledky si spis dokazu predstavit u vyjimek a virtualnich funkci. Pomoci template se neda nic zkazit, maximalne zneprehlednit kod a pretezovani operatoru??? K tomu strileni do nohy:
"C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, it blows away your whole leg." - Bjarne Stroustrup
Otázka je, co berete jako C++ jazyk ? Používáte STL, výjimky, RTTI ? Nemusíte. Já beru stl jako knihovnu, když se mi nehodí (a to nehodí
), tak ji nepoužívám. Ostatní jmenované věci také.
Takže ještě jednou. Je podle vás C++ bez stl, výjimek a RTTI pomalejší než C ?
Prosím silný argument
Jde o vlastnosti jazyka jako je (násobná) dědičnost, virtuální metody, které čistě technicky musí někde držet tabulku metod za běhu (paměťová náročnost za běhu), a na druhou stranu snaha o early binding ostatních metod, které zase žerou čas a paměť při překladu.A jak udelas ekvivalentni funkcionalitu v Cecku ty chytraku? Bez tabulky? To bych rad vedel jak. Delka prekladu nikoho netrapi (ano normalni relativne male projekty v C++ se mi prekladaji desitky minut, no a?).
a pokud umite programovat v C++ i v C, tak program z C bude vetsinou i rychlejsiTak to chci videt.
Bavíme se o jazyku nebo o STL ?STL je popsané v ISO C++, takže je součástí jazyka.
Takže fukce void f() v C++ bude pomalejší než funkce void f(void) v C? I když vynechám výjimky (tj jediný důvod proč je binárka větší a možná minimálně pomalejší) ?Když napíšu funkci v C tak, aby zárověň byla i funkcí v C++, tak budou stejně rychlé. V tom případě to C++ ale nepotřebuji, když ho nepoužívám, že.
A teď příklad z praxe. Řekněte mi, jak v čistém C uděléte třeba objekt řetězce s implicitním sdílením dat alá QString z Qt. Možná se vám to podaří, ale jak se s tím bude pracovat ? Na tyto věci je C++ prostě jak dělané a rychlostní penalizace se vám budou dokazovat jen těžce.Samozřejmě, že toto umím naprogramovat. Zadarmo Vám to ale psát nebudu :-P
Ono je to bohužel tak, že složité makrové konstrukce se do C++ dají přepsat jen srovnatelně spletitými templaty, opravdová generika nenahradíte ani jedním.
Ono je to bohužel tak, že složité makrové konstrukce se do C++ dají přepsat jen srovnatelně spletitými templaty, opravdová generika nenahradíte ani jedním.Cyklus napisu pomoci sablon na par radku. U maker to musi byt pres nekolik souboru. A tohle plati pro vetsinu konstrukci.
Zkuste ukázat, jak pomocí šablon napsat ekvivalent generických hashovacích tabulek z libucw (viz příloha), který by byl přehlednější, a přitom stejně obecný a stejně rychlý. Já je napsal pomocí maker a přiznávám se, že docela zběsile. Jenže šablonami bych to lépe neuměl. Zkuste to i vy, třeba jste šikovnější a znáte C++ lépe.
Btw. licencovat hlavickovy soubor jako LGPL je trochu na hlavu. Hlavickovy soubor licencovany LGPL je zcela identicky s GPL licenci.
Co treba takova otevrena struktura, hmm?Co to je? Mozna to znam pod jinym nazvem, ale otevrena struktura mi opravdu nic nerika.
Jinak tim, co jsem psal jsem myslel to, ze program napsany obvyklymi zpusoby v C++ nebude rychlejsi nez ten samy napsany v C.Pak to ale neni argument pro C ale pro C++.
Co to je? Mozna to znam pod jinym nazvem, ale otevrena struktura mi opravdu nic nerika.Otevřená struktura obsahuje otevřené pole.
struct A { char a[]; };
Dá se to řešit i jinak, navíc nevím jestli je toto v ISO standardu.
struct A
{
...
char a[1];
};
Tímto jsem získal to samé v bledě modrém. Tento postup dokonce používám, ale otázka je, k čemu se toto normálnímu programátorovi hodí ? Vždyť tuto techniku využije někdo, kdo opravdu ví co dělá a čeho tím dosáhne. Popravdě ani ten předchozí příklad z C [] jsem snad nikde neviděl (a to do zdrojáků čumím pořád).
struct { t* x; }; pripadne niceho struct { t x[1]; }; (semanticky v podstate identicka zalezitost) jak napsal nekdo o par prispevku vys.
Nevim jestli tohle bylo v ANSI C ze ktereho aktualni norma C++ vychazi (mam tady pouze ISO standard), pokud bylo, tak jde o opravdu podivnou zalezitost.
akorat na vas prekladac bude hazet warningy, ze lezete za konec poleCo pouzivate za kompilator? To by se mi docela hodilo.
toto zvetsi samotnou strukturuAno, ale tady se bavíme o přetypování, nebo vytvoření struktury / třídy pomocí malloc(). Jen v málo případech budu vytvářet takovou strukturu na zásobníku, a to se opět dá udělat například pomocí šablony a dědičosti:
// Použít spolu s druhým příkladem
template<int N>
struct TempA : public A
{
private:
unsigned char _storage[N - 1];
};
akorat na vas prekladac bude hazet warningyTo se mi nikdy nestalo, navíc v C++ přece můžeme napsat getter:
struct A
{
...
unsigned char _data[1];
inline unsigned char* data() { return _data; }
};
Velikost můžu vypočítat jako sizeof(A)-sizeof(unsigned char) popřípadě si na to napsat inline statickou funkci. Problém vyřešen.
Moje řešení nebude ani pomalejší a ani nebude zabírat víc paměti. Je ekvivalentní tomu z C. Protože C++ tuto možnost nativně neumožňuje, tak jsem si pomohl korektním způsobem a docílil stejné funkcionality.
Jen tak pro zajímavost:)
Tuto techniku co jsem napsal používá například Qt toolkit pro primitivní třídy jako QString, QVector, atd. Všechny jsou implicitně sdílené. Abych mohl porovnat implementaci tak jsem se teď podíval na zdrojáky glib, kde je string definovaný takto:
struct _GString
{
gchar *str;
gsize len;
gsize allocated_len;
};
Z toho vyplívá, že Qt je z hlediska řetězců efektivnější i ve spotřebě paměti i rychlosti (v glib se musí udělat 2x alokace paměti pro vytvoření řetězce). Takže více záleží opravdu na zkušenostech a přemýšlení programátora než na tom, jestli se to píše v C nebo C++. Pokud nedělám knihovnu typu libjpeg nebo dbus, je pro mě C++ jasná volba.
STL je popsané v ISO C++, takže je součástí jazyka.Ale když mi nevyhovuje tak ho snad používat nemusím nebo můžu používat jinou knihovnu, takže toto není argument. To je jako bych napsal, že jazyk C je pomalý, protože knihova XYZ je pomalá nebo špatně napsaná.
Když napíšu funkci v C tak, aby zárověň byla i funkcí v C++, tak budou stejně rychlé. V tom případě to C++ ale nepotřebuji, když ho nepoužívám, že.Jenže ty C++ funkce nejsou v ničem jiné než ty v C. To, že funkce třídy skrývají argument 'this' je snad každému jasné, tak v čem se liší?
Samozřejmě, že toto umím naprogramovat. Zadarmo Vám to ale psát nebudu :-PAle šlo mi o to, jak se vám s tím bude pracovat ? ... Jediné, proč má podle mě jazyk C smysl jsou knihovny typu libpng atd, víme proč... Ale v jiných oblastech jako třeba vývoj GUI aplikace je použítí C šílenost. Všechny ty konstrukce v Gtk alá GObject jsou jen náhražky, které jsou v C++ a dalších jazycích naprosto triviální a běžné (dědičnost).
, musím říct že Vaše přítomnost v diskuzi je předvídatelná stejně jako páně Kubečkova pokud je řeč o ifconfigu
ifconfig je v podstatě v pořádku", a které ani sebenázornější argumenty nepřesvědčí o opaku. Jde hlavně o to, aby se tahle nebezpečná teze nevtloukala hned od začátku do hlavy dalším a dalším generacím těch, kdo se to teprve učí. Konzervativci, kteří kvůli svým návykům raději setrvávají u (již devět a půl roku) nefunkčního nástroje, než by věnovali pár minut seznámení se s novými, holt asi budou muset "vymřít".
, musim se priznat, ze trpim stejnou chorobou, jak je tu neco o kompilerovani, C++ apod , tak hned hledam, co k tomu rika pan inzenyr. Asi bychom se meli dat vysetrit. Jinak pozoruji, ze Deda Jabko mu zacina delat konkurenci ...
Většinu té knihy jsem četl (váš příspěvek jsem četl celý).
Spousta lidí používá c++ úplně nesmyslně, což dělá z kódu guláš. To je podle mě reálný problém.
To je IMHO pravda pro každý dostatečně rozšířený jazyk. Ale nevidím to jako problém jazyka, ale problém toho, že se programováním zabývá spousta neumětelů (jako ostatně každou činností, která vypadá trochu lukrativně, a kde poptávka převyšuje nabídku dostatečně kvalifikovaných sil). Kdybych uvažoval jako vy, musel bych dojít k závěru, že počítače jako takové jsou špatné, protože je spousta lidí používá naprosto nesmyslným způsobem.
Ale na to abych rozsvítil diodu nepotřebuju objekty, to je fakt zbytečné
Pro benchmarky LLVM stačí googlit. Třeba http://lucille.atso-net.jp/blog/?p=430To není zrovna reprezentativní benchmark – je to v podstatě jedna těsná floating-pointová smyčka. Prakticky pro každý kompilátor najdete příklad kódu, který je efektivnější než u konkurence
Zkoušel jsem najít něco obecnějšího, třeba SpecINT, ale zatím se mi to nepodařilo.
Přímo na webu LLVM jsou "Nightly Test Results" na adrese http://llvm.org/nightlytest/ Ty ale nejsou moc přehledné.No, hlavně v nich není vůbec nic o rychlosti výsledného kódu, jsou to testy korektnosti překladače.