Cześć.
Pierwszy raz zadaję tego typu pytanie, mam nadzieję, że dział dobry.
Szukałem w Google i na forum, nadal nie mogę się zdecydować i nic mnie nie przekonuje, więc pytam.
Piszę aplikację Androidową w Javie. Przede wszystkim dla siebie, żeby się pouczyć, ale załóżmy, że jest to duży, ważny projekt. Lepiej zostać na Javie, czy przejść na Kotlina? W czym Kotlin jest lepszy od Javy? (Oczywiście nie oczekuję, że ktoś mi wypisze wszystkie różnice, ale proszę o jakieś krótkie za i przeciw bądź o jakiś link)
Dziękuję.
- Rejestracja:prawie 11 lat
- Ostatnio:około 5 lat
- Postów:171

- Rejestracja:ponad 18 lat
- Ostatnio:4 dni
Trudny wybór. Kotlina zbytnio nie znam, choć pewnie jest lepszy od Javy, z Javą trochę pracowałem i nie polecam. Tylko że Kotlin chyba bardziej w Androida i projekt sam w sobie nie pewny. Za to Scala ma ugrunowaną pozycję na rynku i prawdopodobne jej udział będzie rosnąć. To dobry język, też działa na JVM, można pisać też na androida, dobrze wspiera programowanie funkcyjne — dla mnie język cud miód. Polecam.


- Rejestracja:prawie 7 lat
- Ostatnio:około 11 godzin
- Lokalizacja:Kraków
- Postów:2000
Kotlin jest łatwiejszy od Javy.
- Nie musisz się bawić w jakąś kosmiczną ifozę lub Optionale żeby uporać się z nullami. Jak coś jest
nullable
a spróbujesz to potraktować beztrosko jak gdyby nie było, wywali się kompilator a nie runtime. - A jak jesteś uparty i koniecznie chcesz to zrobić, to będzie Cię wtedy kłuł w oczy obleśny i brzydki non-null assertion (
!!
) w kodzie. Use at your own risk. - Kod jest dużo bardziej zwięzły.
- Named parameters i domyślne wartości parametrów. W Javie chyba nadal na to nie wpadli i trzeba się bawić w przeładowywanie.
- Interop z Javą jest na tyle dobry, że bez większych problemów można korzystać z bibliotek i frameworków javowych.
- Bezpieczne rzutowanie rzeczy, które niekoniecznie muszą być rzutowalne na Twój typ? Nic prostszego:
val myConcreteObj: ConcreteClass? = myGeneralObj as? ConcreteClass
PS Nie jestem tu żadnym autorytetem, bo w Javie robiłem tylko jakieś proste projekty na studia, a w Kotlinie piszę komercyjnie dwa miesiące po absolutnym braku wcześniejszej styczności z językiem i przesiadce z Pythona, ale uważam, że nieprawdą jest, jakoby Kotlin był trudniejszy od Javy. Przesiadka, która po roku niemal braku styczności z Javą zajęła dwa tygodnie, wliczając wdrożenie w nowy projekt o czymś jednak świadczy. Raczej nie jest źle.


- Rejestracja:ponad 7 lat
- Ostatnio:prawie 4 lata
- Lokalizacja:Kraków
- Postów:834
Jak nie umiesz dobrze ani Javy ani Kotlina, to Kotlin, bo i tak musisz się czegoś nauczyć.
Jak umiesz dobrze Kotlina, a nie znasz Javy, to Kotlin, bo już znasz Kotlina.
Jak umiesz dobrze Javę, a nie znasz Kotlina, to Kotlin, bo szybko się go nauczysz a ma dużo fajnych elementów usprawiniających pracę (https://api.4programmers.net/Forum/1515402).


Utworzyłem 20 GB na partycję systemową w Linux, polecenie df -h pokazuje mi, że katalog /tmp dostał 2.9 GB. Przy próbie instalacja w VS wirtualnego Androida 5.1 zapycha mi na 100% katalog /tmp. Jeżeli programujecie pod Androidem na Linuksie, to ile macie na to wydzielone miejsca, czy można jakoś przenieść katalog /tmp na partycję /home?
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.