![]() |
![]() |
POZOR! Tento článek byl naposledy aktualizován před více než dvěma lety! Je možné, že následující stránka obsahuje odkazy, které dnes již nejsou funkční, nebo že některé informace uvedené v tomto článku se v průběhu času ukázaly jako prokazatelně chybné. Pokud jakoukoliv podobnou závadu zjistíte, tak neváhejte napsat co nejpřesnější popis závady do veřejného komentáře pod článkem: redakce TečkyCZ nové komentáře neustále sleduje, a to i pod těmi nejstaršími články. V celé řadě případů lze chyby snadno opravit - např. se stává, že video na YouTube bylo smazáno a znovu nahráno pod jiným id. V jiných případech někdo zase zakáže embedovaní videa, která přitom existuje ve více kopiích, nebo se z webu ztratí stránka umístěná na negarantovaném freehostingu, zatímco původní autor stránek si mezitím zaregistruje vlastní doménu, atd.Děkujeme všem, kteří pomáhají opravovat chyby ve starších webových stránkách a udržují tak Internet naživu - redakce TečkyCZ. V linuxovém kernelu se 44878x vyskytuje příkaz gotoxChaos 2. února 2009 [3644 znaků] [Linux a internet]Zobrazení 3838 ← RSS 275 Facebook 5 Twitter 18 Google 15 Komentářů 1 Už dlouho jsem nepsal nic o programování, Linuxu a Internetu, takže je čas to napravit. Vzpomínáte na fanatické bojovníky proti příkazu goto, kteří ovládali akademickou půdu v 80. letech 20. století ? Spousta lidí umí programovat v C, nebo v jazycích, které jsou velmi zhruba odvozeny od původní C syntaxe (C++, PHP, Perl, Javascript, Java ...) - a jedním z největších open source projektů napsaných v jazyce C je bezpochyby linuxový kernel.
Podívejme se tedy na četnost výskytu jednotlivých C identifikátorů [teckacz.arachne.cz] ve verzi 2.6.28.2 zdojáku linuxového kernelu. Četnost výskytu příkazu goto asi nepřekvapí, pokud si uvědomíme, že v čistém C neexistuje dnes už poměrně běžná konstrukce typu try ~ catch/except pro systematické ošetření vyjímek. Na druhou stranu - toto zjištění jistě pobaví všechny, kdo v rané fázi svého programátorského vývoje úpěli pod jhem akademických dogmatiků konce 80. let 20. století, kteří prosazovali místo C programovací jazyk Pascal (kde je mu dnes konec ? :-) a příkaz goto pokládali za největší zlo - a to ještě ani neznali flow-control příkaz comefrom [en.wikipedia.org] :-) Tento statistický výcuc byl vygenerován krátkým prográmkem v Pythonu [dev.arachne.cz], který vznikl jako součást chystané sady benchmarků [dev.arachne.cz] pro můj v současné době asi nejvážněji míněný projekt C<<1 [dev.arachne.cz], o kterém bych se tady brzy rád rozepsal více - některé zajímavé features fungují už teď, a projekt by měl být plnohodnotnou alternativou k C++ - programy napsané v C<<1 půjde přeložit v jakémkoliv plně ANSI C99 [en.wikipedia.org] kompatibilním compileru (tedy samozřejmě i v dnes asi nejrozšířenějším GCC - GNU C compileru) a spustit na jakékoliv POSIX kompatibilní platformě (tedy dnes obvykle Linux a FreeBSD). Jazyk C<<1 přitom má už v současné verzi vlastní polymorfní objektový model (pojatý nikoliv stylem "všechno je objekt", ale pouze jako volitelné rozšíření, nadstavbu) a implementuje řadu moderních postupů a nástrojů, které v klasickém C zoufale chybí - námatkou třeba systém ošetření vyjímek (try { }), nástroje pro jednoduchou práci s kontejnerovými datovými strukturami a nabídne jak spoustu nových flow control maker typu iterátory, tak i bezpečné prostředky pro jednoduchou práci se stringy. Ale více se dozvíte v samostatném článku, který o svém projektu chystám. Další samostatný článek chystám na téma Python [xkcd.com] - což je velice soudobý, velice jednoduchý a velice intuitivní programovací jazyk, který dnes pokládám za asi nejvhodnější jazyk pro úplné programátorské začátečníky. Jakkoliv výkon aplikací je pak samozřejmě nižší, než u rozumně optimalizovaného kódu napsaného v C - Python dost brzdí přístup "všechno je objekt", který má značnou režii - tak pořád je Python daleko elegantnější, než monstrozity typu PHP, které už napáchaly v posledních letech opravdu hodně škod. A zjistil jsem, že výrokem "Python je můj oblíbený dialekt Basicu" dokážu naštvat opravdu hodně lidí :-) Ovšem posledním mě známým předchozím vážně míněným programovacím jazykem, ve kterém hrál whitespace syntaktickou roli byl - Fortran. Takže se v nejbližší době můžete těšit minimálně na dvě (až tři) docela hutné programátorské kontroverze (projekt C<<1, samozřejmě Python a možná ještě něco o specifikaci C99). Zabíjení času flamewary na NYXu mě už přestává bavit, je čas na "masovou" osvětu... Sloupcová sazba: pokud je okno prohlížeče dostatečně velké (na monitoru s dostatečným rozlišením), zobrazí se článek ve více sloupcích (w3.org). Testováno v browserech Firefox, Opera a Chrome. Není implementováno v Internet Exploreru. Tato feature může způsobovat problémy ve starších verzích prohlížečů s jádrem Webkit (Google Chrome, Safari, Konqueror). Pokud nevidíte článek celý, zkuste zmenšit okno prohlížeče nebo použít verzi pro tisk. [zpět na začátek sloupcové sazby] Pokud se vám článek líbil, zkuste autora podpořit [zobrazit možnosti] → Sdílet v síti [Identi.ca - musíte být předem přihlášeni] [Twitter] [Facebook] [Jagg.cz] Formátovat pro tisk [bez komentářů] [s komentáři] Krátká forma URL (adresy) [http://teckacz.cz/822] Všechny články [od autora xChaos] [v rubrice Linux a internet] [nejnovější] Hodnocení článku čtenáři Tip: Pro moderaci ÄlĂĄnkĹŻ (kladnĂŠ nebo zĂĄpornĂŠ hodnocenĂ) je nutnĂŠ pouĹžĂt browser, kterĂ˝ podporuje javascript a cookies. Komentáře čtenářů
Počet zobrazených komentářů: 1 [celkový čas potřebný k prohledání databáze a vytvoření stránky: 0.38 sekund] Nápověda: ve vlastním zájmu uvádějte u komentářů pouze funkční a dostupnou e-mailovou adresu.
Přezdívku, která je jednou spojená s konkrétní e-mailovou adresou, už nyní nelze bez zásahu
administrátora serveru spojit s jinou adresou. Uvedením neplatné e-mailové adresy si v budoucnu
znemožníte upload ikonky i možnost použít některé další chystané neanonymní funkce vázané na
uvedení platné e-mailové adresy. TečkaCZ [Nejnovější články] [Nejnovější komentáře] [Zeď vzkazů] [Zeď odkazů] [Začátek článku] |
![]() |
| |||||||
![]() |
|||||||||||
| |||||||||||