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
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.
>
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