Nuclear_Phoenix uto 2.11.2021 08:55

Hoćeš argumente?

 

- sigurnosni problemi (od serijalizacije pa dalje do samog security modela jave tj JVMa i njegovog "sandboxa")

- zbrljani inheritance - meni/nama jako, jako bitno zbog tipa softvera kakav pišemo.

- "runtime hell" sa hrpom raznih verzija koje se razlikuju po sitnicama ali dovoljno da nešto ne radi, pogotovo ako je ofrlje napisano (a to je nažalost vrlo često ali nije krivica jezika)

- Oracle

- (kako bi to preveo) jako je "verbose" - skoro je nemoguće pisati bez nekog autocomplete zbog toga i bolesne opsjednutosti imenicama. Ovo također rezultira hrpom boilerplate koda.

- skoro sve navedeno ovdje

- razvojna okolina je svjetlosnim godinama iza Visual Studio Code a da ne pričam o "punom" VS.

 

Do sad sam u Javi napravio 5-6 android aplikacija, 2 desktop aplikacije sa UI i dosta utility aplikacija od kojih je najkompliciranija jedna za testiranje uređaja - server/client, komunikacija sa serijskim portom, pristup bazi i web servisima.

 

Kad već spominjemo web okhttp + retrofit je totalno komplicirano smeće u odnosu na recimo restsharp (i da ne pričam o generiranju clienta iz swagger fajla - nakon par sati sam odustao i napisao clienta pješke, kraće je trajalo):

 

OkHttpClientclient=newOkHttpClient.Builder().addInterceptor(newInterceptor()
{
@Overridepublic Response intercept(Chain chain)throws IOException
    {
       RequestnewRequest= chain.request().newBuilder() .addHeader("Authorization", "Bearer " + token) .build();
       return chain.proceed(newRequest);
    }
}).build();

vs

request.AddHeader("Authorization", string.Format("Bearer {0}", bearerToken));