Po po téměř roce vývoje od vydání verze 5.38 byla vydána nová stabilní verze 5.40 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 75 vývojářů. Změněno bylo přibližně 160 tisíc řádků v 1 500 souborech. Přehled novinek a změn v podrobném seznamu.
Uroš Popović popisuje, jak si nastavit Linux na desce jako Raspberry Pi Zero, aby je šlo používat jako USB „flešku“.
Andreas Kling oznámil, že jelikož už se nevěnuje nezávislému operačnímu systému SerenityOS, ale výhradně jeho webovému prohlížeči Ladybird, přičemž vyvíjí primárně na Linuxu, SerenityOS opustí a Ladybird bude nově samostatný projekt (nový web, repozitář na GitHubu).
Po dvou měsících vývoje byla vydána nová verze 0.13.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 73 vývojářů. Přehled novinek v poznámkách k vydání.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
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.
Po téměř roce vývoje (GCC 4.5 vyšlo v dubnu 2010) bylo vydáno GCC 4.6. Nová verze přináší celou řadu nových vlastností a vylepšení. Novinkou je například podpora programovacího jazyka Go (gccgo). Kompletní seznam změn.
Tiskni Sdílej:
A prečo by to malo robiť nejaké IDE keď to môže robiť kompilátor? Visual studio používa priamo parser kompilátora, XCode využíva priamo parser kompilátora (clang), a aj vo vime používam priamo parser kompilátora (gccsense) ktorý je ale príliš pomalý na reálne využitie takže ako záchranu používam ctags, čo ale nedoplní šablóny ani náhodou.
Okrem toho skúste sa zamyslieť ako môže IDE korektne dopĺňať kód. Má vari informáciu s akými voľbami preprocesora kompilujem? Nie, to má len kompilátor (ktorý si v prípade kompilačného serveru môže voľby zaznamenať, v súčasnosti riešim malým háčikom, ktorý ukladá do sqlite voľby pre každý súbor). Má vari plnú podporu jazyka, ktorý používam? Nie, bol by to predsa kompilátor! Vie rozpoznať či píšem C++ zdroják, alebo C++0x zdroják? Ako by mohol, toto vie len kompilátor, ktorý volám. Namiesto toho mi každé IDE, ktoré sa snaží tváriť inteligentne podčiarkuje rôzny kód pretože ho považuje za nesprávny len preto, lebo parser nie je úplne dokonalý. A zase na druhej strane ma neupozorní na skutočné chyby. Tak to ďakujem pekne za implementáciu toho istého do všetkých IDE podobne mizerným spôsobom. To radšej budem fandiť CLang-u aby dotiahli podporu pre mňa kľúčových vecí.
A prečo by to malo robiť nejaké IDE keď to môže robiť kompilátor?Protože každý takový bordel a podpora nesmyslů komplikuje kód kompilátoru, čímž zvyšuje pravděpodobnost chyb. Já od kompilátoru především chci, aby dobře, tedy co nejvíce bez chyb, kompiloval. To je jeho účel.
Protože každý takový bordel a podpora nesmyslů komplikuje kód kompilátoru, čímž zvyšuje pravděpodobnost chyb. Já od kompilátoru především chci, aby dobře, tedy co nejvíce bez chyb, kompiloval. To je jeho účel.Tak se zeptej autorů clangu, jak se jim to povedlo. Mě příjde normální, že se software (v tomto případě frontend překladače pro C-like jazyky) rozdělí na knihovny tak, aby se jednotlivé části daly použít a kombinovat různými způsoby, a dal se využít na víc věcí, než jedinou (i když tu hlavní). Proč by se syntaktický strom z frontendu nemohl použít i na statickou analýzu, doplňování kódu, generování XML popisujících API knihovny, atd.?
vim ~/.emacs
Protože každý takový bordel a podpora nesmyslů komplikuje kód kompilátoru
Tak parser je nezmysel? Zaujímavé, že každý kompilátor ho má, len nie každý má prístupné API.
čímž zvyšuje pravděpodobnost chyb
Hmm, zaujímavé. Máme tu libclang, to si linkuje zopár IDE a aj vďaka tomu je to celkom slušne vychytané. Na druhej strane tu máme gcc, ktoré síce nie je experimentálne (vraj) ale občas padá ako zhnité hrušky.
Já od kompilátoru především chci, aby dobře, tedy co nejvíce bez chyb, kompiloval.
A ja chcem zase aby IDE nemuselo implementovať podstatnú časť kompilátora. Chcem aby slúžilo na úpravu kódu, nie na to aby samo kód kompilovalo.
Tak parser je nezmysel? Zaujímavé, že každý kompilátor ho má, len nie každý má prístupné API.Tak se rozhodni. Muselo by se gcc přepsat nebo do něj dobastlovat nesmysly, nebo nemuselo? Já tvrdím že ano a že by to vedlo k chybám. Co tvrdíš ty?
Máme tu libclang, to si linkuje zopár IDE a aj vďaka tomu je to celkom slušne vychytané.Na to už jsem odpověděl výše.
A ja chcem zase aby IDE nemuselo implementovať podstatnú časť kompilátora.A mě zase tvoje IDE vůbec nezajímá. IDE je milion, každé by něco chtělo a jejich uživatelé dvakrát tolik.
Muselo by se gcc přepsat nebo do něj dobastlovat nesmysly, nebo nemuselo?
Vrstvorá štruktúra u kompilátoru ako gcc je dosť podstatná. Len tak pre zaujímavosť kompilátor nie je len priblblý kus softvéru, ktorý schrúme zdroják a vypľuje z neho binárku. Kompilátor má niekoľko vrstiev. Na začiatku je parser, ktorý spracuje kód do zdrojového stromu pričom kontroluje syntax, má dostupné zoznamy symbolov pre každý rozsah a jeho výstup je nezávislý na platforme a jazyku. Takže gcc má niekoľko parserov pre C++, D a podobné pričom z toho lezie stále rovnaký bordel. Patch na podporu dopĺňania syntaxe má asi 100 riadkov.
Takže zhrňme si to: gcc je členené do vrstiev (inak by bola podpora viacerých jazykov a platforiem takmer nemožná) a nič teda rozbíjať netreba. Stačí len sprístupniť verejné rozhranie a oddeliť to do samostatnej knižnice.
Namiesto toho si ale každý radšej na vlastnom piesočku bastlí to svoje IDE pričom ani jedno nezvládne C++0x. A pritom by stačilo tak málo.
tak je v tvem projektu neco spatneTa věc, která je špatně, v tomto případě je, obávám se, jazyk. I programy typu hell-world v C++ se mohou kompilovat velmi dlouho, pokud využívají STL + boost + další monstrosity.
GCC now has stricter checks for invalid command-line options...A kurva, to zas polovina projektů nepůjde zkompilovat