Facebook - konwersja
Czytaj fragment
Pobierz fragment

Clojure. Nowy Lisp - ebook

Data wydania:
1 stycznia 2021
Format ebooka:
EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(2w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
Czytaj fragment
Pobierz fragment
39,00

Clojure. Nowy Lisp - ebook

Ebook Clojure. Nowy Lisp autorstwa Michaela Swaine’a i Michaela Bevilacqua-Linna to wprowadzenie w podstawy języka Clojure, który daje nowe spojrzenie na dotychczasowe problemy programistyczne. Dzięki publikacji Czytelnik dowie się, dlaczego warto wybrać język Clojure. Pozna też takie zagadnienia jak tożsamość, wartość i stan w Clojure. W publikacji nie mogło zabraknąć też takich tematów jak środowisko REPL, makra, wektory i słowa kluczowe w Clojure. Ebook wyjaśnia też, jak wygląda programowanie współbieżne w Clojure. Czytelnik przeczyta też wywiad z Richem Hickeyem, twórcą języka Clojure.

Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-01-21894-2
Rozmiar pliku: 1,2 MB

FRAGMENT KSIĄŻKI

WYWIAD Z RICHEM HICKEYEM

AUTOR – Michael Swaine

Clojure jest jednym z najciekawszych nowych języków. Jest elegancką, czystą wersją języka Lisp, która powstała do celów programowania funkcyjnego. Została zaprojektowana do współbieżności i, podobnie jak Scala, kompiluje się na bajtowy kod JVM.

Clojure rozwiązuje problemy, które ograniczały Lisp (biblioteki, czytelność, wydajność), zachowując jego zalety. Ale tym, co napędza żywe zainteresowanie Clojure, są jego możliwości w zakresie programowania współbieżnego. Jak wskazują Stuart Halloway i Aaron Bedra: „Potężny sprzęt wielordzeniowy jest w zasięgu ręki, a języki funkcyjne zapewniają jasne podejście do jego wykorzystania”. Dla tych właśnie zastosowań powstał język Clojure, dlatego chciałem porozmawiać z jego twórcą – Richem Hickeyem.

Dlaczego Clojure?

MS: _Rich, dziękuję, że poświęciłeś mi swój czas. Chcę skupić się w zasadzie na jednym pytaniu: dlaczego? Z punktu widzenia programistów na co dzień mierzących się z różnymi problemami, chcę zapytać: Co w nim jest dla mnie? Dlaczego powinienem zapoznać się z Clojure? Dlaczego mam zainwestować swój czas w jego naukę? Jakie korzyści będę miał z programowania w Clojure?_

RH: _Oczywiście._

MS: _Fajnie. Załóżmy więc, że jestem niezależnym deweloperem i choć nie odczuwam osobiście problemów z kryzysem ekonomicznym, widzę oznaki sugerujące, że może się zmienić rodzaj moich klientów. Chcę stale poznawać nowe języki i technologie, aby rozszerzyć moje możliwości. Dlaczego język Clojure powinien znaleźć się na mojej krótkiej liście technik rozwijających moją karierę?_

RH: _Jeśli nie masz jeszcze doświadczenia z programowaniem funkcyjnym, Clojure może zaoferować najłatwiejszy sposób, aby tego dokonać. Niektórzy określają go jako „pythona programowania funkcyjnego”, a ja akceptuję wszystkie pozytywy, które to określenie oznacza. Bezproblemowy dostęp tego języka do ekosystemu Javy oznacza, że niczego nie stracisz w dostępie do bibliotek, a twoje aplikacje będzie można dostarczyć w akceptowanym środowisku. Clojure to język nowy, ale nie znajduje się w próżni. Infrastruktura leżąca u jego podstaw, czyli JVM, to świetna technologia._

MS: _Argumentem, który przemawia dzisiaj za programowaniem funkcyjnym, są mikroprocesory wielordzeniowe i programowanie współbieżne. Powiedzmy, że wiem coś o programowaniu funkcyjnym i mam określone potrzeby, aby je zastosować do programowania współbieżnego. Dlaczego Clojure to odpowiedni język?_

RH: _Clojure jest zaprojektowany na potrzeby programowania współbieżnego, a przemawia za tym styl funkcyjny i powszechna niemutowalność, które są wymogami dla współbieżności. Struktury danych są niemutowalne, a wartości lokalne nie są „zmiennymi”. Jednak Clojure bierze pod uwagę także potrzebę stanu w rzeczywistych aplikacjach i zapewnia mechanizm językowy do zarządzania stanem, który pozwala uniknąć problemów z blokadami i impasami występującymi w innych językach. Wśród języków funkcyjnych (jak np. Haskell, ML) Clojure jest dość nietypowy, gdyż jest dynamicznie typowany i jest powiązany z podstawową infrastrukturą._

Infrastruktura

MS: _Porozmawiajmy o infrastrukturze. Powiedzmy, że jestem deweloperem piszącym w Javie. Nie boję się uczyć nowego języka, ale nie chcę porzucać całego ekosystemu języka Java. Co oferuje mi Clojure?_

RH: _Clojure pozwala nam na to – uczymy się czegoś nowego i nie odrzucamy naszych inwestycji i wiedzy. To dotyczy jednak wszystkich języków JVM: Groovy, JRuby, Scala itp. Clojure jest unikalny z tego względu, że oferuje nam wydajność skompilowanego języka i elastyczność języka dynamicznego. Wydajność jest bliższa wydajności Javy niż Pythona. Dostęp do Javy z Clojure i do Clojure z Javy jest łatwy, niewymagający opakowywania i szybki._

MS: _Wydajność Clojure może być bliższa wydajności surowej Javy, ale doświadczenie programowania w Clojure zupełnie nie przypomina Javy._

RH: _Clojure różni się od Javy bardziej niż inne popularne języki JVM, a jest tak nie bez powodu – chcemy, żeby wszystko wyglądało inaczej, jeśli mamy wykorzystać wielordzeniowość, a nasze duże programy obiektowe stały się rozwlekłe. Jeśli naprawdę chcemy nauczyć się czegoś nowego, zamiast robić to samo co dotychczas, tylko nieco inaczej, Clojure to dobry wybór._

MS: _OK, wyobraźmy sobie, że rozmawiasz ze starym hakerem Lispa, którym w zasadzie jesteś. I powiedzmy, że poszedłeś dalej. Wydajność, biblioteki, dopasowanie do innych – z jakiegoś powodu zrezygnowałeś z Lispa. Dlaczego Clojure ma spowodować powrót do tego?_

RH: _Closure, jako dialekt Lispa, oferuje to wszystko, co kochamy w Lispie – interakcyjne tworzenie, elegancję, zwięzłość, rozszerzalność i ekspresyjność. Jest ukierunkowany dokładnie na te obszary, które sprawiały, że ludzie w przeszłości porzucali Lispa lub nie mogli z niego korzystać, w szczególności biblioteki i administracja. Jest ukierunkowany na wykorzystanie ogromnej pracy wykonanej w Javie, posługując się programami Javy. Ponadto Clojure przenosi Lisp dalej w zakresie włączania najlepszych pomysłów powstałych w ostatnich latach – budowanie podstawowej biblioteki na abstrakcjach opartych na interfejsie, leniwych ciągach, skojarzeniowych strukturach danych pierwszej klasy itp. Języki Lisp były nazywane językami funkcyjnymi, ale Clojure sięga znacznie głębiej niż Common Lisp lub Scheme._

MS: _Clojure ma teraz wersję jeden kropka coś tam. To może oznaczać różne rzeczy. Czy Clojure poza dobrym wykorzystaniem programowania funkcyjnego jest gotowy na dominację? Powiedzmy, że chcę go użyć w pracy produkcyjnej. Czy Closure będzie stabilny?_

RH: _Clojure jest dość solidny. Ma niewielkie jądro, które rzadko się zmienia, i tysiące użytkowników bazujących na nim. Integruje się z ekosystemem narzędzi Javy, więc debugerzy JVM, profilerzy itp. mogą natychmiast podjąć pracę. Zaawansowana jest integracja z IDE z dobrymi wtyczkami do NetBeans i IntelliJ._

Z czym go porównać?

MS: _Spróbujmy dokonać bezpośredniego porównania. Powiedzmy, że poświęciłem czas na naukę języka Erlang. Dlaczego powinienem wybrać Clojure’a zamiast Erlanga?_

RH: _Nie lubię angażować się w antagonizmy, zwłaszcza w porównania z Erlangiem, który podziwiam. Jeśli mamy naprawdę aplikację, do której najlepiej pasuje Erlang – na przykład rozproszoną aplikację komunikacyjną niskiego poziomu z wysokimi wymaganiami na utrzymanie działania – trudno jest go pobić. Clojure jest językiem ogólnego przeznaczenia, ma lepszą wydajność obliczeniową, lepszą obsługę wewnętrznego procesu SMP dla współbieżności oraz znacznie lepszą historię zastosowania bibliotek i współdziałania. Do dystrybucji można wybrać jedną z wielu technik i narzędzi, w tym kolejki komunikatów, z których część napisana jest w… Erlangu._

MS: _No dobrze. To samo pytanie dla nowego dewelopera w Scali. Dlaczego powinienem wybrać Clojure zamiast Scali?_

RH: _Clojure jest prostszy. Jest dynamiczny. Ma mniej paradygmatów do obsłużenia i jest bardziej skupiony na funkcyjności. Należąc do rodziny Lispa, ma regularną składnię, a rozszerzenia składniowe są bardzo spójne. Nie jest językiem obiektowym, więc biblioteki Clojure mają inną strukturę, zachęcając do szerszego wykorzystania generycznych struktur danych, co daje większą możliwość współdziałania. Clojure opiera się na idei, że niemutowalność i programowanie funkcyjne są ważniejsze dla stabilności programu niż typy statyczne. Jeśli te wartości ci pasują, z pewnością będziesz wolał Clojure, ale moim zdaniem Clojure i Scala powinny pokojowo współistnieć._

MS: _Cóż, przekonałeś mnie, że Clojure jest wart uwagi. Dziękuję za poświęcenie czasu na tę rozmowę._

RH: _To było pouczające. Dziękuję za zaproszenie._

W kolejnych rozdziałach Michael Bevilacqua-Linn wprowadza nas do programowania funkcyjnego w Clojure, zaczynając od spojrzenia na jego początki w Lispie.
mniej..

BESTSELLERY

Kategorie: