Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Gdy znudzi ci się PHP poznaj Scalę, Bo pehap może być nużący
Luke_Star
post
Post #1





Grupa: Zarejestrowani
Postów: 129
Pomógł: 2
Dołączył: 17.01.2005

Ostrzeżenie: (0%)
-----


Zapewne wielu z nas miało swego rodzaju kryzys przy PHPowaniu, gdy patrząc na kolejną linijkę kodu rozpoczynającego sie od <?php mamy ochotę się postrzelić. To chyba swego rodzaju kryzys wieku średniego, gdy człowiek zauważa że PHP nie jest już taki łał, że jest suchy, że w sumie nadaje się tylko na web'a, nieraz otoczenie pracownicze (programiści Javy) patrzą na nas z wyższością bo niby programujemy w języku wannabe programmers.

Osobiście próbowałem podejść do Javy jako języka dla przyjemności, ale nie przyjęło mi się to za dobrze, to w sumie prosty język ale żeby coś napisać fajnego trzeba przejść prze prawdziwą dżunglę. Na dodatek otoczenie super mega wypas programistów Javy raczej nie sprzyja chęci robienia tego co oni, toteż szukałem dalej. Pomyślałem nad dziadkiem C, w którym się zakochałem, ale który za często nie wybacza, a prostych programów w tym się pisać za szybko nie da (każda biblioteka jest napisana przez kogoś z własnym pomysłem, przez co przejście przez zwykłe parsowanie XMLa bywa czasem piekłem).

Trzeba więc było iść dalej, na mojej drodze pojawił się Python i Ruby, języki IMHO fajne, ale strasznie mnie odstraszające swoim tabo'wym zapisem, na dodatek jakoś nie widziałem w nich tego czegoś. Składnia ogólnie przyjazna, ale społeczność jakoś mi mniej odpowiada, czułem jak gdyby wszyscy wołali "patrzcie piszę w pythonie, jestem super", inna sprawa że wydajność tych języków jest dla mnie dość mała wg mnie (nie po to pisałem Exty w C dla PHPa żeby przechodzić na nowy wolny język).

Innymi słowy dalej stałem w miejscu.

Pewnego dnia łażąc po necie w trakcie służbowej kawki natknąłem się na opis języka Scala, oczywiście rozbawiony zadałem sobie pytanie po cholerę ktoś pisze o takich historycznych językach przecież to ta sama grupa co Ada, Smaltalk, Lisp, Ocaml czy Scheme.

To był największy błąd merytoryczny w moim życiu (IMG:style_emoticons/default/smile.gif)

Okazało się że Scala to jeden z najnowocześniejszych i obecnie najprężniej rozwijających się języków (w odniesieniu do historycznego wzrostu programistów Scali).
Na dodatek stworzony w 2006 roku! Co sprawia że należy do najnowszych!
Ponieważ jest to język funkcyjny a nie imperatywny pierwsza próba ognia bywa cieżka.. ale gdy zobaczyłem semantykę tego kodu... poczułem że znalazłem swoje Shangri-La.

Kod
object HelloWorld2 {
  def main(args:Array[String]) = {
    var greeting = ""
    args.foreach(arg => greeting += (arg + " "))
    if (args.length > 0) greeting = greeting.substring(0, greeting.length - 1)

    println(greeting)
  }
}


Nie muszę mówić że nie jest to język dynamicznie typowany - NA SZCZĘŚCIE! Szlag człowieka trafia jak koderzy nie wiedza nawet co będzie w tej zmiennej w PHPie, a jeśli ktoś nie wie czym jest String, Float czy Nadbudowane na nich typy to niech wraca do szkoły, albo zostawi programowanie w spokoju.

Jest do tego nawet Framework Web + oczywiście wszystko co ma java - a dokładniej jej biblioteki a nawet język, bo drodzy państwo jest to dialekt dla JVM (wkrótce dla .NET też).
Nazywam ten język mniej upierdliwą javą, która jest mądrzejsza, bezpieczniejsza (zbudowana została mniej wiecej w tym celu) i sprytniejsza, o SCALowalności nie wspominam (IMG:style_emoticons/default/smile.gif) bo ma to w nazwie.

Naprawdę polecam, co do użytkowania tego języka prze jakikolwiek portal to polecam poczytać o rozwiązaniu problemów wydajnościowych Twittera.
Byłbym naprawdę zachwycony gdyby Polska stała się Bastionem dla tego języka, albo przynajmniej siedzibą dobrych samurajów (IMG:style_emoticons/default/smile.gif)

Pomocne Linki:

http://www.scala-lang.org/
http://www.codecommit.com/blog/scala/scala...refugees-part-1
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Są do tego generatory, fw formularzy, walidacji, czy

Są do tego generatory, fw formularzy, walidacji, cache, orm itp? IMO, to jak przyjdą z czymś w rodzaju SF, Zenda, to można w ogóle zerknąć do manuala (IMG:style_emoticons/default/winksmiley.jpg)
Chyba tylko Railsy są jakąś alternatywą hehe, ale i tak już są w tyle (IMG:style_emoticons/default/biggrin.gif)
Poza tym - mi też to wygląda na jakiś spam (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Theqos
post
Post #3





Grupa: Zarejestrowani
Postów: 49
Pomógł: 8
Dołączył: 5.12.2008

Ostrzeżenie: (0%)
-----


Kolega Luke_Star popadł chyba w chwilową fasynację. Spokojnie, to minie po przeczytaniu pierwszej ksiązki o Scali (IMG:style_emoticons/default/winksmiley.jpg) Zacznijmy od tego, że Scala nie jest językiem (czysto) funkcyjnym tylko wieloparadygmatowym. W szczególności jest w pełni obiektowy (cuda jak wywoływanie metod na liczbach) no i bardzo zachęca do programowania funkcyjnego co bez sporej wiedzy może się skończyć dużo wolniejszym kodem od tego pisanego w Javie. Ogólnie język wydaje się o wiele trudniejszy od takiej Javy czy PHP, szczególnie jak ktoś nie miał języków funkcyjnych w szkole (IMG:style_emoticons/default/winksmiley.jpg) Niby jest statycznie typowany, ale dzięki "mundremu" kompilatorowi zazwyczaj potrafi domyśleć się typu, przez co wygląda jak język dynamicznie typowany. Jednak trzeba sobie wyrobić nawyk gdzie kompilator się domyśli, gdzie nie, a gdzie fajnie byłoby poinformować czytających kod (np. o tym co zwraca funkcja). W ogóle jest dużo dowolności w pisaniu kodu np.
Kod
1.to(10) można zapisać jako 1 to 10

czyli żeby wyświetlić tanie produkty, można napisać np takie coś
Kod
products filter (_.cena < 100) foreach println

Z jednej strony możemy ładnie zmniejszyć kod, dając logikę na pierwszy plan. Z drugiej strony boję się ile stron będą miały coding standards w firmach (IMG:style_emoticons/default/smile.gif) Szczegółnie, że ta skalowalność w Scali odnosi się też do możliwości samodzielnej rozbudowy języka (brakowało wam kiedyś słów kluczowych? (IMG:style_emoticons/default/snitch.gif) ). No i tysiące innych rzeczy zaczynając od wbudowanej obsługi XMLa na ułatwieniach w tworzeniu własnych parserów skończywszy.

Co do szybkości/powolności JVM nie będę się wypowiadał, bo przecież PHP, Python czy Ruby jest wielokrotnie wolniejsze od Javy, a i tak odnioszą sukcesy w programowaniu webowym.

Czy to będzie następne C, C++, Java czy C#? Raczej nie, ale może być kolejnym Rubym (IMG:style_emoticons/default/tongue.gif) Obawiam się, że może być trochę za trudny dla klepaczy kodu. Ale z całościową oceną wstrzymam się do skończenia przeze mnie pracy dyplomowej oceniającej wykorzystanie Scali w webdevelopingu. Nawet jeśli ktoś w tym nie będzie pisał to i tak warto sobie o tym języku poczytać w ramach ćwiczenia programistycznego kata (IMG:style_emoticons/default/tongue.gif)

Cytat(Cysiaczek @ 2.04.2010, 15:26:35 ) *
Są do tego generatory, fw formularzy, walidacji, cache, orm itp? IMO, to jak przyjdą z czymś w rodzaju SF, Zenda, to można w ogóle zerknąć do manuala (IMG:style_emoticons/default/winksmiley.jpg)

Można bez problemu korzystać z rzeczy napisanych w Javie. Jest jeden framework, ale narazie nie zrobił na mnie pozytywnego wrażenia, zobaczymy dalej no i szykuje się nowa wersja.
Go to the top of the page
+Quote Post

Posty w temacie
- Luke_Star   Gdy znudzi ci się PHP poznaj Scalę   2.04.2010, 11:57:23
- - wookieb   Stary skąd ty ten tekst skopiowałeś? Bo dla mnie w...   2.04.2010, 12:11:08
- - Luke_Star   Wersja obecna czyli 2.x została wydana w 2006 roku...   2.04.2010, 12:47:11
- - darko   Jak dla mnie, to kolejna siszarpowata nakładka na ...   2.04.2010, 12:48:32
- - Luke_Star   darko ale gdzie ty tam widzisz chociażby naleciało...   2.04.2010, 12:56:02
- - darko   jvm to nie jedyne, co łączy javę ze scalą. Poza ty...   2.04.2010, 13:14:50
- - mrok   Cytat(...)nieraz otoczenie pracownicze (programiśc...   2.04.2010, 13:26:37
|- - darko   Cytat(mrok @ 2.04.2010, 14:26:37 ) bo...   3.04.2010, 02:57:19
- - marcio   No ostatnio glosno o scali w necie niedawno byl wa...   2.04.2010, 13:41:19
- - Cysiaczek   Są do tego generatory, fw formularzy, walidacji, c...   2.04.2010, 14:26:35
|- - Theqos   Kolega Luke_Star popadł chyba w chwilową fasynację...   6.04.2010, 12:32:14
|- - Luke_Star   Napisałem ten temat bo Scala wg mnie jest oryginal...   16.04.2010, 15:28:44
- - nasty   Teraz na wielordzeniowych procesorach, języki funk...   2.04.2010, 17:45:11
- - Wykrywacz   A jak jesteśmy przy funkcyjnych to nie lepiej wybr...   2.04.2010, 18:11:06
- - chlebik   W ogole nie wiem skad pomysl, ze Scala moglaby byc...   8.04.2010, 23:01:25
- - marcio   Jaksie komus znudzi php to polecam Python'a i ...   9.04.2010, 11:16:46
|- - nasty   Cytat(marcio @ 9.04.2010, 12:16:46 ) ...   16.04.2010, 16:41:41
- - Crozin   CytatNie wiem jak wy chłopaki ale ja programowanie...   16.04.2010, 15:34:07
- - mat-bi   Lekko odkopię temat Ostatnio, czytając na intern...   17.06.2011, 20:20:50
- - Rid   Z tego co tutaj wyczytałem,to Scala diametralnie r...   17.06.2011, 23:10:04
|- - greycoffey   Cytat(Rid @ 18.06.2011, 00:10:04 ) Z ...   18.06.2011, 08:49:56
|- - markonix   Cytat(Rid @ 18.06.2011, 00:10:04 ) Cz...   18.06.2011, 11:19:52
|- - pyro   Cytat(markonix @ 18.06.2011, 12:19:52...   18.06.2011, 11:31:57
|- - markonix   Cytat(pyro @ 18.06.2011, 12:31:57 ) N...   18.06.2011, 16:49:05
- - Rid   Czy język PHP wspiera HTML? Nie. Zdziwiony? http:...   18.06.2011, 11:26:07
- - rzymek01   chyba wszystkie powazniejsze projekty w PHP korzys...   18.06.2011, 13:56:00
- - Crozin   @Rid: Zacznijmy od tego, że w przeciwieństwie do P...   18.06.2011, 14:39:17
|- - pyro   Cytat(Crozin @ 18.06.2011, 15:39:17 )...   18.06.2011, 17:25:06
- - greycoffey   Funkcje echo, print to standardowe funkcje wyjścia...   18.06.2011, 15:09:44
- - mat-bi   Dobra, troche powrócę do tematu Obecnie "po...   18.06.2011, 21:26:43
- - Theqos   Oczywiście, że Scala wspiera HTML. Poniższy kod si...   20.06.2011, 08:05:18
- - Joe McQuay   Ostatnio, czytając na internecie, znalazłem tą Sca...   8.08.2011, 07:42:46
- - wookieb   Łatwy? Zobaczyłeś tylko parę jego elementów. Jest ...   8.08.2011, 07:47:19
- - O$iek   Wookieb przecież Joe McQuay chodzi tylko o promocj...   8.08.2011, 08:11:05


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 12:56