Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.
NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.
IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.
Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.
Danny Kalev ve svém článku, který vyšel na webu softwarequalityconnection.com, představuje nejvýznamnější novinky v C++0x označovaném také jako C++11. V novém standardu známého programovacího jazyka jsou mimo jiné lambda výrazy, automatická detekce typu, sjednocení syntaxe pro inicializaci proměnných, klíčové slovo pro null pointer, delegující konstruktory a podobně. Změny jsou také ve standardní knihovně – jsou to například funkce fungující jako množinové kvantifikátory nebo knihovna pro práci s vlákny.
Tiskni Sdílej:
Čím více a čím agresivněji se nějakému projektu předpovídá brzký zánik, tím déle obvykle přežije. Předpovídat zánik jazyku, který se pro účely systémového programování používá už 40 let a který po tu dobu své pozice (v této oblasti) stále posiluje, je poněkud odvážné…
To, že tu někteří prezentují emocionální a argumentačně prázdné výpady proti C++, neznamená automaticky, že musíte reagovat stejným způsobem.
protože C je de facto velmi malou podmnožinou C++Toto neni pravda, pomerne dost v praxi pouzivanych konstrukci z C nen soucasti C++. Prikladem budiz variadicka makra, otevrena pole a pokrocile literaly. Navic nektere konstrukce znamenaji v obou jazycich neco jineho.
blockquote
?
Jenom to, že když použiji jakýkoli element, musím pak nabouchat milióny dalších. Například poctivě označit odstavce elementem p – tudíž použitím jednoho elementu musím oelementovat všechno.Nojo, v předpovídání budoucnosti jste ještě neměl jediný omyl... ale blockquote používat neumíte a místo toho plácáte něco o odstavcích, než abyste to úplně normálně vyzkoušel a zjistil, že to co píšete, je nesmysl.
"Jazyk D ovšem s C++ kompatibilní není. Aby mohl C++ nahradit, musel by mít nástroj, který by dokázal využít C++ moduly a snadno přejít. To je nutnost. "
není vůbec potřeba konvertovat existující projekty, ale zajistit ABI kompatibilitu, což D má.
"Bohužel jazyk D nemá některé featury C++"
které?
"D také zrušil objektové pojetí C++ a dědičný styl přejal z Javy a funkcionálních jazyků."
to je naprosto v pořádku a správný krok.
"Základní problém je, že C++ bylo navrženo pro řešení praktických úkolů."
od kdy? Právě D je navrženo k praktickému použití, oproti C++, a proto netrpí některými mouchami C++ (píšu pro ábíčko seriál o D, vše bude popsáno)
"Něměl jsem pocit, že D řeší něco lépe, než řada existujících jazyků."
rozhodně lépe než C++, což je jeho cílem.
"C++ jako C s třídami neukáže ani 1% jeho efektivity."
možná ještě metaprogramming a operator overloading se občas hodí, ale stdlib, encapsulation, exceptions a spousta věcí z nové 0x specifikace je naprosto otřesných.
vezměme v potaz třeba tohle: http://ideone.com/sdPBZ Tento malý test dokazuje, že encapsulation v C++ je defektivní, protože to lze naprosto snadno obejít (díky tomu, že class v C++ je stále obyčejná struktura ve které lze použít offset)
nebo iostream - co je lepší?
std::cout << foo << " bah " << meh << " blah " << std::endl;
které je naprosto nepoužitelné při i18n/l10n, je delší a vypadá hnusně
nebo
printf("%i bah %f blah\n", foo, meh);
který je naprosto bez problému?
Argument "type safety" jsou kecy, buď je kód správně nebo blbě a to, že si někdo neumí správně ověřit parametry není můj problém.
V porovnání s D:
co je lepší?
string a = "hello world";
string b = a.substr(0, 5); // hello
nebo
char[] a = "hello world".dup;
char[] b = a[0 .. 5]; // hello
co je lepší?
std::map<string, int> mymap;
mymap.insert(std::pair<string, int>("foo", 5));
nebo
int[string] harr;
harr["foo"] = 5;
?
takhle by se dalo pokračovat do nekonečna..
<<
můžete rozšířit na libovolnou třídu, u printf()
to nejde (o dalších lahůdkách jako např. automatické překódování škoda ztrácet řeč). U druhého příkladu mi ten rozdíl nepřipadá tak velký, aby to byl nějak relevantní argument. Třetí příklad je podvod, protože i v C++ můžete napsat mymap["foo"] = 5
.
vezměme v potaz třeba tohle: http://ideone.com/sdPBZ Tento malý test dokazuje, že encapsulation v C++ je defektivní, protože to lze naprosto snadno obejít (díky tomu, že class v C++ je stále obyčejná struktura ve které lze použít offset)tohle je ukazka naprosto pokrivenyho mysleni. Encapsulation by melo chranit proti chybam a spatnymu pouziti, ne proti lidem. To ze kdyz se nekdo bude umyslne snazit to porusit tak se mu to povede je spis vyhoda...
píšu pro ábíčko seriál o D, vše bude popsáno
Skvělé! Už se těším:) Doufám, že to bude spíše o D2.
to jsi mě asi trochu nepochopil Já C++ netrolluju, já kritizuju jeho mouchy, sám C++ používám pro svůj projekt a ono se dá použít, ale jen jako "C with classes" .. ony ty "špatné" části jsou většinou jen volitelné, takže se dají "nepoužít" a C++ může být decentním jazykem..
A preto napr. toto ide v c++0x stale skompilovat, ze?
int main(){
auto int x = 5;
return x;
}
Videli ste vobec tie zmeny v pythone? Zmeny su aspon navonok relativne male a aspon velka cast z nich svoj vyznam urcite ma.
Navyse s trochou snahy sa da pisat kod pre obe verzie pythonu.
C++ nešel cestou Pythonu či Perlu, že vše změní už jen pro ten pocit, že to překopal.Python naštěstí tou cestou šel, měl hodně restů, které nešly v 2.x verzi opravit.
Osobně si myslím, že nejlepší cesta by v budoucnu byla sjednocení jazyků C a C++ do jednoho jazyka.Apage satanas. Naštěstí nám ale céčko zůstane :).
#define MyNULL NULL
a v budoucnu to pak jen přehodit #define MyNULL nullptr
a třeba si podivit co se stane .
Rozumím tomu opravdu dobře, že v C++0x budu muset přizpůsobit názvy metod třídy abych ji mohl pohodlně iterovat? Tedy, budou to muset být begin() a end()?Ne, neřekl bych, teda doufám. Jinak ale +1 k STL, imho koule na noze C++.
stdlib/STL je jedním z hlavních problémů jazyka C++.
pomalý kontejnery, streamy horší než v Cčku, pomalý stringy, nesourodý exceptions, debugování horší než v Cčku..
std::for_each
z hlavičky algorithm
, ale o v C++0x novém klíčovém slově foreach
.
vim ~/.emacs