Malo flameanja (scala vs. java) ...

13 views
Skip to first unread message

Frane Šarić

unread,
Nov 30, 2011, 3:44:50 AM11/30/11
to lang...@googlegroups.com
Nedavno je iscurilo jedno pismo na internet u kojem su objašnjeni
razlozi zašto tvrtka Yammer prelazi sa scale na javu:
http://blog.joda.org/2011/11/real-life-scala-feedback-from-yammer.html

Strašno djeluju savjeti uz koje su im se performanse poboljšale 100x:

1. Don't ever use a for-loop
2. Don't ever use scala.collection.mutable
3. Don't ever use scala.collection.immutable
4. Always use private[this].
5. Avoid closures.

Znači li to da je scala jezik sa super apstrakcijama koje zapravo u
stvarnom svijetu ne smiješ koristiti?
Pitanje za java programere - kad naletite na ovo:
for (Nešto nešto : kolekcija)
pokušavate li to zamijeniti sa:
for (Iterator<Nešto> i = kolekcija.iterator(); i.hasNext();)
(itd., kako to već ide)?

100x zalazi u domenu "osjetno sporije od pythona", s čim se rijetko
tko može pohvaliti...

Čini mi se da će svi pravi programeri preći na Dart (uh, kao da nije
bilo dosta trolanja :-D)

Pozdrav,
Frane

Dinko Srkoc

unread,
Nov 30, 2011, 5:40:19 AM11/30/11
to lang...@googlegroups.com
Ograda odmah na početku - ja nisam osobiti Scala stručnjak, stoga ne
treba shvaćati da moje riječi dolaze s pozicije autoriteta. Već neko
vrijeme pratim njihovu mailing listu i trenutno radim na svojem prvom
(nevelikom) Scala projektu pa sam upoznat s temom.

2011/11/30 Frane Šarić <frane...@gmail.com>:


> Nedavno je iscurilo jedno pismo na internet u kojem su objašnjeni
> razlozi zašto tvrtka Yammer prelazi sa scale na javu:
> http://blog.joda.org/2011/11/real-life-scala-feedback-from-yammer.html
>
> Strašno djeluju savjeti uz koje su im se performanse poboljšale 100x:
>
> 1. Don't ever use a for-loop

Činjenica da je najbrži način za zavrtiti se u Scali korištenje
`while` petlje jest široko poznata u toj zajednici. for-comprehension
nije petlja, compiler takav kôd pretvara u niz `flatMap` i na kraju
`map` poziva (ili `foreach`, moguće i kakav `filter`).

> 2. Don't ever use scala.collection.mutable

Takva tvrdnja se često može čitati na mailing listi, premda razlog
nisu performanse.

> 3. Don't ever use scala.collection.immutable
> 4. Always use private[this].
> 5. Avoid closures.

Java također ima svoje idiome vezane uz performanse. Scala producira
mnoštvo klasa što ponekad ima utjecaja na perfomanse (GC ima više
posla).

>
> Znači li to da je scala jezik sa super apstrakcijama koje zapravo u
> stvarnom svijetu ne smiješ koristiti?

Ja koristim, istina tek od nedavno. Za primjere korištenja Scale u
stvarnom svijetu se najčešće ističu Twitter i Foursquare. Dosta su
jaki i u investicijskom bankarstvu.

> Pitanje za java programere - kad naletite na ovo:
> for (Nešto nešto : kolekcija)
> pokušavate li to zamijeniti sa:
> for (Iterator<Nešto> i = kolekcija.iterator(); i.hasNext();)
> (itd., kako to već ide)?

Ne, compiler for-each zapravo više-manje pretvori u korištenje iteratora [1].

>
> 100x zalazi u domenu "osjetno sporije od pythona", s čim se rijetko
> tko može pohvaliti...

100x sporije mi se čini pretjerano. Ljudi u Scala svijetu dosta paze
na takve stvari. Obično se kaže da Scala u brzini ne zaostaje puno za
Javom [2].

>
> Čini mi se da će svi pravi programeri preći na Dart (uh, kao da nije
> bilo dosta trolanja :-D)

:-)

- Dinko

[1]: http://stackoverflow.com/a/2113226
[2]: http://shootout.alioth.debian.org/u64/scala.php

>
> Pozdrav,
> Frane
>
> --
> You received this message because you are subscribed to the Google Groups "lang gang" group.
> To post to this group, send email to lang...@googlegroups.com.
> To unsubscribe from this group, send email to lang-gang+...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/lang-gang?hl=en.
>

Dinko Srkoc

unread,
Nov 30, 2011, 5:52:45 AM11/30/11
to lang...@googlegroups.com
2011/11/30 Dinko Srkoc <dinko...@gmail.com>:
> 2011/11/30 Frane Šarić <frane...@gmail.com>:
>> [...]

>> Čini mi se da će svi pravi programeri preći na Dart (uh, kao da nije
>> bilo dosta trolanja :-D)
> [...]

Ako netko još nije vidio, evo i link na transkript zanimljivog govora
o Dartu koji je nedavno održao Gilad Bracha[1] na Stanfordu:

http://blog.sethladd.com/2011/11/transcription-of-quick-tour-of-dart-by.html

- Dinko

[1]: http://bracha.org/Site/Home.html

Reply all
Reply to author
Forward
0 new messages