12 października 2012

Rozpocznij swoją przygodę z językiem Scala

Wzięło mnie ponownie na poznawanie Scali. Miałem już kilka spotkań z tym językiem, ale zwykle kończyło się na dumaniu, gdzie mógłbym to zastosować i ostatecznie brakiem pomysłów i zarzuceniem nauki. Jeszcze przed Euro 2012 coś tam liznąłem, aby 30 kwietnia doświadczyć wyczerpania weny.

I tak to trwało, i trwało, aż coursera udostępniła zajęcia "Functional Programming Principles in Scala".

Zacząłem z 2 tygodniowym opóźnieniem i przyszło mi nadrabiać zaległości. Co mnie najbardziej zdumiewa to to, że nie sądziłem, że mnie aż tak wciągnie. Chyba łatwość języka (w porównaniu z poznawaniem Clojure) sprawia, że jakoś tak pisze się w Scali naturalnie (żeby nie napisać aż nazbyt znajomo). Martin Odersky prowadzi zajęcia w przyzwoity sposób i chce się w tym uczestniczyć. Nie mam obaw, aby polecić te zajęcia.

Ciekawostka: na dzisiejszym spotkaniu dot. warsjawa 2012, na 4 organizatorów aż 3 uczestniczy w tych zajęciach!

Jeśli zastanawiasz się, jak zacząć swoją przygodę z językiem, proponuję zapisać się na te zajęcia, a co najmniej instalację Scala IDE for Eclipse, które dostarczane jest z bardzo użyteczną funkcją - Scala Worksheet. Tworzysz taki "brudnopis" i każde wpisanie poprawnego wyrażenia w Scali jest wykonane przy następnym zapisie. Niezwykle wciągające narządko.


Można również zainstalować sbt, ale na początek Scala IDE wystarczy. W końcu to początek i ostatnią rzeczą, jaką należałoby zrobić to zawalić kompa narzędziami, których szybko nie przyjdzie nam używać, a ich nieużywanie będzie nam ciążyło! Nie mówię, że są niepotrzebne, ale początek zróbmy sobie delikatnym wstępem do środowiska Scala i całą energię skupmy na poznawaniu składni i programowania funkcyjnego.

Dla czytelników pragnących łyknąć trochę wiedzy teoretycznej proponuje się Programming in Scala, First Edition oraz Programming Scala (żadnej jeszcze nie czytałem, więc nie pytajcie, co o nich sądzę - stąd ta bezosobowa zachęta w postaci "proponuje się").

Mamy również książkę po polsku - Język programowania Scala od Grześka Balcerka. Jeszcze jej nie czytałem, a czeka na mnie już dobre kilka miesięcy! Jak wieść niesie, niedługo warsztaty Grześka z funkcyjnej Scali! Pierwszymi miastami mają być Poznań i Warszawa. Może pora uruchomić pierwszy hack-a-thon ze Scalą w Warszawie? Co o tym sądzicie? Ciekawym efektów programowania cały weekend w jakimś podziemiu :)

5 komentarzy:

  1. Pamiętam jak na poprzednim GeeCONie przyjechał koleżka od GridGaina i usilnie próbował pokazać jak łatwo jest pisac GridAgainową logikę w Scali. To na prawdę był przykry widok oglądać go jak męczy się z jakimiś przekombinowanymi konstrukcjami Scali słysząc jednocześnie głosy z sali "Tutaj nie musisz stawiać nawiasu z lewej strony, tutaj nie musisz stawiać przecinka, tutaj może nie być kropki ale jak już będzie to trzeba jednak ten nawias z lewej strony postawić".

    Mam taką teorię, że Java jest po prostu zbyt prostym językiem do lansowania się i pokazania, że "względnie wiem od ciebie znacznie więcej". A taka scala to piękny jeżyk z całą masą cudownych pułapek i zakamarków ;)

    pzdr

    OdpowiedzUsuń
    Odpowiedzi
    1. Nie wchodząc w dyskusję dot. "lansowania się i pokazywania" komukolwiek cokolwiek, uważam, że znajomość języka spoza Javy jest wartościowe. Wielokrotnie powtarza się, aby używać właściwych narzędzi do problemu, a jak wiemy, Java nie jest rozwiązaniem uniwersalnym (a nawet, gdyby takim była, to właśnie 'uniwersalność' sprawiałaby, że nie jest specjalizowanym do pewnej klasy problemów). Myśląc w ten sposób widzę potrzebę próbowania się z innymi językami (wciąż jednak na JVM) i Scala do tej klasy należy. Gdy do tego udostępnia się interaktywną platformę nauczania w Sieci, choćby dla samej nauki nowego paradygmatu funkcyjnego widzę sens "brnięcia" w temat poznawania Scali.

      p.s. Zamierzam lansować się tą wiedzą niebawem, więc szykuj się z komentarzami :)

      Usuń
    2. Jeśli chodzi o uczenie się nowych rzeczy i poszerzanie horyzontów no to jak najbardziej trzeba ;)

      pzdr

      Usuń
  2. Zapisałem się i zamierzam ukończyć ten właśnie ze względu żeby mieć swoje, czyli własne zdanie. Ani nie jestem fanatykiem języków pod JVM, ani ich przeciwnikiem, ale jakoś to zdanie trzeba sobie wyrobić. Forma kursu mi bardzo odpowiada i motywuje do systematyczności (już drugi czwartek z rzędu kładłem koło 1ej w nocy żeby zdążyć w terminie). No i osoba prowadzącego, w końcu sam Odersky nobilituje.

    OdpowiedzUsuń
    Odpowiedzi
    1. W pełni zgadzam się! Pozwolę sobie niejednokrotnie wrócić do Twojego komentarza i innych zachęcać do tego.

      Usuń