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í
×
    25.7. 19:55 | IT novinky

    Americký výrobce čipů Intel propustí 15 procent zaměstnanců (en), do konce roku by jich v podniku mělo pracovat zhruba 75.000. Firma se potýká s výrobními problémy a opouští také miliardový plán na výstavbu továrny v Německu a Polsku.

    Ladislav Hagara | Komentářů: 22
    25.7. 17:33 | Komunita

    MDN (Wikipedie), dnes MDN Web Docs, původně Mozilla Developer Network, slaví 20 let. V říjnu 2004 byl ukončen provoz serveru Netscape DevEdge, který byl hlavním zdrojem dokumentace k webovým prohlížečům Netscape a k webovým technologiím obecně. Mozille se po jednáních s AOL povedlo dokumenty z Netscape DevEdge zachránit a 23. července 2005 byl spuštěn MDC (Mozilla Developer Center). Ten byl v roce 2010 přejmenován na MDN.

    Ladislav Hagara | Komentářů: 0
    25.7. 14:55 | Nová verze

    Wayback byl vydán ve verzi 0.1. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

    Ladislav Hagara | Komentářů: 0
    25.7. 13:33 | Nová verze

    Byla vydána nová verze 6.18 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Nově se lze k síti Tor připojit pomocí mostu WebTunnel. Tor Browser byl povýšen na verzi 14.5.5. Thunderbird na verzi 128.12.0. Další změny v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    24.7. 14:33 | IT novinky

    Meta představila prototyp náramku, který snímá elektrickou aktivity svalů (povrchová elektromyografie, EMG) a umožňuje jemnými gesty ruky a prstů ovládat počítač nebo různá zařízení. Získané datové sady emg2qwerty a emg2pose jsou open source.

    Ladislav Hagara | Komentářů: 1
    24.7. 14:22 | Nová verze

    Byla vydána (𝕏) nová verze 25.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 25.7 je Visionary Viper. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 0
    24.7. 13:33 | IT novinky

    Před 40 lety, 23. července 1985, společnost Commodore představila první počítač Amiga. Jednalo se o počítač "Amiga od Commodore", jenž byl později pojmenován Amiga 1000. Mělo se jednat o přímou konkurenci počítače Apple Macintosh uvedeného na trh v lednu 1984.

    Ladislav Hagara | Komentářů: 2
    24.7. 06:00 | IT novinky

    T‑Mobile USA ve spolupráci se Starlinkem spustil službu T-Satellite. Uživatelé služby mohou v odlehlých oblastech bez mobilního signálu aktuálně využívat satelitní síť s více než 650 satelity pro posílání a příjem zpráv, sdílení polohy, posílání zpráv na 911 a příjem upozornění, posílání obrázků a krátkých hlasových zpráv pomocí aplikace Zprávy Google. V plánu jsou také satelitní data.

    Ladislav Hagara | Komentářů: 9
    23.7. 21:55 | Komunita

    Společnost Proxmox Server Solutions stojící za virtualizační platformou Proxmox Virtual Environment věnovala 10 000 eur nadaci The Perl and Raku Foundation (TPRF).

    Ladislav Hagara | Komentářů: 2
    23.7. 21:22 | Bezpečnostní upozornění

    Byla vydána nová verze 2.4.65 svobodného multiplatformního webového serveru Apache (httpd). Řešena je bezpečnostní chyba CVE-2025-54090.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (29%)
     (26%)
     (6%)
     (5%)
     (4%)
     (1%)
     (3%)
     (26%)
    Celkem 143 hlasů
     Komentářů: 17, poslední včera 20:08
    Rozcestník

    Exotické jazyky a různé syntaxe

    23.8.2006 22:22 | Přečteno: 1859× | Linux | Výběrový blog

    Při občasném psaní seriálku o překladačích zjišťuji, že neznám prakticky žádné programovací jazyky. Teda znám jich dost, ale to jsou takové ty běžné, jazyky jako je C, Pascal, C++, Java, JavaScript, PHP, Python, shell, SQL (a PL/SQL) a trochu VHDL. Jediný z exotičtějších jazyků je Smalltalk a trochu jsem viděl D a Logo. Momentálně po očku pokukuji po Lispu (líbí) a Forthu (taky líbí, ale asi nemám využití), což jsou jazyky ze zcela jiného soudku, než ty předešlé (až na ten Smalltalk).

    Proto bych rád věděl, zda někdo z vás nezná některý z jazyků, které jsou pro mě exotické. Příkladem mohou být Eifell, OCAML, Ada, Prolog (přiznám se, že jsem ho moc nepochopil), Haskell, Goedel, nebo třeba veteráni Fortran, případně Cobol. Vím, že si můžu během pár minut přečíst popisy všech jazyků na wikipedii (nebo jinde), ale zajímal by mě váš osobní názor na ten který jazyk. Například to, že jazyk XY má vlastnost YZ, která se mi moc líbí.

    BTW: informace o Lispu, Forthu, Smalltalku, Logu a D pochopitelně beru taky (hlavně se zaměřením na překladače) :-D

    A ještě na závěr malá anketa na téma, u kterého jsem se nemohl s kolegou shodnout. Pokud programujete ve více jazycích současně, dělá vám potíže přecházet mezi různými syntaxemi, anebo preferujete raději všude stejnou (nebo podobnou)?

           

    Hodnocení: 100 %

            špatnédobré        

    Anketa

    Dělá vám potíže přecházet mezi syntaxemi různých jazyků?
     (28 %)
     (52 %)
     (20 %)
    Celkem 89 hlasů

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

    Komentáře

    Vložit další komentář

    23.8.2006 22:59 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Exotické jazyky a různé syntaxe
    Omezovat se na jednu syntaxi nebo jeden druh jazyka a prováděcí model je hřích a tunelové vidění. Kolik mindsetů ovládneš, tolikrát jsi programátorem. :-)

    Dovolím si vzhedem k únavě rukou a hlavy v tuhle hodinu jen jeden link:

    http://www.cfcl.com/~eryk/weblog/archives/000129.html

    Tak, jako existují překvapivé souvislosti v různých oborech matematiky (Wilesův důkaz Fermatovy věty), existují zřejmě i mezi jazyky. I tak architektonicky a koncepčně odlišná prostředí, jaká popisuje odkazovaná stránka, dospěla v mnoha směrech k pozoruhodné podobnosti. Mně to přijde jako pěkný jev. :-)
    23.8.2006 23:28 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: Exotické jazyky a různé syntaxe
    Což, zápis mi nepřijde jako problém (on opravdu v podstatě žádný není :-)), ale skutečně třeba ve Forthu něco naprogramovat, to už ano. Snažím se o to, výsledky nevalné.
    Copak toho není dost?
    24.8.2006 02:48 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Exotické jazyky a různé syntaxe
    Leo Brodie praví:

    "In fact, you shouldn't write any serious application in Forth; as a language it's simply not powerful enough. What you should do is write your own language in Forth (lexicons) to model your understanding of the problem, in which you can elegantly describe its solution."

    Přičemž vzhledem k tomu, co je to za jazyk, jde opravdu o vytvoření DSLka a ne jen sady funkcí. Základní problém je, že jak Pavel Tišnovský píše, že Forth je po Lispu a Algolu třetí (ovšem minoritní) jazyková větev. Granularita jeho konstrukcí je dost jiná a já teprv začal vychytávat ty slepé uličky, co včechno se v něm psát nemá. :-D Na rozdíl od některých jiných jazyků je to ale aspoň zábava a kus originálního přemýšlení. :-) Ti lidé, kteří ho nepochopili, jsou pak většinou autoři těch nečitelných kusů kódu, které od něj nováčky odrazují. Funkce na osm řádků v něm fakt není dobrý nápad... :-D

    Jako kdyby ho navrhli mimozemšťani. Hmm, když o tom tak přemýšlím...nejprve infikoval nějakou tu hvězdárnu, že jo? Že by? :-D

    Našel jsem třeba pěknou věc jménem PatternForth - pattern matching engine pro realtimové aplikace. Zajímavá věc, se spoustou znovupoužitelných myšlenek a podknihoven...
    24.8.2006 08:32 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Exotické jazyky a různé syntaxe
    Co jsem četl rozhovory s GvR, tak jeho samotného překvapilo, proč lidé srovnávají Python s Lispem, když on Lisp nezná.

    Ten článek jsem už četl, v podstatě se s ním dá souhlasit. Ale stejně se mi víc líbí S-výrazy, než Smalltalk (možná za to může Squeak) :-D
    When your hammer is C++, everything begins to look like a thumb.
    24.8.2006 08:46 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Exotické jazyky a různé syntaxe
    „Co jsem četl rozhovory s GvR, tak jeho samotného překvapilo, proč lidé srovnávají Python s Lispem, když on Lisp nezná.“
    No, hádám, že Guido se už stihl v Googlu rozkoukat a že už si popovídal i s Peterem Norvigem... :-D
    24.8.2006 08:57 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Exotické jazyky a různé syntaxe
    No, myslím, že mu o Lispu někdo pověděl o něco dřív :-). Vzhledem k tomu, jak vehementně se do Pythonu přidává kdeco z okolních jazyků, budou je lidé kolem GvR asi znát.
    When your hammer is C++, everything begins to look like a thumb.
    23.8.2006 23:32 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: Exotické jazyky a různé syntaxe
    Mimochodem, hodně mě zaujaly některé prvky Selfu, takže ho přidávám k Michalovo výčtu jazyků, o kterých bych si rád nechal něco povědět ;-)
    Copak toho není dost?
    24.8.2006 08:23 ajikdpoe | skóre: 23 | blog: dvh
    Rozbalit Rozbalit vše Re: Exotické jazyky a různé syntaxe
    Self:

    (desktop activeWindow) draw: (labelWidget copy label: 'Hello, World!').

    Delphi:

    desktop.activeWindow.labelWidget.label := 'Hello, World!';

    Tak neviem ale to druhe sa mi zda trochu lepsie na pouzivanie !?
    24.8.2006 08:34 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Exotické jazyky a různé syntaxe
    Vzhledem k tomu, že self (aspoň co jsem slyšel) dovádí Smalltalk k dokonalosti, určitě bych jej nesrovnával s Delphi :-D
    When your hammer is C++, everything begins to look like a thumb.
    24.8.2006 18:26 Stanislav Bohm
    Rozbalit Rozbalit vše Re: Exotické jazyky a různé syntaxe
    Nektere myslenky Selfu pouziva Io (http://iolanguage.com/about/ ) Myslim ze stoji za zhlednuti.
    23.8.2006 23:49 diverman | skóre: 32 | blog: život s tučňáčkem
    Rozbalit Rozbalit vše Re: Exotické jazyky a různé syntaxe
    deb http://ftp.cz.debian.org/debian jessie main contrib non-free
    David Watzke avatar 24.8.2006 02:58 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Exotické jazyky a různé syntaxe
    V C++ jsem furt zapomínal na středníky, ale už se to lepší :-)
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    24.8.2006 03:08 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Exotické jazyky a různé syntaxe
    Patchnul sis kompilátor? :-D
    David Watzke avatar 24.8.2006 04:30 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Exotické jazyky a různé syntaxe;
    Ne, pro změnu je píšu všude :-D;
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    24.8.2006 04:40 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Exotické jazyky a různé syntaxe
    brainfuck

    :D
    24.8.2006 08:28 trancelius | skóre: 22
    Rozbalit Rozbalit vše Re: Exotické jazyky a různé syntaxe
    Souhlas, je to správně exotickej assembler-like :))
    mkoubik avatar 24.8.2006 19:08 mkoubik | skóre: 5 | blog: lorem_ipsum | Praha 8 - Bohnice
    Rozbalit Rozbalit vše Re: Exotické jazyky a různé syntaxe
    assembler-like
    Programování v assembleru je proti brainfucku procházka růžovou zahradou (viz můj oblíbený "brainfuck hello world!"...)
    14.9.2006 21:53 Harvie
    Rozbalit Rozbalit vše Re: Esoterické jazyky a různé syntaxe
    Pokud ti jde o hello world, pak bys měl sáhnout spíše po jazyce HQ9+ http://cs.wikipedia.org/wiki/Hello_world#HQ9.2B (Satira na omezené možnosti BrainFucku = nesmysl - BrainFuck ye "turing complete"),

    Ale myslím, že snáze lze pochopit BrainFuck, než AssEmBleR, jednak proto, že má asi desetkrát méně instrukcí než assembleru a neřeší přerušení a adresaci paměti a gdesicosi...

    ---------------------------------------------------------------------

    Pokud jde o program hello world, kód vypadá sice vražedně, ale není na něm nic nevysvětlitelného:

    1 ++++++++++

    2 [

    3 >+++++++

    4 >++++++++++

    5 >+++

    6 >+

    7 <<<<-

    8 ] inicializačí cyklus nastaví potřebné hodnoty buněk

    9 >++. výpis 'H'

    10 >+. výpis 'e'

    11 +++++++. 'l'

    12 . 'l'

    13 +++. 'o'

    14 >++. mezera

    15 <<+++++++++++++++. 'W'

    16 >. 'o'

    17 +++. 'r'

    18 ------. 'l'

    19 --------. 'd'

    20 >+. '!'

    21 >. nová řádka

    ---------------------------------------------------------------------

    Příkazy:

    > posun ukazatele o jednu buňku doprava

    < posun ukazatele o jednu buňku doleva

    + zvýšení hodnoty aktivní buňky o 1 (buňky, nad kterou je ukazatel)

    - snížení hodnoty aktivní buňky o 1

    . výpis hodnoty aktivní buňky na standardní výstup (v drtivé většině případů na obrazovku). Pro výpis se používá hodnota aktivní buňky převedená dle kódování ASCII na znak.

    , uložení hodnoty ze vstupu do aktivní buňky

    [ pokud je hodnota aktivní buňky rovna nule, provede přesun ukazatele doprava za odpovídající ]

    ] pokud je hodnota aktivní buňky různá od nuly, provede přesun ukazatele doleva před odpovídající [

    ---------------------------------------------------------------------

    Pozn. 1: Zmíněné ekvivalenty příkazů Brainfucku v jazyce C jsou vycházejí z předpokladu, že proměnná ptr je deklarována jako unsigned char*.

    Pozn. 2: Zmíněné ekvivalenty příkazů Brainfucku v Delphi vycházejí z předpokladu, že proměnná ptr je deklarována jako pointer a aplikace je překládána jako konzolová (pro funkce write a read).
    24.8.2006 08:23 Martin Beránek | skóre: 33 | blog: mousehouse | Brno
    Rozbalit Rozbalit vše Re: Exotické jazyky a různé syntaxe
    ad prechazeni: mam spis problem se znalosti knihoven - zivim se Javou a obcas potrebuju neco maleho v Pythonu - syntax neni problem, ale stravim hodiny nad hledanim trid/funkci/...
    never use rm after eight
    24.8.2006 09:00 Tom.š Ze.le.in | skóre: 21 | blog: tz
    Rozbalit Rozbalit vše Něco málo k Lispu
    Pár poznámek k Lispu a jeho kompilaci - asi obecně známo, ale stejně

    - obecné označení pro skupinu jazyků stejného původu a podobné syntaxe - Common Lisp, Scheme, ... (dál popisuji Common Lisp)

    - Common Lisp je definován ANSI normou, řada implementací kompilujících do kdečeho (instrukce procesoru - binárka, vlastní bytekód, JVM), povoleny jsou myslím i nekompilující implementace, ač žádnou neznám

    - z hlediska prvního parsování zdrojového kódu - jednoduchá základní syntaxe (sexpy), plus reader makra (typu ' -> quote), která stejně dávají jako mezisyntaxy sexpy, takže nakonec vyleze sada sexpů. Reader makra jsou psána v Lispu.

    - definována fáze kompilace, při které jsou expandována makra a výsledný expandovaný kód je přeložen danou implementací. Makra lze psát vlastní a tudíž definovat, co se má jak překládat. Makra jsou psána v Lispu a převádí sexp na sexp (transformace kódu)

    - kompilaci lze ovlivňovat tím, že se definují parametry optimalizace (s granularitou jemnější než celý soubor), specifikují činnosti, které se mají dělat už při kompilaci (eval-when), inlinování a podobně

    - lze definovat compiler-makra, která se použijí místo funkce při překladu - dojde k expanzi např. do efektivnější formy (rozpoznání konstantních parametrů, speciálních případů a pod) - lze psát vlastní

    - deklarace např. typů jsou nepovinné, ale některé kompilátory je dokáží efektivně využít (sbcl) a naznačují uživateli, co by rádi

    - je možné stínovat funkce standardu, takže v nějakém balíku může defun být nikoliv standardní defun, ale moje upravené defun

    - asi jsem něco vynechal - zmátl, formální specifikace na http://www.lisp.org/HyperSpec/Body/sec_3-2.html

    - optimalizace tail callu není povinná, ale skoro všichni jí provádí (i když třeba interpretovaný clisp ne)
    24.8.2006 09:50 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Něco málo k Lispu
    Kdyby šly bodovat příspěvky, dostal bys plný počet bodů :-)
    When your hammer is C++, everything begins to look like a thumb.
    24.8.2006 13:56 Tom.š Ze.le.in | skóre: 21 | blog: tz
    Rozbalit Rozbalit vše Re: Něco málo k Lispu
    s odstupem ještě pár dalších:

    - pro kompilaci může být zajímavé jak se nakládá s closures a (teď skáču ke Scheme) s continuations

    - existuje spousta věcí ohledně toho jak se co dá kompilovat, starou klasikou (1977?) je série Lambda the Ultimate (goto, declaration, a pár dalších)

    - implementace stavového automatu popisovaného tuším ve druhém díle vašeho seriálu by se pravděpodobně "nejlispovatějš" tvořila jako jedna funkce pro každý stav, která by podle přijatého písmena volala další z těchto funkcí - celkový výsledek po efektivním překladu při použití tail call optimalizace odpovídá špagetti kódu s goto, jen to je přehlednější - viz zmiňované Lambda the Ultimate Goto. Případně by se dal automat (tabulka přechodů) reprezentovat v nějaké formě a vytvořilo by se makro, které by tuto formu překládalo přímo do onoho špagetti goto kódu.

    Založit nové vláknoNahoru

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