[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