Wpis z mikrobloga

@boo007: pewnie dlatego, że to megafajny, lekki i DYNAMICZNY(w przeciwienstwie do Haskelli i pokrewnych) język funkcyjny działający na JVM(= stabilna, znana platforma), bez problemu korzystający z bibliotek Javy

tam masz tylko parę struktur (mapa, lista, vector, set) + masę funkcyjnych operacji na nich(coś jak stream API javy8 na sterydach) - nic więcej, a można z tego bez problemu pisać potężne apki. kompletnie inne podejście do programowania

#!$%@?, gdyby nie fakt że
  • Odpowiedz
@zajety_login: na codzień klepię m.in. w Pythonie więc wiem do czego zmierzasz :P

nie, naprawdę dużej nie refactorowałem i też jestem zdania że naprawdę duże rzeczy lepiej pisać w statycznie typowanych bo łatwiej się to później utrzymuje.

natomiast w żadnym wypadku dynamiczność nie nazwałbym wadą. w pewnych okolicznościach sprawdzają się zajebiście.

to dramatycznie przyspiesza development apek, szczególnie takich które np. "hackują" wykorzystanie jakichś bibliotek pod konkretny usecase bądź służą do prototypowania
  • Odpowiedz
@gangstaindesign2: Okej, w takim razie niesłusznie odebrałem ten zacytowany fragment jako atak na języki typowane statycznie :P Co do samego postu, to zgadzam się chyba ze wszystkim co napisałeś. Pragmatyzm + "choose the right tool for the job".

Z ciekawości: w czym piszesz pozą Pythonem? Strzelam że w Scali, skoro ją wspomniałeś i wiesz czym jest scalaz/cats :P

Swoją drogą mam do tych libek ambiwalentny stosunek, zwłaszcza do tej pierwszej. Z
  • Odpowiedz
Z ciekawości: w czym piszesz pozą Pythonem? Strzelam że w Scali, skoro ją wspomniałeś i wiesz czym jest scalaz/cats :P


niestety jestem na etapie wywalania Scali z projektu(gdyż nie będziemy korzystali dalej z Apache Sparka, a głównie do tego nam służyła) więc teraz zostaje mi tylko Python i Kotlin z Arrow-Kt https://www.47deg.com/blog/announcing-arrow-for-kotlin/ który, cytując:

The two groups of maintainers decided to join forces after encountering both users and companies in the Scala
  • Odpowiedz
paradoksalnie (ambitnego) juniora łatwiej jest tego nauczyć niż seniora który jedyne co widział przez całe życie to Google Guava :P


@gangstaindesign2: Masz rację, trochę nieprecyzyjnie się wyraziłem i wrzuciłem wszystkich juniorów do jednego worka. Jest dokładnie tak jak mówisz: ambitni juniorzy na których trafiałem byli bardzo chętni żeby chłonąć jak najwięcej wiedzy. Często byli też sceptyczni wobec powszechnie używanych rozwiązań. Seniorom z kolei często się już nie chce uczyć nowych rzeczy,
  • Odpowiedz
@erwit: Ponieważ analizujemy dane sklepów, które są dosyć 'konwencjonalne' (tj. bazy po kilka milionów zamówień max) nie potrzebujemy kombajnu do big daty jakim jest Spark.

Lepsze rezultaty osiągamy zwykłym Pythonem i jego bardziej rozbudowanymi machine learningowymi bibliotekami(w porównaniu do Spark ML), a ponieważ mamy mocne maszyny + możliwość odpalenia się chmurowo to z potencjalnym "OutOfMemoryError" nie mamy żadnych problemów.

Spark jest naprawdę niesamowitą i sensowną technologią(bardzo podoba mi się jego API),
  • Odpowiedz