Czy Scala ma szansę zastąpić Jave?

0

Czy Scala ma szansę zastąpić Jave ?

4

Nie :)

2

640 KB RAMu wystarczy każdemu.

0

Gdyby sukces lub porazka projektów zalezal w glownej mierze od uzywanego jezyka to projekty w Scalii czesciej odnosilby by sukces niz projekty pisane w Javie. To z kolei bylo by w stanie przyciagnac zarowno programistow jak i przekonac menagement zeby inwestowac w Scale. Tak się dokładnie stało z Javą, gdy nastąpiło przejście w applikacjach biznesowych z C++ na Javę (projekty biznesowe w Javie były pisane szybciej i zawierały mniej błędów).
Jeżeli chodzi o Scalę to raczej nie można zaobserwować takiego przejścia. Wniosek: Scala nie dostarcza ficzerów które by znacząco wpływały na jakość produkowanego oprogramowania lub szybkość jego wytwarzania. Raczej dostarcza ficzerów które radują umysł geeka :P

0

Przede wszystkim Scala jest dość skomplikowana. Dostępność zaawansowanych ficzerów sprawia, że te ficzery są szeroko używane, a nawet nadużywane. Do tego toolchain jest jeszcze trochę niedojrzały. Nie ma też jakichś wielkich frameworków do Scali, które by były podstawą do tworzenia biznesowych krów. Skomplikowanie Scali powoduje, że podaż, także potencjalna (czyli gdyby Scala załapała w miarę szeroką popularność) jest stosunkowo niska. Niska podaż programistów to wysokie koszty zatrudnienia, trudności w powiększaniu zespołów, zwiększone ryzyko zastępowalności w przypadku zwolnienia się z pracy, itp itd

Generalnie Scala jest zbyt złożona, by zastąpić Javę lub w ogóle być w czołówce, ale gdyby stała za nią tak duża firma jak Oracle czy Microsoft to miałaby szansę na kilka procent rynku w dość krótkim czasie. Ale i tak myślę, że szansę na zawojowanie kilku procent rynku ma w ciągu kilkunastu lat - ile nie pojawi się coś co by ją pobiło w swojej kategorii.

Dla przykładu język Ruby zaczął być popularny 8 lat od powstania, w momencie pojawienia się Ruby on Rails. Scala jest 8 lat młodsza od Ruby, a na skali popularności jest tam gdzie Ruby było 7 lat temu jeśli odnieść się do tego: http://www.indeed.com/jobtrends?q=ruby%2C+scala&l=

(rynek = miejsca pracy)

0

Dwa lata temu powiedziałbym, że zdecydowanie nie. Dziś, po spotkaniu iluś ludzi na konferencjach, którzy używają Scali w firmie do kodowania jakiś backendów finansowych, już mam pewne wątpliwości. Zastąpić, pewnie nie zastąpi, ale IMHO ma realne szanse zdobyć popularność podobną co Python czy Ruby i znaleźć sobie całkiem ładne miejsce. Zwłaszcza, że coś drgnęło w szkoleniach. A jak już korporacje wydają na szkolenia, to coś jest na rzeczy. Dwa lata temu była zupełna posucha, właściwie język był używany prawie wyłącznie przez pasjonatów i ewentualnie startupy.

BTW: Za Scalą stoi Typesafe, który się rozwinął na całkiem ładny biznes. Może jeszcze daleko do Oracle czy MS, ale zdążył już nieźle namieszać. Mamy paru klientów z Top 100, którzy używają frameworków zbudowanych na Akka na produkcji. Wydaje mi się, że Akka może być czymś takim jak był RoR dla Rubyego.

0

Mnie sie wydaje że Scala ma szanse ugruntować swoją pozycję ale raczej nie przebije się na miejsce Javy. O tym że Scala ma szanse zaistnieć świadczy fakt, że sporo A-playerów w firmach które piszą w Javie jest Scalą zainteresowana i coś tam dłubią gdzie się tylko da.

0

I tak i nie.
Na tak:

  • scala ma lepszą składnię niż Java,
  • łatwiej w niej pisze się przetwarzanie kolekcji
  • aktorzy
  • programowanie funkcyjne

Na nie:

0

Java miała zastąpić C++. Scala nie zastąpi Javy

Moim zdaniem Java (+ C#) zastąpiła C++ jeśli chodzi o biznesowe krowy, a to bardzo duży kawałek tortu (sam w robocie pracuję nad krową przepisaną właśnie z C++ do Javy kilkanaście lat temu). W Javie pisze się na Androida, a w ogólności jest parcie na HTML5 + JS. Tak więc C++ jest wypierany, może nie przez samą Javę, ale w ogólności jest wypierany. Prawie na pewno nie zostanie zmarginalizowany w ciągu przyszłych kilkunastu lat, bo w zasadzie wszystkie VMki mają poważne wady w stosunku do kodu natywnego, np przestoje spowodowane przez GC, zwiększone użycie pamięci, brak dostępu do niskopoziomowych optymalizacji - to wszystko sprawia, że np topowe gry nie są pisane pod VMki.

1

Tu w sumie najważniejsze pytanie - w jakim segmencie rynku scala ma zastąpić javę.

0

Coś o skomplikowanych językach programowania:
http://en.wikipedia.org/wiki/Software_Peter_principle

//McConnell states that less competent developers favor code with advanced programming language features over code that is readable. Code written by these programmers tends to increase software complexity.
//

0

Jak już cytujesz to warto byłoby zacytować jeszcze:

In projects without a strong software architecture team

Jak kod nie jest przeglądany przez kogoś kompetentnego przed wrzuceniem na produkcję to jest kupa, niezależnie czy język jest skomplikowany czy nie. A nieczytelny i sprytny kod można pisać w każdym języku, tu masz zbiór dośćuniwersalnych sztuczek: http://graphics.stanford.edu/~seander/bithacks.html

Tu w sumie najważniejsze pytanie - w jakim segmencie rynku scala ma zastąpić javę.

W zasadzie myślę podobnie co Krolik:

Wydaje mi się, że Akka może być czymś takim jak był RoR dla Rubyego.

Mechanizm aktorów w Scali jest świetny, a przy tym sama Scala nie jest tak "odjechana" jak np Erlang. Tak więc segment aplikacji rozproszonych jest potencjalnym celem.

0

Na tak:
Na nie:

Ale pytanie nie brzmiało „czy Scala jest lepsza od Javy”, tylko „czy Scala ma szansę zastąpić Javę”.
Scala może mieć 1000 zalet nad Javą a i tak jej nie zastąpi, bo nie. ;-)

0

Argumenty na tak mówią o tym dlaczego scala zastąpi javę, a na nie dlaczego nie.

0

Patrząc na ostatnio rosnącą popularność Hadoopa, a następnie porównując możliwości i wygodę pracy w Hadoop (ze wspomagaczami typu Hive lub Pig) z czymś takim jak Apache Spark, gdzie podstawowy shell to opakowany REPL Scali, to Scala ma okazję mocno namieszać w BI.

http://spark.incubator.apache.org/

Widziałem to na żywo prezentowane na konferencji (i to nie przez ludzi od Sparka, a przez ludzi z jakiejś korpo, która tego używa) i ludzie musieli stać za drzwiami, bo nie starczyło miejsca w sali na 200 osób.

BTW: W USA jest już całkiem dużo ofert pracy: http://www.scalajobz.com/

0

Myślę, że nie. Języka Java jest na tyle rozwojowy i uniwersalny, że będzie jeszcze przez wiele lat wykorzystywany. Nawet jak pojawią się kolejne. A pewnie się pojawią.

1 użytkowników online, w tym zalogowanych: 0, gości: 1