Jestem młody, mam wakacje, chciałbym poznać coś nowego. Umiem Ruby i JS. Nigdy nie pisałem nic w Javie, będzie to dużą przeszkodą, jeśli chcę poznać Scalę? Warto, czy może jednak dać sobie spokój?
Aha, i musiałbym zainstalować do Scali jakieś śmieszne IDE, czy może sam vim wystarczy?
Edit: geez, zapomniałem, że mamy Hydepark, ale chyba nic się nie stanie, jeśli temat zostanie tutaj, oczywiście jak najbardziej można go przenieść.
Vim wystarczy. Do emacsa jest bardzo fajny plugin: https://github.com/aemoncannon/ensime, ale do vima też pewnie coś znajdziesz, a nawet jak nie znajdziesz, to nie jest to java, gdzie musisz się naklepać 5 razy więcej kodu
Co do ciekawych języków na JVM, to na pewno warto też przyjrzeć się clojure jeżeli interesuje Cię programowanie funkcyjne.
Tomash, tak z ciekawości, jaka jest Twoim zdaniem przyszłość Clojure? Gdzie może znaleźć zastosowanie ?[/quote]
Zapewne taka sama jak Lispa, czyli akademickie rozważania oraz poszerzanie horyzontów programistycznych przez zapalonych programistów.
Trollowanie? A gdzieżbym śmiał wchodzić na Twój teren Tomashu.
Nie stwierdziłem przecież, że do niczego ten język się nie nadaje. Faktem jest natomiast, że jest popularny głównie w kręgach akademickich jak i wśród ludzi, którzy lubią się uczyć nowych rzeczy i w ten sposób poszerzać swoje horyzonty (co owocuje także lepszym programowaniem w “zwykłych” językach).
Natomiast przykład jakiegoś tam softu, który jest napisany akurat w Lispie zupełnie o niczym nie świadczy. Taki już ten świat, że znajdą się tacy zapaleńcy co to napiszą dowolny soft X w dowolnej technologii Y.
Napisz algorytm genetyczny w javie (a, niechby i nawet w ruby) i w lispie, a potem porównaj elegancję kodu obu rozwiązań
To naprawdę nie jest przypadek (czy kwestia religijna) że ITA swój soft napisało w lispie, do tego problemu który postanowili rozwiązać i metodą którą postanowili rozwiązać lisp naprawdę jest wyborem którego żaden znany mi programista nie podważa.
Nie zmienia to faktu że w większości sytuacji lisp nie jest z pragmatycznego punktu widzenia najlepszym wyborem. Podobnie Erlang. Ale to nie znaczy że należy te języki mylić z Haskellem, dla którego faktycznie nie znaleziono jeszcze sensownego zastosowania pozaakademickiego
Nie zachwycałbym się tą książką. Przeczytanie rozdziału o danym języku daje minimalny pogląd na jego temat (jakieś cool ficzery, które odróżniają go od innych języków). Równie dobrze można przeczytać coś na wiki o tym języku i przejrzeć 3 tutoriale.
Przeczytałem prawie całą i jedyną sensowną rzeczą, której się dowiedziałem to to, że muszę teraz przeczytać 7 kolejnych książek
Nie myślałeś chyba, że w jednej książce, na 300 stronach można opisać w pełni 7 różnych języków:D To nie jest książka do nauki któregokolwiek z nich, tylko coś w rodzaju porównania możliwości, zastosowania itp.
Nie, nie myślałem, że będę programował jak pros w 7 językach Chodzi mi o to, że nie warto czytać książki, z której nie dowiemy się nic poza tym co jest na stronie języka + tutorialu “how to do (…) in ruby/scala/clojure/…”.
Lepiej już przeczytać 300 stron “Programming in Scala”
@rav clojure (czy lisp w ogóle) tak jak powiedzieli Tomash i Radarek to specyficzny język do nietypowych zastosowań (chociaż i tak dobrze się go nauczyć, chociażby ze względu na wspomniane poszerzanie horyzontów). Scala chyba jest bardziej praktyczna, szerzej stosowana i trochę łatwiejsza do opanowania dla kogoś kto zna normalne (:D) języki jak właśnie Ruby czy JS (chociaż tu nie jestem pewien, bo lispy generalnie są łatwe do opanowania, vide nauka Scheme w ~15 minut na kursie MIT 6.001)
Czytam to już któryś raz i nawet jestem gotów się zgodzić, ale nie widziałem jeszcze dobrego, popularnego softu napisanego w Scali. To już nawet Haskell miał swojego Darcsa.
To, że Foursquare został przepisany do Lift/Scala, się nie liczy
[quote=Tomash]Czytam to już któryś raz i nawet jestem gotów się zgodzić, ale nie widziałem jeszcze dobrego, popularnego softu napisanego w Scali. To już nawet Haskell miał swojego Darcsa.
To, że Foursquare został przepisany do Lift/Scala, się nie liczy ;)[/quote]
A backoffice twittera nie jest w scali? (moge sie mylic)
W strobie mamy proxy “z bajerami” napisane w clojure, zapowiada się też, że będzie tego więcej. Ja na razie się dopiero zaczynam uczyć, ale wygląda na to, że się sprawdza.
Tak, Twitter coś tam ostatnio przepisywał na Scale. Nie wiem tylko co… API może? Jeżeli tak, to można powiedzieć, że Twitter jest w Scali, skoro frontend (w Rails) jest tylko klientem API
Scala in the Enterprise - LinkedIn, Twitter, Sony, Siemens, Xerox… dla mnie wystarczy jeżeli chodzi o “szersze stosowanie”
LinkedIn to w ogóle zaczynał jako spaghetti-java, znaczy od razu na JVM, więc tam dorzucenie Scali czy Groovy to zerowy wysiłek.
Twitter odszedł w całości od Rails, cały backend jest na JVM (nie wiem czy Scala czy coś innego).
Sony to podobno też Ruby używa, ale nie wiadomo gdzie.