Mozilla má nové logo a vizuální identitu. Profesionální. Vytvořeno u Jones Knowles Ritchie (JKR). Na dalších 25 let.
Bylo rozhodnuto, že nejnovější Linux 6.12 je jádrem s prodlouženou upstream podporou (LTS). Ta je aktuálně plánována do prosince 2026. LTS jader je aktuálně šest: 5.4, 5.10, 5.15, 6.1, 6.6 a 6.12.
Byla vydána nová stabilní verze 3.21.0, tj. první z nové řady 3.21, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu architektury Loongson LoongArch64.
Hodnota Bitcoinu, decentralizované kryptoměny překonala 100 000 dolarů (2 390 000 korun).
Hurl byl vydán ve verzi 6.0.0. Hurl je nástroj běžící v příkazovém řádku, který spouští HTTP požadavky definované v textovém souboru.
Výsledek hlasování: Výchozím grafickým motivem Debianu 13 aneb Trixie bude Ceratopsian.
Rodina jednodeskových počítačů Orange Pi se rozrostla (𝕏) o Orange Pi 5 Ultra.
Mobilní Datovka, tj. svobodná aplikace pro přístup k datovým schránkám pro zařízení s operačním systémem iOS a Android, byla vydána v nové verzi 2.2.0. Nově lze nastavit vlastní obrázky pro jednotlivé datové schránky pro jejich lepší identifikaci v seznamu schránek. Přidán byl editor vnitřních nastavení aplikace, který slouží jako přehled všech hodnot, které aplikace udržuje.
Společnost DuckDuckGo stojící za stejnojmenným vyhledávačem letos věnovala 1,1 milionu dolarů na podporu digitálních práv, online soukromí a lepšího internetového ekosystému. Peníze byly rozděleny mezi Electronic Frontier Foundation (EFF), Public Knowledge, ARTICLE 19, Demand Progress, European Digital Rights (EDRi), Fight for the Future, The Markup, OpenMedia, Restore the Fourth, Signal, Surveillance Technology Oversight
… více »Čím je tato verze, v pořadá již dvanáctá, tak významná? Mohla by být důležitým předělem, protože verze 11 (starší jsem neměl tu čest vyzkoušet, takže k nim nemohu nic bližšího říct) byla pro vývoj v GNU/Linuxu prakticky nepoužitelná. Právě proto jsem dvanácté vydání očekával dost netrpělivě a hodně si od něj sliboval. Následující odstavce jsou založeny na zkušenostech ze zhruba půlročního používání.
Sun Studio je balík napsaný převážně v Javě a založený na platformě NetBeans, v daném případě na verzi 5.5. Obsahuje také kompilátor, debugger a další nástroje od firmy Sun Microsystems, a kromě toho i programy jako vim nebo xemacs.
Celý balík by měl být plně způsobilý k rychlému vývoji v jazycích C, C++ a Fortran. Tím mám na mysli to, že si vývojář "nakliká" potřebné zdrojové soubory a pak jedním stiskem tlačítka odstartuje kompilaci, běh cílového programu nebo jeho ladění. Někomu takový styl práce nevyhovuje, ale není problém jít vlastní cestou a připravit si Makefile podle svého.
Sun Studio lze stáhnout z webových stránek Sun Microsystems. Je k tomu ale potřeba registrace do Sun Developer Network (SDN). Balík samotný je zdarma, lze si přikoupit dvě různé úrovně podpory za ceny v této oblasti obvyklé.
Na zájemce čeká přibližně 400 MB velký instalační balík - ano, je skutečně tak velký. Jenže ono je to z velké části tím, že jsou v něm obsaženy (kromě samotného studia) i další programy a knihovny. Například xemacs má (včetně přiložených zdrojových kódů) po rozbalení cca 280 MB, STLPort zabírá 50 MB a tak podobně. Je otázka, do jaké míry je to účelné, ale na druhou stranu, kdo by to potřeboval, najde to tam. Pokud je studio NetBeans (nejméně ve verzi 5.5) již v systému nainstalováno, nemusí se znovu instalovat se Sun Studiem - ušetří se dalších cca 180 MB.
Před instalací je samozřejmě potřeba mít již nainstalováno prostředí Javy 5.0 (JDK 1.5) nebo novější. Instalace probíhá prostřednictvím grafického průvodce. Je to jednoduché, jen doporučuji vypnout instalaci čínštiny a japonštiny - nepředpokládám, že by je někdo potřeboval.
Pozor na to, když instalátor ohlásí nedostatek místa. Pouze uvolnit místo nestačí, je potřeba instalátor ukončit a znovu spustit. Zřejmě provádí kontrolu někde na začátku a pozdější změny nereflektuje.
První věc, která mě na Sun Studiu upoutala (už u verze 11, ale tady to přetrvalo), byla rychlost. Tedy rychlost v porovnání se studiem Eclipse, které jsem pro vývoj dosud používal. Co se týká paměťové náročnosti, je na tom Sun Studio velmi podobně jako Eclipse (tedy řádově stovky MB) - ani jednou jsem však na rozdíl od Eclipsu nezažil, aby toto IDE narazilo na nedostatek paměti a nemohlo kvůli tomu například uložit soubor. S 512 MB operační paměti se Sun Studio již dá rozumně provozovat a od 1 GB výše je již práce velmi pohodlná.
Po spuštění studia vypadá jeho GUI tak, že v dolní části se zobrazuje výstup kompilátoru i vlastního programu, vlevo nahoře pohled na projekty a soubory, vlevo uprostřed pohled na třídy, jejich položky a metody atd. V pravé části je potom editor, kde se jednotlivé soubory zobrazují jako listy (taby, záložky, nebo jak to označit). Dobře je to vidět na obrázku.
To všechno, jak bylo popsáno, v podstatě bez problémů funguje. V editoru lze pohodlně editovat a je relativně dobře nastavitelný, mezi jednotlivými pohledy lze přecházet podle potřeby nebo si měnit zobrazení. Jednu výtku ale mám - z pohledu na třídy/metody nelze přejít přímo do implementace, pouze do deklarace. Do implementace se musí jít až dalším krokem, přes kontextovou nabídku otevřenou u deklarace.
Kompilace, spouštění a ladění se ovládá buď přes kontextovou nabídku anebo přes tlačítka na panelu nástrojů (známá z NetBeans), případně klávesové zkratky. Zde je důležité nastavit tzv. hlavní projekt (main project). Ten se zobrazuje tučně a při spouštění akcí z panelu nástrojů nebo klávesami se tyto akce (kompilace atd.) vztahují vždy k tomuto hlavnímu projektu.
Práce s IDE začíná obvykle vytvořením nového projektu. K tomu v Sun Studiu slouží jednoduchý průvodce, kterým se nastavují parametry vytvářeného projektu. Lze začít prázdný projekt, využít šablonu nebo použít existující soubory. A to je právě kámen úrazu. S nově vytvářeným projektem nejsou problémy. Pokud ovšem použijeme existující soubory (C/C++/Fotran Project From Existing Code), jsou problémy se souborem Makefile
, který pak nefunguje, jak by měl. Proto doporučuji raději vytvořit úplně nový projekt (jeho adresář nesmí existovat), pak soubory do projektového adresáře přesunout a vložit do projektu.
Vkládání souborů do projektu je také zatíženo chybami (nebo vlastnostmi?). Vložit je lze buď do projektu jako celku nebo do určité logické složky. Logické složky jsou po vytvoření projektu čtyři, a to Header File, Source Files, Resource Files a Important Files. Nejlepší je vkládat soubory přímo do nich (tedy např. hlavičkové soubory přímo do Header Files), a to přes kontextovou nabídku (položka Add Existing Item...). Pokud se totiž vloží soubory do celého projektu, nejen že se samy nevytřídí (podle přípony apod.), jako je to u některých IDE zvykem, ale dokonce je problém je tam dostat ručně. Lze totiž sice vybrat více souborů najednou, ale při pokusu přesunout je do složky se odvyberou a zůstane jediný. A zkuste po jednom souboru třídit třeba projekt s 500 soubory...
Při editaci souborů lze využívat několik zajímavých pomůcek. Kromě již uvedeného pohledu na třídy je to rozbalovací seznam nad plochou editoru. Ten nabízí něco podobného, tedy rychlý pohyb podle metod, proměnných, maker apod., ale v rámci souboru. Je to velmi příjemná věc, navíc podstatně rychlejší než vyhledávání.
Další podobně příjemnou věcí je kvalitní a rychlá nápověda kódu. Pozor ale, že funguje jen podle toho, co je uloženo. Proto je potřeba po ukončení editace jednoho souboru a přechodu k dalšímu nejdřív ten první uložit, aby se změny promítly i do nápovědy.
V editoru lze dále používat záložky, rychlé zakomentovávání/odkomentovávání, odsazování, sbalování/rozbalování kódu, přeformátovávání, různé způsoby vyhledávání a v neposlední řadě také makra IDE pro prováděné činnosti.
Ještě musím upozornit na jednu nepříjemnou věc. Lze vytvářet nové soubory různého druhu (s tím, že se použije odpovídající šablona), ale nelze ovlivnit příponu názvu. Například soubor s implementací C++ je vždy nazván *.cc
a nepřišel jsem na to, jak studiu vnutit něco jiného (protože je často potřeba používat například *.cpp
). Lze to pouze obejít, a to tak, že se vytvoří zcela obecný prázdný soubor s potřebným názvem.
Dalším krokem po editaci bývá kompilace. V Sun Studiu lze přímo (bez další instalace a nastavování) používat dva kompilátory - klasický GCC a Sun CC. Většina lidí asi bude chtít používat ten první, jako výchozí je ale nastaven ten druhý. Je proto potřeba to změnit. S kompilátorem firmy Sun nemám zkušenosti, co se týká kvality generovaného kódu a dalších vlastností. Jisté ale je, že většina programů pro GNU/Linux s ním bez úprav přeložit nepůjde.
Kompilace probíhá inkrementálně, kompiluje se tedy jen to, co se od poslední kompilace změnilo. Pokud se při kompilaci objeví chyba nebo varování, příslušná informace ve výstupu se zvýrazní (jako hypertextový odkaz) a kliknutím lze přejít na místo problému.
Pro kompilaci lze udržovat různé konfigurace. Ve výchozím stavu jsou k dispozici dvě, Debug a Release. Lze je nastavovat (a přidávat nové) přes vlastnosti projektu. Měnit toho lze mnoho, jen namátkou třeba parametry kompilátoru (varování, optimalizace, parametry preprocesoru...), linkeru (knihovny, adresáře apod.), spouštění a řadu dalších věcí.
Jak jsem již řekl, spouštění je jednoduché a je to záležitost jednoho stisku tlačítka nebo klávesy. Záleží na nastavení, standardně se ale program spustí ve vlastním terminálovém okně. Výchozí volbou také je, že před spuštěním se program v případě potřeby překompiluje.
Podobně jako pro kompilaci, i při ladění si lze vybrat ze dvou nástrojů (nezávisle na tom, čím se kompilovalo). Jednak je to gdb
z projektu GNU, a dále také dbx
(původem z UC Berkeley). Opět je to tak, že většina lidí bude volit ten první, zatímco druhý je nastaven jako výchozí. Bohužel, ani jeden nepracuje stoprocentně spolehlivě. dbx
padá se záhadnými chybovými zprávami, gdb
prozměnu zase tuhne. Je otázka, nakolik je to záležitost zmíněných nástrojů a nakolik samotného Sun Studia. Někdy to ale komplikuje práci natolik, že je potřeba uchýlit se k osvědčené klasice, jako je například DDD.
Pokud ale ladicí nástroj funguje, je ladění velmi pohodlné. Týká se to jak vkládání breakpointů, krokování, zastavování a spouštění atd., tak přístupu k datům, k signálům, registrům, zásobníku a dalším důležitým věcem. Opět je to téměř ekvivalentní tomu, jak probíhá ladění javových programů v NetBeans, kde je však nesrovnatelně spolehlivější.
Kromě popsaných věcí toho Sun Studio 12 umí ještě mnohem víc. Mezi významnými věcmi stojí za to uvést například podporu OpenMP (Open Multi-Processing), což je platformově nezávislé rozhraní pro multiprocessing. Umožňuje například transparentně paralelizovat jednovláknové programy, provádět optimalizace pro vícejádrové procesory nebo efektivní analýzu problémů vláknových programů (viz dále).
Mezi další funkce Sun Studia patří kupříkladu práce s CVS archivy, aplikace záplat (patchů), databázové nástroje, nástroje pro profilaci, pro kontrolu práce s pamětí nebo s vlákny (díky podpoře OpenMP). Tyto nástroje jsem zatím netestoval (kromě profilačního nástroje, který z nějakého důvodu nefungoval), takže o nich nemohu říct nic bližšího.
Do studia lze přidávat další funkce, a to formou zásuvných modulů (pluginů). Mezi zajímavé pluginy patří například C/C++ Switch Source/Header (pro rychlé přepínání mezi hlavičkovým a implementačním souborem), C/C++ Refactoring (refactoring zdrojových souborů, zatím v experimentální podobě) nebo Path Tools (práce s cestami k souborům).
Sun Studio 12 představuje oproti téměř nepoužitelné jedenácté verzi obrovský krok kupředu. V řadě aspektů překonává nebo přinejmenším dotahuje svého největšího rivala prostředí Eclipse s pluginem CDT. Bohužel však trpí různými menšími neduhy, které dokáží pořádně znepříjemnit práci. Zejména se to týká problémů s laděním (které má ovšem například Eclipse do značné míry také), ale i vkládání souborů do projektu. Budou-li tyto nedostatky odstraněny, stane se Sun Studio pravděpodobně nejlepším vývojovým prostředím pro GNU/Linux.
I přes uvedené nedostatky lze používání Sun Studia doporučit. Jeho hlavní
cílovou skupinou budou vývojáři mající zkušenosti s vývojem pod Windows
(v prostředí Microsoft Visual Studio, jemuž se Sun Studio z hlediska koncepce
práce hodně podobá) a dále všichni, kterým práce s prostředím Eclipse z nějakých důvodů nesedí. Ale obecně každý, kdo chce rychle vyvíjet programy
v C nebo C++, a současně nepreferuje "hardcore" styl práce (editor vim
, konzolové nástroje), by v Sun Studiu mohl najít vhodný pracovní prostředek.
Nástroje: Tisk bez diskuse
Tiskni Sdílej:
Zna nekdo nejake dalsi IDE se kterym se da rozumne programovat i na slabsi masine?vim?
Jisté ale je, že většina programů pro GNU/Linux s ním bez úprav přeložit nepůjde.Proc?
gcc
?
Super, konecne se tematu nekdo ujal!Já jsem se toho ujal už před delší dobou. Bohužel jsem až nyní našel čas na to, abych to dokončil. Sypu si popel na hlavu
Zcela chybelo zhodnoceni pomucek pro navigaci v kodu a Code Assist!!Nechybělo. Naťukl jsem to a zmínil jsem se i o problému s asistentem.
Napriklad umi SS12 zobrazit seznam vyskytu pouziti nejake metody (References.. v CDT)?Pokud vím, tak neumí.
Jak je technicky Content Assist resen? Pres parser/indexer (jako Eclipse, tam to pohani slavny Lucene egine).Používá vlastní moduly (C/C++ Repository, C/C++ Code Completion). Ale jak je to uvnitř uděláno, to opravdu netuším.
Jak je zobrazeni Content Assistu rychle?Podstatně rychlejší než s CDT 3 (čtyřku jsem zatím nezkoušel). Nijak nezdržuje při práci.
Ma SS12 vlastni parser kodu nebo se spoleha na ctags (ci jiny podobny externi nastroj) jako KDevelop.Má vlastní parser.
Naparsuje SS12 bez problemu hlavickove soubory KDE/Qt nebo Gnome? (proste neceho netrivialniho). Poskytuje k nim napovedu?Zkusil jsem to (Qt+KDE) a musel jsem to předčasně ukončit. Mělo to tak enormní paměťové nároky, že by se to uswapovalo k smrti. Může to vyzkoušet někdo, kdo má aspoň 2 GB paměti
Nejaka podpora pro projekty zalozene na Autotools, Cmake, Scons ci QMake? Asi ne co.Špatná. Umí si to spouštět configure (nebo cmake apod.), ale to je tak všechno. Samo to takové soubory nevygeneruje.
Jak je na tom Ajunta?Anjuta autotools umí. Aspoň do určité míry.
Jak vypada Diff View (porovnani souboru) v SS12.Lze využít buď vestavěný engine nebo diff (resp. to, co se nastaví) z příkazové řádky. Výsledky se zobrazí buď graficky (barevně) nebo textově (nevím, jak to má vypadat - u mě to vždycky vyhodí výjimku). Ale bez návodu nemá člověk šanci tu funkci vůbec najít - lze ji použít jen tak, že se vyberou dva soubory a otevře kontextová nabídka.
Srovnani SS12 s NetBenas s C++ pluginem. Lisi se vubec nejak nebo je to jen rebranding?Sun Studio toho obsahuje výrazně více (Sun Studio Collection). Zmiňuji to v článku. I když asi jsem tam měl napsat, jak se to přesně liší.
Nejaka podpora refactoringu? Alespon inteligentrni prejmenovani objektu/metod jako u CDT? Rucne prejmenovat hojne pouzivanou funkci neni zadny med.Přímo ve studiu není vůbec nic. Je potřeba doinstalovat plugin, o kterém se zmiňuji. Zatím jsem ho nezkoušel.
Zobrazuje SS12 pripadne chyby v C/C++ kodu okamzite (neco jako cervene podtrzeni)? Nebo se musi cekat az na kompilaci? (tady trochu zadrhava i CDT..)Až po kompilaci. S CDT jsem neměl moc dobré zkušenosti, podtrhával mi spoustu věcí, které byly naprosto v pořádku.
Dekuji za odpovedi. Clanek vrele vitam, vic takovych. Ze to stalo vic casu nez clovek asi puvodne zamyslel mi ani nemusite vysvetlovat. Hlavni je ze clanek vysel.
Omluvam se pokud jsem se ptal na neco co uz v clanku bylo. Ctu to v praci, ponekud prerusovane.
Zkousel jste do SS12 importovat nejaky rozsahlejsi projekt? Myslim poradny zatezovy test. Zdrojaky KDE base, Mozillu Firefox nebo tak neco (pokud jste masochista tak OOo :)
Zkusil jsem to (Qt+KDE) a musel jsem to předčasně ukončit. Mělo to tak enormní paměťové nároky, že by se to uswapovalo k smrti. Může to vyzkoušet někdo, kdo má aspoň 2 GB paměti
Mam tomu rozumet tak, ze KDE/Qt projekty nejdou importovat do SS12 !?!? Tedy leda se zapnutym Content Assitem nad tridami KDE/Qt. To by bylo dost smutne.
AD indexer - Clovek se obvykle musi zakousnout do dokumentace aby zjistl takove veci :( ale takovy amatersky test je, pokud nactete vetsi projekt, hodne knihoven atd. bez indexu je to strasne pomale (leda ze by to cele nejak nacetl do pameti). Napriklad CDT 3 byla prave tak pomala protoze Code Assist z vetsi casti nebyl zalozen na indexu, jen vyhledavani.
Ma SS12 vlastni parser kodu nebo se spoleha na ctags (ci jiny podobny externi nastroj) jako KDevelop. Tohle je jedna ze slabych stranek KDevelopu.KDevelop nepoužíva na parsovanie kódu ctags ani iný externý nástroj. Jeho parser je ale tiež dosť bugovitý...
predpokladam ze podobne jako netbeans i tohle de i na windoze???