Jakiś czas temu oczywiste było, że podstawowym językiem programowania do Android był Java, a do iOS był Objective-C. Nie liczymy jakiś pośrednich i niszowych rozwiązań, jak Flutter, Xamarin, Cordova itp.
Ostatnio co jakiś czas bywają tematy, że jak ktoś chce programować na Android, to Kotlin, a jak na iOS to Swift. Ja nie umiem programować telefonów, nie interesuje mnie to, więc nie wiem, co jest "trendy" i dlaczego, jednak pewna rzecz mnie zaciekawiła.
Gdyby zadać pytanie, czy lepszy Kotlin czy Java, to moim zdaniem nie ma jednoznacznej odpowiedzi, najlepsza odpowiedź to "wypróbuj oba języki i wybierz ten, który lubisz". Podobnie, jak Objective-C vs. Swift. Patrząc po ostatnich tematach w dziale Mobile, to widzę, że w rzadko którym jest jakiś kawałek kodu, a jak już jest, to najczęściej w Java.
Kotlin kompiluje się do kodu bajtowego JVM tak samo, jak Java, więc nie ma znaczenia, czy Java czy Kotlin, w jednym i w drugim można napisać taki sam program, bo i tak ostatecznie będzie kod bajtowy JVM. Dokładnie tak samo, jak język C# i VB.NET, oba i tak kompilują się do CLI, a dekompilator generuje kod w jednym i w drugim, który jest tak naprawdę taki sam, tylko trochę składniowo się różni, bo to inny język.
Wiadomo, że jeden lubi Kotlin, drugi lubi Java, więc w takim razie skąd taki boom na Kotlin, jakby miał wyprzeć język Java, skoro pod względem możliwości jest taki sam jak Java? To samo pytanie, skąd nagle Swift, który wypiera Objective-C, skoro również, jeden stwierdził, że lubi Swift, drugi stwierdził, ze lubi Objective-C. Jeżeli hipotetycznie chciałbym pisać coś na telefony, znam i lubię Java i Objective-C, to co w tym złego, ze tymi językami będę się posługiwać?