”Udda” erfarenhet av programspråket Java


Min väg till att lära mig Java var lite udda…

En chef kom en dag (året var ca 2010) förbi mitt skrivbord och ville ha hjälp med ett akut problem; ett internationellt jobb skulle ha varit klart redan för 3 år sedan(!) och nu började det bli panik! Känslan var också att en hög chef hade brustit i sin kontroll att få jobbet gjort, och nu skulle det göras, helst ”osynligt”, med så lite timdebitering som möjligt.

Jobbet innebar att bearbeta XML-filer från/till diverse länder. Att konvertera/exportera våra ”platta” filer till XML-filer, validera XML-filer, ”hacka upp” dem i hanterbara storlekar. Vissa filer hade en storlek på över 2 Gb! Därefter validera att de var syntaktiskt korrekta samt paketera dem i zipfiler på upp till 200 st.

Av någon anledning klarade ex inte Tyskland av ens 30 Mb -filer… Vi landade slutligen på (ca, kan ju inte minnas allt exakt :-) ) 12Mb -block. Min kollega föreslog VB (Visual Basic), men jag ansåg det vara alldeles för långsamt. Att processa 2Gb -filer som skulle kontrollera/justeras på 15-20 olika sätt per rad skulle gå alltför sakta. Jag plockade istället ihop ett Javaprojekt bestående av små ”filverktyg”, för att bearbeta filerna på diverse olika sätt.

Java hade några år innan infört något som kallas ”just-in-time” (JIT) -optimering, och jag har för mig att vi kunde bearbeta filerna i en hastighet av ca 12Mb/sekund. Vi a) införde en ny regel/metod, b) testkörde, om fel: c) justerade, d) testkörde igen…

Lite fulhack, men det var ju bråttom, bråttom! Efter ca 2 månader började länderna, ca 30 st bli nöjda med levererat data. Javakoden överlämnades till en annan programmerare som skulle stoppa in det hela in i en större server. I fortsättningen skulle framtida filer hanteras ”on the fly” via den servern.

Jag har alltså ”inte suttit som en normal Javaprogrammerare” i ett större projekt… När jag nu vill börja studera Java så märker jag att vissa egendomliga ””Java/OO (ObjektOrienterat)-uttryck”” cirkulerar som jag aldrig behövde beröra; ”aggregation” , ”factory pattern”, ”heterogeneous collection”…

Java 8 kom ut förra året med vad jag förstår ett stort antal förbättringar. Förhoppningsvis lyckas jag komma in i Java -världen, då det är nutidens ”Cobol” bland programspråk, finns överallt. Själv har jag annars sysslat med Perl, C, Unixskript, HTML/CSS/JS… och alla andra akronymer som finns inom webbvärlden :-) . Börjar bli länge sedan med sådant också, HTML5 var det exempelvis inte tal om när jag jobbade med webbutveckling. Snarare XHTML (som inte längre verkar vara inne).

Be First to Comment

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *