Ilus vs. kiire kood II: Ruby, Scala, Java

Niisis, nagu eelmises postituses sai lubatud, testin seekord lihtsat ringsõltuvuste leidmise algoritmi kolmes erinevas keeles: Ruby, Scala ja Java. Lisaks otsustasin veel testi lisada JRuby — skriptis midagi ei muutu, tekib lihtsalt võrdlusmoment JVM-l jooksva JRuby ja tavalise Ruby vahel.

Kindlasti on iga allpool toodud skripti asemel võimalik samas keeles parem lahendus kirjutada. Ideaalset programmi pole niikuinii olemas — alati on tegu mingi kompromissiga. Antud juhul arvestatakse näiteks järgmisi nõudmisi: kood olgu varem ära toodud algoritmile vastav, keele iseärasusi arvestav, optimiseerimise eesmärgil enda loodud andmestruktuure mitte kasutav, kuna eeldatavasti on tegu eraldiseisva, lightweight ja harva käivitatava skriptiga ja kood võiks jääda võimalikult lihtsaks.

Continue reading “Ilus vs. kiire kood II: Ruby, Scala, Java”

Ilus vs. kiire kood

Mõni aeg tagasi oli meil vaja leida Spring Bean‘ide vahelisi ringsõltuvusi. Kuna ringsõltuvused tekitavad kohati probleeme, tuleks nendest tavaliselt hoiduda. Kui nad aga juba olemas on, siis tuleb nad kõigepealt üles leida, et vaadata mis neist edasi saab. Selleks kirjutas AK Ruby skripti, mis tuvastas Spring‘i konfiguratsioonifailis leiduvad ringsõltuvused ja kirjutas need graafina DOT faili. DOT failist oskab näiteks Graphviz renderdada visuaalse pildi.
Continue reading “Ilus vs. kiire kood”