![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
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) |
|
|
![]()
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) 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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 12:56 |