Silläkin uhalla, ettette jaksa enää kuunnella juttujani [Java]-kehityksestä, sanon pari asiaa, jotka olen oppinut:
Olen ensimmäisen kerran ymmärtänyt, miksi ihmiset käyttävät
IDEjä. Se johtuu siitä, että Javan tyyppimääritykset ovat oikeasti
''tosi tosi'' pitkiä kirjoittaa. Toisin kuin C:ssä, jossa
tyyppimääritys on esim. "int" tai "ini_map *", Javan tyypillinen
tyyppimääritys on "ParameterMapCrunchyDto" tai
"ImmutableList
Sitten opin, miksi Java-kehittäjät niin mielellään käyttävät debuggereita. Debuggerihan on kätevä, paitsi että sen komennot ovat vähän pitkiä kirjoittaa ja/tai joutuu käyttämään hiirtä, mikä on hidasta. Sen sijaan on hyvin nopeaa kokeilla erilaisilla syötteillä, mitä mikin funktio palauttaa, ja lisätä erilaisia debug-printtauksia, joista saa tietää, missä tilassa mikin muuttuja on ohjelman suorituksen eri vaiheissa. No, Javassa ei ole koskaan ollut järkevää REPLiä, jossa niitä funktioita voisi kokeilla, ja muutenkin ne funktiot on jaettu erilaisiin singleton-komponentteihin, joihin pitää saada jostain referenssit (eli REPLiin tarvittaisiin jonkinlainen jälki-inject-tuki). Sitten print-debuggaus on hankalaa Javassa, koska ohjelmien uudelleenkäynnistys on tosi hidasta, ja kaikenlaisten olioiden oletus-toString on kamala eikä kerro yhtään mitään. Eli joutuu kirjoittamaan vähän paljonpuoleisesti koodia saadakseen ajonaikaisesti tulostetuksi jonkin lausekkeen tuloksen, ja sittenkin kestää, ennen kuin saa nähdä tulokset.
Eli käytännössä, Java-koodaajat käyttävät debuggereita, koska ne osaavat reflektiolla näyttää, mitä ohjelman tietorakenteet oikeasti sisältävät.
* [merkintä: 2016-05] * [atehwa] * [kategoria: päiväkirjamerkintä] * [tyyppi] * [funktio] * [voi näyttää, muttei pakottaa näkemään.]