abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:22 | Zajímavý článek

    Jiří Eischmann se v příspěvku na svém blogu rozepsal o open source AdGuard Home jako domácí ochraně nejen před reklamou. Adguard Home není plnohodnotným DNS resolverem, funguje jako DNS forwarder s možností filtrování. To znamená, že když přijme DNS dotaz, sám na něj neodpoví, ale přepošle ho na vybraný DNS server a odpovědi zpracovává a filtruje dle nastavených pravidel a následně posílá zpět klientům. Dá se tedy používat k blokování reklamy a škodlivých stránek a k rodičovské kontrole na úrovni DNS.

    Ladislav Hagara | Komentářů: 3
    dnes 03:33 | Zajímavý software

    AI Claude Code od Anthropicu lépe rozumí frameworku Nette, tj. open source frameworku pro tvorbu webových aplikací v PHP. David Grudl napsal plugin Nette pro Claude Code.

    Ladislav Hagara | Komentářů: 1
    dnes 00:11 | Nová verze

    Byla vydána prosincová aktualizace aneb nová verze 1.108 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.108 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | IT novinky

    Na lasvegaském veletrhu elektroniky CES byl předveden prototyp notebooku chlazeného pomocí plazmových aktuátorů (DBD). Ačkoliv se nejedná o první nápad svého druhu, nepochybně to je první ukázka praktického použití tohoto způsobu chlazení v běžné elektronice. Co činí plazmové chladící akční členy technologickou výzvou je především vysoká produkce jedovatého ozonu, tu se prý podařilo firmě YPlasma zredukovat dielektrickou

    … více »
    NUKE GAZA! 🎆 | Komentářů: 7
    včera 16:33 | Zajímavý projekt

    Patchouli je open source implementace EMR grafického tabletu (polohovací zařízení). Projekt je hostován na GitLabu.

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | IT novinky

    Český Nejvyšší soud potvrdil, že česká právní úprava plošného uchování dat o elektronické komunikaci porušuje právo Evropské unie. Pravomocným rozsudkem zamítl dovolání ministerstva průmyslu a obchodu. To se teď musí omluvit novináři Českého rozhlasu Janu Cibulkovi za zásah do práv na ochranu soukromí a osobních údajů. Ve sporu jde o povinnost provozovatelů sítí uchovávat údaje, ze kterých lze odvodit, kdo, s kým a odkud komunikoval.

    Ladislav Hagara | Komentářů: 11
    včera 02:11 | Komunita

    Google bude vydávat zdrojové kódy Androidu pouze dvakrát ročně. Ve 2. a 4. čtvrtletí.

    Ladislav Hagara | Komentářů: 1
    7.1. 17:22 | Zajímavý článek

    Bezpečnostní specialista Graham Helton z Low Orbit Security si všímá podezřelých anomálií v BGP, zaznamenaných krátce před vstupem ozbrojených sil USA na území Venezuely, které tam během bleskové speciální vojenské operace úspěšně zatkly venezuelského diktátora Madura za narkoterorismus. BGP (Border Gateway Protocol) je 'dynamický směrovací protokol, který umožňuje routerům automaticky reagovat na změny topologie počítačové sítě' a je v bezpečnostních kruzích znám jako 'notoricky nezabezpečený'.

    NUKE GAZA! 🎆 | Komentářů: 11
    7.1. 06:11 | Nová verze

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,58 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,32 %. Procesor AMD používá 67,43 % hráčů na Linuxu.

    Ladislav Hagara | Komentářů: 4
    7.1. 05:55 | IT novinky

    V Las Vegas probíhá veletrh CES (Consumer Electronics Show, Wikipedie). Firmy představují své novinky. Například LEGO představilo systém LEGO SMART Play: chytré kostky SMART Brick, dlaždičky SMART Tagy a SMART minifigurky. Kostka SMART Brick dokáže rozpoznat přítomnost SMART Tagů a SMART minifigurek, které se nacházejí v její blízkosti. Ty kostku SMART Brick aktivují a určí, co má dělat.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (2%)
     (5%)
     (0%)
     (9%)
     (21%)
     (4%)
     (5%)
     (3%)
     (11%)
     (54%)
    Celkem 311 hlasů
     Komentářů: 7, poslední včera 15:35
    Rozcestník

    Vejce a slepice

    24.1.2006 20:00 | Přečteno: 1398× | Jen tak | poslední úprava: 24.1.2006 20:00

    Zdá se, že ta myšlenka už napadla každého, kdo se trochu motá kolem počítačů a programování. Jak to vlastně začalo? V čem se vůbec píše takový překladač? Je jasné, že gcc se píše v jazyce C, ale co v době, kdy C nebylo? Co by se vůbec stalo, kdyby nějaký virus smazal všechny překladače?

    V pradávných dobách (tak 50. léta minulého století), kdy vznikaly první předchůdci dnešních počítačů, ovšem s "výkonem" nad kterým by ohrnula nos i vaše kalkulačka, software prakticky neexistoval. Programování se sestávalo z propojování patřičných vodičů a hlavně z výměn porouchaných relé a elektronek. Je zajímavé, že staré obrázky Eniacu nejvíce připomínají zapojení síťových prvků :-D.

    Dalším vývojem se počítače začaly podobat těm, co známe dnes. Dostaly aritmeticko-logické jednotky, vstupně-výstupní porty, řadiče pro paměť a spoustu těch nezbytných věcí, které dělají počítač počítačem. Také programování se změnilo, místo "drátařiny" se začalo psát ve strojovém kódu daného procesoru. Ti nejlepší ze sebe sypali opkódy instrukcí a použitých registrů z paměti.

    Naproti tomu ti, kterým se nechtělo tohle pamatovat, přemýšleli, až dali dohromady něco, co se česky správně, ale nepěkně, nazývá jazyk symbolických instrukcí. Lidově řečeno assembler. Ten zavedl lidsky zapamatovatelné názvy instrukcí a registrů. Také lebely, takže nebylo nutné adresy skoků počítat ručně, ale stačilo symbolické pojmenování skoků (proto ten český název).

    No a právě assembler je tím základem libovolného jazyka. Pokud vymyslíme zbrusu novou platformu, tak první, co asi uděláme je, že na ni portujeme překladač jazyka C (anebo interpret Lispu). Ovšem dnes není potřeba jej psát celý v assembleru naší nové platformy, ale pouze patřičně upravit tu část, která generuje binární kód. Ale v dobách, kdy K&R C vytvářeli, tak museli pochopitelně celý překladač psát v assembleru (nebo v jiném jazyce -- že by v B?).

    Ale když už máme překladač jazyka, můžeme jeho další verzi psát přímo v tom jazyce. Jazyk, který je dost mocný na to, aby v něm mohl být implementován jeho překladač se nazývá self-hosting a prvním takovým jazykem byl Lisp (alespoň to tvrdí wikipedia, já sám znám Lisp pouze jako interpretovaný jazyk). A po něm jazyky C a Pascal, případně Java, ... .

    Současným příkladem tvorby překladače (interpretru) pro nový self-hosting jazyk je Perl6. Protože není Perl6 ještě hotový, je jeho interpret Pugs napsán v Haskellu.

           

    Hodnocení: 89 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    24.1.2006 20:14 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Vejce a slepice
    Ti nejlepší ze sebe sypali opkódy instrukcí a použitých registrů z paměti.

    Vzpomínám si, že instrukci CALL jsem dlouho říkal "CD". To jsem netušil, že patřím k nejlepším, myslel jsem, že je to jen tím, že než se objevil DAM, neexistoval pro PMD-85 slušný assembler… :-)

    24.1.2006 21:03 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Vejce a slepice
    OK, ale ti horší si to museli hledat v tabulkách :-)
    When your hammer is C++, everything begins to look like a thumb.
    David Watzke avatar 24.1.2006 20:31 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Vejce a slepice
    Python je taky self-hosting.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    24.1.2006 21:02 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Vejce a slepice
    Klasický Python, alias CPython není self-hosting, protože je vnitřně implementován v C. To, že můžeš spouštět (a překládat do bytecode) externí skripty je vlastnost všech interpretovaných jazyků, to zařizuje runtime. Nicméně existuje projekt PyPy (Python in Python), který implementuje Python v Pythonu.
    When your hammer is C++, everything begins to look like a thumb.
    24.1.2006 20:36 Tomáš | skóre: 25 | Ústí nad Labem
    Rozbalit Rozbalit vše Re: Vejce a slepice
    Jazyk, který je dost mocný na to, aby v něm mohl být implementován jeho překladač se nazývá self-hosting a prvním takovým jazykem byl Lisp ... A po něm jazyky C a Pascal, případně Java
    No, já nevím, ale IMO takovej vlastní javac by asi běžel jen v JVM, ale to nechcu kecat. Spot je to hezkej, chválím :-)
    24.1.2006 20:51 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Vejce a slepice
    No však taky je javac napsaný v Javě :-). To není problém, pokud chceš překládat javovské programy, chceš je pravděpodobně i spouštět, takže JVM potřebuješ tak jako tak. Samotné JVM (aspoň to od Sunu) je afaik v C++.
    When your hammer is C++, everything begins to look like a thumb.
    24.1.2006 21:36 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
    Rozbalit Rozbalit vše Re: Vejce a slepice
    Proc tohle vypada jako prepis prvni prednasky doc. Zborila? :-D
    ~ w w w w (oo)   [oo] w w w w ~
    24.1.2006 22:00 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Vejce a slepice
    Fakt? Na svou obranu můžu říct, že jsem to nekopíroval, ale napsal celé sám ... je tedy možné, že mi něco z té přednášky uvízlo v hlavě (i když to považuji za dost podivné :-D). Mrknu se na to
    When your hammer is C++, everything begins to look like a thumb.
    24.1.2006 23:18 XXX | skóre: 4 | blog: CAD | X
    Rozbalit Rozbalit vše Re: Vejce a slepice
    já mám takový pocit že se tě vždycky na něco zeptám a pak se to objeví +- na abíčku... :-))))
    24.1.2006 22:13 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Vejce a slepice
    Jenom takový dotaz, kterou přednášku (z kterého předmětu) máš na mysli?
    When your hammer is C++, everything begins to look like a thumb.
    25.1.2006 10:41 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
    Rozbalit Rozbalit vše Re: Vejce a slepice
    Asemblery (IAS) - prvni semestr na FIT.

    Ale jak moc to je podobne rict nedovedu, doc. Zborila jsem navstivil jen na te prvni prednasce a pak az na zkousce :-D
    ~ w w w w (oo)   [oo] w w w w ~
    25.1.2006 12:08 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Vejce a slepice
    No já jen, že jsem se na tu přednášku díval a byly tam převody mezi číselnými soustavami ... což mi moc podobné nepřišlo :-). IAS jsem neměl, já měl ještě Strojově orientované jazyky, ale myslím, že to bude hodně podobné.
    When your hammer is C++, everything begins to look like a thumb.
    25.1.2006 12:26 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
    Rozbalit Rozbalit vše Re: Vejce a slepice
    Ve slajdech jsou prevody, to jo, ale hned ze zacatku tam Zboril vypravel neco, co vypada uplne jako zacatek Tvyho blogspotu :-)

    Ale mohl to byt jen dojem, prepis z te prednasky nemam :)
    ~ w w w w (oo)   [oo] w w w w ~
    alblaho avatar 25.1.2006 00:08 alblaho | skóre: 17 | blog: alblog
    Rozbalit Rozbalit vše Re: Vejce a slepice
    BTW, Lisp v Lispu se dá napsat na jeden papír A4. Inu jednoduchá gramatika :-)
    23.3.2006 04:05 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Vejce a slepice
    http://fabrice.bellard.free.fr/otcc/otcc.c

    Tenhle self-hosting kompilátor Cčka taky není dvakrát velký, co? ;-)
    Heron avatar 25.1.2006 11:09 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Vejce a slepice
    Mimochodem, odpověď na otázku, "Co bylo dřív, slepice nebo vejce?" Je: "Vejce". A to proto, že se takto rozmnožují i plazi a ti byli na planetě dřív, než ptáci.
    25.1.2006 11:16 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
    Rozbalit Rozbalit vše Re: Vejce a slepice
    Tedy je na čase položit si novou otázku - bylo dřív vejce, nebo klokodýl? :-D
    ~ w w w w (oo)   [oo] w w w w ~
    25.1.2006 14:10 zde | skóre: 9 | blog: Linuch | Brno
    Rozbalit Rozbalit vše Re: Vejce a slepice
    Také lebely, takže nebylo nutné adresy skoků počítat ručně, ale stačilo symbolické pojmenování skoků (proto ten český název).

    Napsal jsem docela dost kódu na C64 v programu Hesmon zvaném "monitor". Šlo o hex editor + asm + disasm. Assembleru jste před každou instrukcí museli napsat absolutní adresu kam se má opcode a argumenty uložit, všechny argumenty byly také absolutní- prostě šlo jen o trochu lepší ukládání konstant do paměti. Kupodivu se v tom dalo docela dobře programovat, jen musel člověk programovat zdola nahoru a na papíře si poznamenávat adresy podprogramů. Dopředné reference se psaly tak že pro neexistující funkci si nějakou adresu vymyslím, a až ji začnu psát, použiju funkci monitoru "relink", která jednoduše disasembluje region, a ke všem referencím do zadaného rozsahu přičte konstantu.

    Pak jsem přišel na to že při psaní kódu je dobré občas vyplýtvat 3x NOP, když později zjistím že funkce má udělat ještě něco dalšího, jednoduše se to přepíše na JSR.

    Taky bylo docela zvykem alignovat kód po 256 bajtech. Sice to trochu plýtvalo pamětí, ale jednotlivé procedury se dobře nafukovaly. Kupodivu takhle bylo psáno i mnoho her- mezery mezi funkcemi byly vyplněné nulami, cruncher to stejně zkomprimuje.
    Táto, ty de byl? V práci, já debil.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.