Komentáře k článku

CoffeeScript: nový jazyk, nové chytáky

CoffeeScript vzbudil mezi vývojáři webových aplikací slušný zájem, mnozí si pochvalují jeho vyjadřovací schopnosti a eleganci. Přesto má CoffeeScript, jako každý jazyk, kromě příjemných překvapení i některé záludnosti a tajemná zákoutí, do nichž může nepřipravený vývojář snadno padnout.

Zpět na článek

19 komentářů k článku CoffeeScript: nový jazyk, nové chytáky:

  1. pepca

    Re: CoffeeScript: nový jazyk, nové chytáky

    Už podle první kapitoly o závorkách pri volání funkcí je zřejmé, že ten jazyk stojí za prd.

    1. Jiří Knesl

      Re: CoffeeScript: nový jazyk, nové chytáky

      Stojí tak za prd, že mám díky němu mnohem čitelnější a o třetinu kratší zdrojáky.

      Vždy, když máte v jazyku nějaké implicitní chování, je nutné vyjímku popsat explicitně. Pokud dokážete vymyslet lepší logiku vynechávání zbytečných závorek, zkuste ji sem, prosím, napsat.

      1. Makovec

        Re: CoffeeScript: nový jazyk, nové chytáky

        Čitelnější? Když se „foo + 1“ liší od „foo +1“ tak mně osobně to přijde méně čitelné. Chci programovat a ne si pamatovat esoterická pravidla o všech možnostech jak zapsat volání fuknce a kombinací možných záměn závorek a whitespace.

        1. Jiří Knesl

          Re: CoffeeScript: nový jazyk, nové chytáky

          O všech těchto esoterických chytácích se dozvídám až z tohoto článku (mimo to závorkování, což ale bohužel lépe udělat nejde – což vím, protože jsem si to zkoušel navrhnout jinou logikou a tam došlo k chybám zase v odlišných situacích). Už jsem v Coffee napsal desítky tříd, plno unit testů a to jak na client-side, tak na server-side a žádnou z chyb jsem ani omylem nepotkal.

          Existují 2 časté workflow: foo+bar a foo + bar a obě fungují. Ostatní mě nezajímají. Nicméně dokážu si představit, že někdo bude mít štábní kulturu foo +bar a pak mu bude Coffee vadit (já bych s takovým člověkem třeba pracovat nechtěl).

          Já s Coffee píšu čitelnější a kratší kód a jsem produktivnější. Že nepodporuje nějakou obskurní štábní kulturu není důvod, proč bych měl programovat v jazyce, který ji sice podporuje (ale já ji nepoužívám), ale budu v něm psát delší, škaredější zdroják delší dobu.

          1. Makovec

            Re: CoffeeScript: nový jazyk, nové chytáky

            Psal jste lépe „čitelný“ a nebo lépe „psatený“ kód? Nu, až se tento jazyk rozšíří a vám nezbyde než na velkých projektech číst i cizí zdrojáky, uvidíte s kým budete a nebudete chtít pracovat, a jestli se vás na to někdo bude ptát.

            1. Jiří Knesl

              Re: CoffeeScript: nový jazyk, nové chytáky

              Obojí. Čitelný a psatelný.

              Pomocí Coffee jsem napsal systém, který pohání IS firmy, která má hodnotu přes 14 miliard korun. Ten zdroják není ani zdaleka trivální. Postupem času jsem si na to nabral dalšího vývojáře. Píšeme testy, děláme všechno, co se v solidním vývoji dělá. A Coffee celou tu dobu nebyl nikdy úzkým hrdlem. Naopak ohromně zrychluje vývoj.

              Co se týká toho, s kým budu pracovat, vybírám si sám, jaké lidi najmu, jaký jazyk použiju a jaký framework to bude pohánět.

              1. Makovec

                Re: CoffeeScript: nový jazyk, nové chytáky

                Výborně. Pokud jste v pozici kdy si můžete štábní kulturu vynutit, a tím si vlastně vytvořit vlastní zúženou syntaxi jazyka, pak vám to jistě může být jedno.

                Zkuste ovšem trochu poodstoupit a pochopíte co je tam za obecný problém – resp. vy to víte, jinak byste nepsal že si vybíráte jenom lidi kteří sdílejí vaši štábní kulturu.

              2. Dundee5

                Re: CoffeeScript: nový jazyk, nové chytáky

                Ahoj Jirko,
                nemáš v plánu své zkušenosti nabité na tom projektu někde sepsat? Psal jsi v Coffee client-side i server-side? Co jsi použil jako server-side? Node.js?

                Jinak mně osobně se Coffee moc líbí. Je super, jak rychle se dá naučit (5 minut je až až). Snad se časem víc rozšíří a přibude i lepší podpora do editorů.

                1. Jiří Knesl

                  Re: CoffeeScript: nový jazyk, nové chytáky

                  No v server-side jsem napsal jeden e-shop. Použil jsem node.js a Zappa. Ještě jsem to ale nespustil.

                  Na client-side je těch projektů víc, v podstatě ode dne, co znám coffee, používám ho na všechno.

              3. lopata

                Re: CoffeeScript: nový jazyk, nové chytáky

                No to potěš koště, prosím o název firmy ať vím, čemu se vyhnout. IS firmy založený na Javascriptu ve mě rozhodně nebudí důvěru.

            2. blizz

              Re: CoffeeScript: nový jazyk, nové chytáky

              čo je čitatelnejšie?

              tento zápis:

              button.click -> alert „Klik“

              alebo tento zápis:

              button.click(fun­ction()
              {
              return alert(„Klik“);
              });

              ?

              1. František Kučera

                Re: CoffeeScript: nový jazyk, nové chytáky

                Bez nějakých specifických znalostí 2) a s nimi 1), ale to vynechávání závorek mi přijde vyloženě nešťastné – IMHO to čitelnost snižuje* a lepší by bylo něco jako:

                button.click -> alert("Klik");

                nebo spíš:

                button.click -> { alert("Klik"); };

                *) a těch ušetřených pár znaků za to nestojí

                1. blizz

                  Re: CoffeeScript: nový jazyk, nové chytáky

                  myslím že pre neprogramátora je rozhodne čitateľnejší a prirodzenejší 1. zápis. ale ak preferujete zátvorkové peklo tak potom sú pre vás sú C like jazyky ako stvorené.

                2. Čelo

                  Re: CoffeeScript: nový jazyk, nové chytáky

                  Doporučuji zkusit. Sám jsem byl ze začátku lehce skeptický, ale teď nedám na Coffee dopustit. Od té doby tyhle obhajoby závorkovacích orgií vůbec nechápu.

  2. alancox

    Strašný jazyk

    Tak tento jazyk s chutí vynechám.

    Jazyk, ve kterém se trikuje namísto píše – je škoda, že to autor vůbec vymýšlel.

    1. srigi

      Re: Strašný jazyk

      Ja si naopak myslim, ze Coffee, aj ked na prvy pohlad vypada neprivetivo a akoby hadzalo polena pod nohy (vid. clanok), tak za tu namahu naucit sa ho stoji.

      Doba je taka, ze vo webdev sa coraz viac logiky presuva do JS a kazde zlepsenie abstrakcie/syntaxe je len vyhodou.

  3. blizz

    Re: CoffeeScript: nový jazyk, nové chytáky

    syntax CoffeeScriptu je evidentne inšpirovaná jazykmi z rodiny ML pretože rovnaká chyba nastane aj v jazyku F#

    let prefix = „#prvok_“
    let id1 = prefix + „12“ // = „#prvok_12“
    let id2 = prefix +“12″

    Error 1 This value is not a function and cannot be applied C:Usersbliz­zbozDocumentsVi­sual Studio 2010ProjectsScrip­t1.fsx 3 11 Miscellaneous Files

    najlepšie je otvoriť si interaktívnu konzolu http://jashkenas.github.com/coffee-script/ (Try CoffeeScript) a keď narazte na chybu tak si môžete hneď odtestovať aký JS vám z toho vylezie.

  4. Jan Prachař

    Upřesnění

    Věta „vyhodnocování operátorů je asociativní zprava“ mi vůbec nedává smysl. V uvedeném případě jde spíš o to, že implicitní závorky při volání funkce se ukončují až na konci řádku či bloku.

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=3545