[Javalist] Scala

Richard O. Legendi richard.legendi at gmail.com
2013. Jan. 25., P, 16:10:11 CET


Hali!

Ja, IntelliJ-t ajánlják sokan, én mélyebben még nem másztam bele, mert 
Eclipse-ben élek már x éve, és a Sonatype-os "official" IDE is a Scala 
IDE. Attól függetlenül még komoly gondok vannak vele :-)

Amik nekem zavaróak voltak így elsőre hirtelen ezek (ez mind csak 
személyes vélemény, lehet másnak jobb tapasztalatai vannak):

- a compiler sebessége

- az fsc-vel valamivel jobb a helyzet, de fél óránként szétfagy

- egész tavalyig a Scala codebase-t Emacs-ban fejlesztették :-)

- kísérletezős nyelvnek indult, ami nagyon izgalmassá teszi (ld. makrók 
kapcsán miket tudtak kihozni, érdemes átfutni a 2012-es Scala Days 
előadásait). Emiatt vannak benne nehezen emészthető dolgok. Sokszor meg 
is kapja az "overcomplicated" jelzőt, szerintem nem alaptalanul (ha 
cselezett már meg pl. egy nem várt implicit konverzió, tudod, mire 
gondolok).

- hatékonyság (ld. @tailrec, bár erre rá kell szokni)

- Említettem a bináris kompatibilitást: 3-4 havonta nézheted át a kódot, 
mert mindig minden változik. A 3rd party library-knek pl. külön verzióik 
vannak a főbb Scala verziókra (2.8/2.9/2.10), amihez még esetenként a 
használt build tool verziószáma sem mindegy... Ezzel kapcsolatban 
sokszor egyébként azt a cselt használják, hogy pure Java interfészeket 
definiálnak, mert az jó mindenhol :-)

- Ha már itt tartunk, az Sbt se valami simple a neve ellenére :-) Egy 
idevágó vélemény illusztráció céljából:

/"SBT is confusing as shit." ---Questioner at the recent Scala SF meetup 
(and plenty others, in different words). Amen, in so many ways. Thank 
heavens Typesafe has acknowledged this and is working on it." :-))//
/
- Egy csomó (szerintem egyébként hasznos) korlátozást feloldottak, pl. 
hogy a csomag legyen leképezés a fájlrendszerre, egy fájlban max. egy 
public típus lehet, stb. Sokszor negyed óráig keresem, hogy hol a 
szöszben van egy definíció.

- Egy dolgot többféleképpen is elfogadnak ( TAMWTDI), pl. a .Netes/Javas 
package jelölést is, ez néha nagyon zavaró. Zavaró volt már Perlben is.

- Tool support. Ha valami kell, sokszor a bleeding edge-ig kell menned 
érte. Pl. kerestem egy sima build rendszerbe integrálható code coverage 
eszközt. Nem találtam. IntelliJ-ben van alapból egyedül, azt viszont a 
Jenkins-szel nem nagyon etetem meg :-) Maradt valakinek egy Github 
magánprojectje, amihez fél éve hozzá sem nyúltak, de egy srác forkolta 
valamikor és megpatkolta, hogy menjen az akkor használt stable Scala 
verzióval.

- A debuggolás elég nehézkes. Egyszerűen nincsenek még meg az 
eszközeink, hogy egy olyan sort könnyen és hatékonyan lehessen 
vizsgálni, amiben öt filtering/traversing/mapping/folding/reducing 
utasítás szerepel. Nem azért, mert bonyolult, csak eddig nem voltak 
ilyen mainstreamek a funkcionális nyelvek, és nem volt ezekre szükség 
:-) Azt meg fapadnak érzem már, hogy minden ideiglenes adatszerkezetet 
kiírjak a képernyőre.

- Irgalmatlan fárasztó, amikor egy case classnak van 22 paramétere, és 
nézegetni kell, hogy most melyik micsoda. Elég sok helyen ütköztem ilyenbe.

- Az osztályhierarchiák követése esetenként roppant nehézkes.

Amúgy a legnagyobb előnye szerintem, hogy nagyon inspiráló és aktív 
közössége van.

Ricsi

On 2013.01.25. 15:04, János Háber wrote:
> Fura, en Intellij IDEA-val hasznalom es egesz korrekt a forditas ido 
> (scala 2.9.2, mavenbol forditva). De a hatranyokra kivancsi lennek.
>
>
> 2013/1/25 Richard O. Legendi <richard.legendi at gmail.com 
> <mailto:richard.legendi at gmail.com>>
>
>     Hát, én is dolgoztam vele, tanítottam is az ELTE-n, meg
>     próbálkozok néha projectekhez kontributálni (Scala IDE, Specs2,
>     ScalaTest, etc.), de túl akadémiaira sikeredett a nyelv szerintem,
>     sajnos.
>
>     Elég sok hátrányt tudnék felsorolni, ami keresztbe tesz az ipari
>     projecteknek (bár tudok nagy cégekről, ahol ez most a favorit).
>     Nagyon sok jó koncepció van a nyelvben, de pl. binary
>     compatibility mint fogalom ismeretlen, és 10 fájlnál nagyobb
>     projecten dolgozni vele halál (vagy kivárhatatlanul lassú, vagy
>     megöli a compiler az IDE-t). Cserébe nagyon izgalmas.
>
>     Akkaról sok jót lehet hallani, én csak kísérleteztem vele.
>     Mindenképp érdemes megnézni, mert pl. lecserélték a Scala API-ban
>     lévő aktorokat az Akka aktorjaira.
>
>     Ricsi
>
>
>     On 2013.01.25. 14:46, Hollósi Balázs wrote:
>
>         melyik az a forum? par hete kezdtem el olvasni az Odersky fele
>         Programming in Scala konyvet szabad perceimben, de igy par fejezet
>         utan mar erzem hogy nem is a nyelv az ami az igazan nagy poen,
>         hanem a
>         koncepcio (vagyis a ketto egyutt). kozben szembe jott az akka
>         framework, nagyon szep igeretekkel, esetleg azzal kapcsolatban
>         is van
>         tapasztalat?
>
>         b
>
>         2013/1/25 János Háber <janos.haber at javaportal.hu
>         <mailto:janos.haber at javaportal.hu>>:
>
>             Van :) Hobbi szinten magamnak + most jott egy kisebb melo
>             amiben scalat
>             tolok :) Itthoni forumrol tudok. Jozsa Kristof meg akirol
>             tudom hogy
>             scalazik (o is fennvan listan)
>
>
>             2013/1/25 Hollósi Balázs <hollosi.balazs at 1101.hu
>             <mailto:hollosi.balazs at 1101.hu>>
>
>                 csak hogy kizökkentsem a fröcsögést... lehet majd
>                 nyitok egy új
>                 thread-et is neki, csak kiváncsiságból ide is bedobom:
>                 van a listán
>                 olyan fejlesztő kolléga aki scala -zik (akár hobbi
>                 akár ipari
>                 szinten)? vagy van annak itthoni fóruma :)
>
>                 b
>
>         _______________________________________________
>         Javalist mailing list
>         Javalist at lists.javaforum.hu <mailto:Javalist at lists.javaforum.hu>
>         http://lists.javaforum.hu/mailman/listinfo/javalist
>
>
>     _______________________________________________
>     Javalist mailing list
>     Javalist at lists.javaforum.hu <mailto:Javalist at lists.javaforum.hu>
>     http://lists.javaforum.hu/mailman/listinfo/javalist
>
>
>
>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist

--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20130125/8dd828dc/attachment.html>


További információk a(z) Javalist levelezőlistáról