Přejít k navigační liště

Zdroják » Zprávičky » Návrat funkcionálního paradigma (konference LambdUp v Praze)

Návrat funkcionálního paradigma (konference LambdUp v Praze)

Zprávičky Různé

Nálepky:

Mohlo by se zdát, že téma funkcionálního programování je dávno zapomenuto v historii počítačové vědy a v dnešní dominanci Javy a jiných objektově orientovaných obrů nemá své místo. Takové tvrzení však nemůže být dále od pravdy. Funkcionální programování je totiž postaveno na něčem, co nevyšlo z módy už několik tisíc let. Na matematice.

Tento přístup má obrovskou výhodu, neboť již nejsme jako programátoři vedeni pouze svým odhadem, ale, stejně jako v matematice, jasnými zákony, které definují společný lingvistický základ nehledě na syntax jazyka či povahu aplikace.

Zní to příliš abstraktně a akademicky? Není! V posledních několika letech bylo předními vývojáři investováno neuvěřitelné množství úsilí do zboření předělu mezi světem akademiků a světem programátorů, díky čemuž je dnes funkcionální programování jedním z nejdiskutovanějších a nejlukrativnějších témat v oboru. A do povědomí vývojářů přichází stále více jazyky jako Haskell, Clojure, Elm, Elixir, Reason a další.

Ovšem funkcionální charakteristiky nejsou jen v silně funkcionálních jazycích. Dokumentace Pythonu věnuje tomuto tématu celou kapitolu. JavaScript získává s knihovnami jako Rambda a Lodash více funkcionální nádech a dokonce i Java 8 přichází s podporou lambda výrazů. V těchto jazycích lze využít funkcionální principy ve prospěch návrhu, čitelnosti nebo rychlosti programu.

V tomto duchu se již zítra, 6. prosince 2017, uskuteční akce LambdUp s ambicí stát se ústřední událostí funkcionálního světa, na které se každý rok sejdou přední vývojáři a propagátoři funkcionálního programování, aby společně posunuli hranice prozkoumaného a předali nové nápady, jak tyto koncepty využít při řešení každodenních technologických problémů.

Co a koho první ročník LambdUp představí?

Například rockovou hvězdu mezi programátory Eric Normand, který uvede celou událost nekompromisní náloží na téma Teorie za Funkcionálním Programováním.

V duchu překryvu mezi teorií a praxí však také uslyšíme o relativně novém jazyku Elixir, který kombinuje lidovou praktičnost jazyka Ruby a neomylnou čistotu jazyka Erlang. O Elixiru bude mluvit Claudio Ortolina, který je Head of Elixir v Erlang Solutions.

O Machine Learningu v jazyku Clojure bude hovořit Aleš Roubíček. Clojure je konceptuálně extrémně minimalistickým jazykem a jeho užití ve strojovém učení je fascinující.

Nebudou chybět ani workshopy v dopoledních hodinách na témata Elm a Elixir a další světoví odborníci, od kterých uslyšíme talky o Clojure, Elixiru nebo F#. Více na LambdUp.io.

Komentáře

Subscribe
Upozornit na
guest
8 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
Kiwi

Neprotiřečí si autor v prvním a třetím odstavci? Nejdřív tvrdi, že se zdá, že je zapomenuto, a pak zas, že patří k nejdiskutovanějším.

Martin Hassman

Zdát černým, být bílým – to je naopak „soumluv“ (ač takové slovo možná ani neexistuje).

Andreaw Fean

Zdát černým, být bílým

Hezký!

Kiwi

Tvrdit, že se všem zdá černým a pak tvrdit, že ho všichni považují za bílý, mi teda jako „soumluv“ moc nepřipadá.

Martin Hassman

Mně také ne, to už totiž jsou jiné výroky, než jaké jsem napsal.

matlafous

Já nevím, zrovna ta java přidala funkcionální syntax už s osmičkou, tak mi zní zmínky o „návratu“ tak trochu jako ze špatného snu, a navíc s křížkem po funuse.

atamiri

“Přidala syntax” o ničem nevypovídá, dokud nebude mít přinejmenším dostatečně silný typový systém, nepůjde v ní FP ani omylem.

Ivan Nový

Teorie kategorií je dnes moderní, dokonce se do ní dnes přepisuje i fyzika. Ale vhodnou notaci pro programování, která by vycházela z matematiky a byla funkcionální, zatím ještě nikdo neobjevil. Pokusy upravit zvyklosti z procedurálního, nebo objektového paradigmatu moc přesvědčivé nejsou. První takovým pokusem byl javascript, který skončil znásilňováním toho jazyka mnoha způsoby a mnoha lidmi různými obskurními způsoby, aby se právě obešla jeho funkcionální povaha. Elegantní lispovská notace je vhodná pro strojové zpracování, pro člověka trochu nepřehledná a i zde dochází ke znásilňování filozofie jazyka založené na elegantní jednoduchosti, například zaváděním objektových prvků. Haskell zase nejde logicky, funkčně a esteticky zarovnat, snaha notaci napasovat na notaci procedurální zase povede ke znásilňování jazyka proti jeho filosofii. Kdo bude chtít psát u každého hloupého přiřazení ještě k tomu balastní klíčové slovo „let“.

Navíc modelovat realitu pomocí matematických metod lze efektivně jen když je detailně analyzovaná, v situaci, kdy je realita obtížně analyzovatelná, a model je vytvářen naslepo, efektivita FP klesá. Takže rozsáhlé nasazení FP omezí inovační potenciál oboru, protože aplikace uvíznou v lokálním optimu matematicky efektivně definovatelných modelů, protože programátoři budou myslet „matematicky“. Ale to bude zřejmé až z delšího časového odstupu.

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.