Język Scala dla programistów PHP

Jak głosi stare przysłowie lansowane przez pewne grono uczonych programistów – „należy co roku uczyć się nowego języka programowania”. Jakiś czas temu stworzyłem cykl artykułów o tworzeniu prostej dynamicznej strony www opartej o Pythona i mod_wsgi. Rok raczej nie minął, co nie oznacza, że nie nadszedł czas na poszerzenie swoich horyzontów myślowych i zaopatrzenie się w nowe zabawki :).

Językiem, który zamierzam wałkować przez kilka następnych wpisów jest Scala – język obiektowo – funkcyjny działający na platformie JVM oraz .Net . Zainteresowanie tym językiem zrodziło się u mnie pewnego czasu, gdy znudzony klepaniem kolejnego banalnego portalu w PHP zacząłem sobie wyobrażać jak powinien wyglądać idealny język programowania. Owe przemyślenia poskutkowały wertowaniem Wikipedii i czytaniem o różnych dziwnych językach, paradygmatach i technologiach. W czasie moich poszukiwań natrafiłem właśnie m.in na Scalę. Zainteresowała mnie w niej jej funkcyjna natura oraz ciekawe własności obiektowe.

Zanim przejdę do kolejnych części wpisu by przedstawić Wam ten wspaniały język, zamierzam przedstawić jak krok po kroku przygotować sobie wygodne środowisko programistyczne.

Jako IDE, którego będę używał wybrałem Netbeans. Korzystam z niego już od dłuższego czasu (z przerwą na testowanie PHPStorm poleconego przez szanownego Batmana) . Posiada ono wsparcie dla Scali i zamierzam z niego skorzystać.

Proces przygotowania środowiska omawiam z założeniem, że osoba czytająca artykuł ma zainstalowane Netbeans w wersji z wsparciem dla PHP. Dlaczego ? Tak jest trudniej ;P

  • Jeżeli jeszcze nie mamy zainstalowanego, ściągamy JDK ze strony Oracle’a.
  • Ściągamy kompilator Scali, wraz z bibliotekami z jej strony
  • Rozpakowujemy ściągnięte archiwum do dowolnego katalogu (nie powinien zawierać spacji), u mnie C:/Program Files/Scala (a jednak spacje są 😛 )
  • Ustawiamy zmienną środowiskową SCALA_HOME na wybrany wcześniej katalog
  • Dodajemy do systemowej zmiennej PATH, katalog SCALA_HOME/bin
  • Ściągamy i rozpakowujemy wtyczkę do Netbeans do dowolnego katalogu
  • Otwieramy plik katalog_instalacyjny_netbeans/etc/netbeans.conf i dopisujemy do zmiennej netbeans_default_options następujący tekst: -J-Dscala.home=katalog_ze_scalą
  • Otwieramy Netbeans, wchodzimy w Tools->Plugins->Downloaded->Add plugins i dodajemy rozpakowane przez nas pliki wtyczkowe
  • Jeżeli podczas instalacji wtyczek Netbeans marudził by coś o braku JDK, należy otworzyć plik netbeans_default_options i ustawić zmienną netbeans_jdkhome na naszą lokalizację JDK
  • By przetestować, wystarczy utworzyć nowy przykładowy projekt File->New Project->Scala->Scala Application i po utworzeniu nacisnąć „play”, jeżeli wszystko zrobiliśmy dobrze to efektem działania w okienku dolnym powinien być napis „hello world”

To będzie na tyle dzisiaj jeżeli chodzi o Scalę. Zapraszam na kolejne części cyklu i liczę na Wasze komentarze i uwagi 😉

  1. Theq pisze:

    Nie wiem czy coś się poprawiło jeżeli chodzi o wsparcie Scali w Netbeansie, ale ostatnio to była porażka. W Eclipse zresztą jeszcze gorzej. Natomiast polecam Intellij, na darmowej wersji też śmiga.

    Bawie się Scalą już jakiś czas i dalej na porządku dziennym są momenty gdzie muszę się pięć minut zastanawiać co dana linijka kodu robi :)

    PS. Liczę na jakieś wpisy dotyczące Lifta.

  2. singles pisze:

    Przeczytałem niedawno „Programming In Scala” (Martin Odersky), tak więc znam język tylko z teorii.

    Pamiętam, że na początku książkę czytało się łatwo i przyjemnie, pomimo tego że z z niektórymi rozwiązaniami spotkałem się pierwszy raz (rozdzielenie pomiędzy val i var, bądź możliwość zdefiniowania jednego jedynego obiektu za pomocą słowa kluczowego Object zamiast Class). Lecz im dalej, tym ciężej przychodziło rozumienie tego, co tam było napisane. Coś, o czym @Theq pisał – miejscami musiałem mocno zastanawiać się co dana linijka znaczy – najczęściej przy definicjach funkcji/metod – z racji, że o ile dobrze pamiętam, można je definiować na kilka rożnych sposobów.

    Tak więc za pierwszym razem tak mnie nie porwał, ale jeszcze go nie skreśliłem :)

  3. @theq, ja wybrałem Netbeansa bo jestem przyzwyczajony do tego IDE, jak wtyczka sprawdzi się w praktyce tego nie wiem, bo wpis napisałem jak tylko zdołałem ją zainstalować. Zresztą mi nie potrzeba wiele, jeżeli tylko będzie podpowiadać składnie jakoś sensownie to jak dla mnie jest boska :). Co do Lifta na pewno znajdzie on miejsce w tym cyklu.

    @singles, Scala ma swoje niecodzienne rozwiązania i za to właśnie mi się podoba -> świeże podejście. Z mojej strony mogę powiedzieć tylko tyle, że naczytałem się sporo blogów o Scali i zaczynam ogarniać niuanse i postaram się je wszystkie jakoś przystępnie wytłumaczyć :)

  4. rapidcoder pisze:

    Intensywnie koduję w Scali już ponad pół roku i muszę przyznać, że im dłużej się w niej programuje, tym jest fajniejsza. Z samego czytania książek i blogów tego nie widać.

    Co do IDE, to IntelliJ obecnie działa bardzo sprawnie. Plugin do Eclipse też ma lada moment wyjść dużo lepszy, bo od niedawna zajmuje się nim sam mistrz Odersky.

  5. @rapidcoder: z ciekawości zapytam, czy tylko amatorsko czy też robisz jakieś komercyjne projekty ?

  1. There are no trackbacks for this post yet.

Leave a Reply

Informuj mnie o odpowiedziach poprzez e-mail. Możesz również subskrybować wpis bez zostawiania komentarza.