Byla vydána nová verze 2.4.68 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 13 zranitelností.
Apple na své vývojářské konferenci WWDC26 (Worldwide Developers Conference, keynote) představil řadu novinek. Vypíchnout lze novou generaci Apple Intelligence a zbrusu novou Siri, která dostala název Siri AI. Kvůli Aktu o digitálních trzích (DMA) však funkce Siri AI nebudou v systémech iOS 27 a iPadOS 27 k dispozici uživatelům v Evropské unii.
Byla vydána nová verze 1.18.0 distribučního frameworku Flatpak (Wikipedie), tj. technologie umožňující distribuovat aplikace v podobě jednoho instalačního souboru na různé linuxové distribuce a jejich různá vydání. Přehled novinek na GitHubu. Vypíchnout lze podporu rozhraní /dev/kfd pro výpočty na kartách AMD (AMDKFD).
aMule (Wikipedie), tj. multiplatformní klient pro peer-to-peer sdílení souborů pro sítě eD2k and Kademlia, byl po více než pěti letech od vydání poslední verze 2.3.3, vydán v nové major verzi 3.0.0 (GitHub). S novou webovou stránkou a dokumentací.
Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 29. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.
Evropská komise předložila evropský balíček pro technologickou suverenitu, tedy soubor opatření, která mají posílit kapacity EU v oblasti polovodičů, umělé inteligence, cloudu a open source. To Evropě pomůže stát se lídrem v oblasti umělé inteligence, posílit její digitální autonomii a vytvářet podmínky pro udržitelnější digitální budoucnost.
OpenCV (Open Source Computer Vision, Wikipedie), tj. open source multiplatformní knihovna pro zpracování obrazu a počítačové vidění, byla vydána v nové major verzi 5.
Byla vydána nová verze 9.7 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání.
Vývojáři webového prohlížeče Ladybird dnes oznámili, že mění způsob vývoje. S blížícím se vydáním alfa verze přestávají přijímat veřejné pull requesty. Všechny otevřené veřejné pull requesty budou uzavřeny. Tým nedokáže garantovat bezpečnost AI generovaných pull requestů.
OpenLogi (GitHub) je open source náhrada aplikace Logi Options+ pro přizpůsobení myší od společnosti Logitech. Zatím běží pouze na macOS.
No, zazněl tady názor, že IDE pro C apod. je blbost. Já si myslím, naprostý opak. Dělal jsem už velké projekty, a bez IDE si to nedokážu představit. Pro korektní srovnání budu předpokládat, že netvořím žádnou grafickou, ani databázovou aplikaci (kolik jich ale takových je, že? moc ne), kde by byla potřeba IDE naprosto neoddiskutovatelná.
Znovu připomínám, že se schválně zaměřuji jen a pouze na práci s IDE v případě čistého C pro konzolové aplikace bez grafiky, databází a dalších vymožeností. Pokud byste jen trochu připustili něco jiného, výhody IDE by rázem vyrostly na několikanásobek, protože IDE většinou mívají pro tyto případy speciální podporu, se kterou se prostě trojice gcc, make, gdb nemůže opravdu rovnat.
Spousta výhod se odvíjí už od toho, že IDE většinou rozumí konkrétnímu programovacímu jazyku, se kterým pracujete. Podle mě obecné IDE, které zvládnou práci s desítkami jazyků nejsou moc dobré, ani moc efektivní na používání.
Začne to už založením projektu. Je naprosto snadné prostě vybrat soubory, které budou součástí projektu a vložit je do projektu. Stejně tak je snadné nastavit volby kompilátoru pro debug a release verzi. Pokud chci makefile, nechám si ho vygenerovat. Pro mě je to příjemnější cesta, než rovnou psát makefile, ale řekněme, že v rychlosti způsobu práce je IDE a přímé psaní makefile srovnatelné, abych moc neprovokoval.
Pak to začne samotným psaním zdrojáků. Slušné IDE proskanuje všechny zdrojové kódy a hlavičkové soubory a je schopno vám velice efektivně napovídat různé funkce, metody, parametry, třídy, apod.. Pokud pracujete v týmu a pracujete s kódem druhých lidí, a tvoříte větší projekt, pak vám to velice ušetří práci a čas. V dokumentaci si přečtu, co který objekt dělá, jaký má interface. Ale díky IDE nelistuji pořád neustále v dokumentaci jenom proto, abych se podíval na pořadí parametrů každé metody, nebo funkce. Stejně tak mi napoví název metody, když jej jenom zhruba tuším. Velmi výrazně to urychluje práci, a nemusíte se zabývat drobnostma. A to už vůbec nemluvím o možnosti browseru objektů, apod.., což je někdy k nezaplacení.
Další kapitolou je samo o sobě ladění. Zkuste si porovnat efektivitu ladění pomocí gdb, a pomocí dobrého IDE. Troufám si říct, že IDE vede v ladění s přehledem o několik délek. Nikdy jsem nepřišel gdb na chuť. Už jenom to, že můžete mít stabilně vypsáno v IDE přehled lokálních proměnných, seznam hodnot výrazů, které vás zajímá, vše samozřejmě neustále automaticky aktualizováno. Pokud najedete myší na proměnnou, nebo výraz, který vás zajímá, automaticky se zobrazí výsledná hodnota. Možnosti debufferu pod slušným IDE jsou samozřejmě velmi rozsáhlé a troufám si říci, že v efektivitě použítí tomu gdb nasahá ani po kolena. A vzhledem k tomu, že ladění zabírá slušnou část práce programátora, je to důvod pro IDE. K efektivitě práce s IDE také přispívá to, že IDE většinou perfektně rozumí celému kontextu daného programovacího jazyka a struktuře jeho proměnných, zatímco gdb je poněkud obecnější a méně konkrétní.
K zahození ani dobrá integrace IDE s nápovědou. Tady bohužel vede Microsoft, protože si stačí nainstalovat MSDN, a máte všechno na dosah. Velmi to šetří práci, prostě najedete na slovo, zmáčknete F1 a dostanete nápovědu, ať už je to funkce C, nebo třída v C++, nebo nějaká funkce API operačního systému, či nějaká funkce z mnoha rozsáhlých nadstavbových knihoven. Velmi to urchluje práci.
Samotné IDE toho dokáže daleko více. Tedy dobré IDE. Ale podle mého dobré IDE ušetří velmi mnoho práce a jde to rychleji.
Dovolte taky jeden názor, proč si myslím, že spousta lidí je proti IDE. Je to proto, že ve skutečnosti je jenom velmi málo skutečně dobrých IDE. Měl jsem tu čest dělat ve Visual C++ 6.0, a ačkoli je to už pěkně starý brontosaurus, nenašel jsem žádné open source IDE prostředí, který by se mu alespoň na 10% vyrovnalo v jeho efektivitě při práci byť v čistém C/C++. Když porovnám práci třeba s DevCpp, nebo Mingw developer studio (které je podle mě lepší, než DevCpp), či CodeBlocks, které jsem vyzkoušel pod Windows (a to vyjmenovávám jenom ty lepší IDE, zažil jsem mnohem víc daleko horších), tak souhlasím s tím, že takové IDE pomáhá jen trochu a zase tolik nepřináší oproti práci s čistými příkazovými utilitkami. I když to ladění je přeci jenom příjemnější i v těchto IDE oproti gdb. Bohužel, obávám se, že pro Linux neexistuje žádné dobré IDE, tak se vůbec nedivím argumentům proti IDE na Linuxu.
Jedinou věc, která mi v IDE trochu chybí je lepší editor. Trochu to vylepšuji tím, že do Visual C++ integruji vim, který dává mnohem lepší editační možnosti. Případně si vybírám IDE, které mají pro editaci integrovánu komponentu Scintilla, kterou vysoce uznávám, a kterou má v sobě integrovanou třeba MIngw developer studio.
A teď mě sežerte.
Tiskni
Sdílej:
IDE není blbost. Důvodů k jeho použití je celá řada - např.:
Otázka samozřejmě je, jak to které IDE plní požadovaná kritéria.
No, pěkná alegorie
Nicméně s většinou celkem souhlasím. Můj názor je hodně formován tím, že jsem nikdy žádné slušné C ide neviděl. Jednou jsem byl nucen dělat pod Windows v C++ (pro ty co znají: KIV/ZPG, OpenGL), konkrétně pak v C++ Builderu. Fuj. Zápočtovky jsem pak pěkně psal u sebe na Linuxu a přenositelně. Musím pochválit VC, že s tím neměl nejmenší problémy (doslova, jen jsem překompiloval) a naštěstí na jednom počítači ve Skala-labu byl (C++ Builder samozřejmě neměl šanci).
Celkově přínos IDE výrazně závisí na jazyku a případně dalších okolnostech. V plain C je ten přínos nejmenší, oproti vim které toho umí daleko více než by nezasvěcený očekával (například doplňování názvů funkcí/proměnných, vyvolání dokumentace a další). V C++ a objektových jazycích už dochází dech (tam už je potřeba kontextové doplňování, když už nic jiného). Nicméně možná je tam něco co si nedovedu představit
O debugování nepíšu zvláštní přípsěvek.
))
Nicméně s většinou celkem souhlasím. Můj názor je hodně formován tím, že jsem nikdy žádné slušné C ide neviděl. Jednou jsem byl nucen dělat pod Windows v C++ (pro ty co znají: KIV/ZPG, OpenGL), konkrétně pak v C++ Builderu. Fuj. Zápočtovky jsem pak pěkně psal u sebe na Linuxu a přenositelně. Musím pochválit VC, že s tím neměl nejmenší problémy (doslova, jen jsem překompiloval) a naštěstí na jednom počítači ve Skala-labu byl (C++ Builder samozřejmě neměl šanci).
Celkově přínos IDE výrazně závisí na jazyku a případně dalších okolnostech. V plain C je ten přínos nejmenší, oproti vim které toho umí daleko více než by nezasvěcený očekával (například doplňování názvů funkcí/proměnných, vyvolání dokumentace a další). V C++ a objektových jazycích už dochází dech (tam už je potřeba kontextové doplňování, když už nic jiného). Nicméně možná je tam něco co si nedovedu představit
Pri praci s Javou jsem byl velmi spokojeny s Borland JBuilderem, i kdyz je to trochu liny dinosaurek. Ale dost si cloveka hycka
To je právě to, co píšu ve svém zápisku. Neexistuje univerzální IDE, které umí dobře spoustu programovacích jazyků. Pro mě je Eclipse na Javu a tam taky patří. Když budu dělat v Javě, tak určitě sáhnu po Eclipse (tedy pokud budu mít po ruce dostatečně výkonný stroj, on to taky není žádný drobeček).Ještě doporučuji shlédnout Intellij Idea. Je sice (IMHO) pořád trochu před Eclipse co do featur, ale na druhou stranu není zadarmo. Paradoxní je, že když jsem je naposledy porovnával tak Eclipse bylo výrazně pomalejší, ačkoliv bych kvůli použitému SWT očekával opak. Alespoň tedy pod Linuxem a jdk 1.5, možná pod Windows je situace jiná.
Pokud nějaké IDE začne mít tendenci být příliš univerzální a podporovat mnoho jazyků, tak nastane jedna ze dvou možností: 1) takové IDE začne být pro většinu jazyků méně efektivní, než kdyby se vzal nástroj zaměřený na konrétní jazyk, nebo 2) takové IDE je geniálně a univerzálně navrženo, což je ale varianta, se kterou jsem se ještě nesetkal, takže možná někdy v budoucnuEclipse je univerzální, protože samo o sobě je vlastně jen plugin framework