2006-04-25
 
wow
HELSINKI - Dinsdagavond. Het was weer een lange dag. Het begon met Finse les; ik heb in het afgelopen jaar nog niet veel geleerd van de taal. Vanuit linguïstisch oogpunt is het best aardig om zo'n totaal andere taal te leren, maar praktisch gezien is het nut voor mij nogal beperkt. Ik spreek de hele dag Engels, Duits en soms Nederlands -- maar Fins? Daarbij komt dat Fins een nogal uitdagende taal is. We bespraken de 15 vormen waarin een zelfstandig naamwoord kan voorkomen. En dan hebben we het alleen nog maar over het enkelvoud; hetzelfde circus moet ook nog eens worden uitgevoerd voor het meervoud. 2x15=30 vormen dus? Nee, natuurlijk niet! Het Fins kent drie verschillende meervoudsvormen, zodat we tot 4x15=60 komen... Maar goed, als ik die zestig vormen ken, dan is het verder allemaal eenvoudig toch. Of? Nee natuurlijk niet. Zelfstandige naamwoorden behoren tot zo'n 20 groepen (en nog wat onregelmatige), die elke zo hun eigen regels hebben voor het bepalen van die zestig vormen. **diepe zucht**

Het is geen wonder dat Finnen zo'n zwijgzaam volk zijn...

De rest van de dag stond in het teken van vergaderen en het verwerken van veel e-mail. Aan het eind van de dag was er zowaar nog tijd om een beetje code te schrijven. Nu is code schrijven strikt gezien niet mijn taak. Het is echter goed om een beetje scherp te blijven. En een software architectuur opzetten zonder ook kniediep in de implementatie te gaan, dat vind ik wat lastig. Belangrijkste reden is natuurlijk dat het gewoon leuk is om code te schrijven. Ik heb elke dag slechts een paar uurtjes om wat code te schrijven, en da's niet zo slecht. De rest van de tijd kan ik een beetje nadenken (bewust en onbewust) over hoe ik het best verder kan gaan. Als ik dan eindelijk weer ga zitten om code te schrijven, is het me al volledig duidelijk wat ik wil gaan doen. En word ik slechts nog afgeremd door mijn typsnelheid.

Gtk+ en GObject kunnen wat stug zijn in de omgang. Maar het is vooral een kwestie van elkaar goed leren kennen. Aan elkaar wennen. En dan gaat het geweldig. Op zeker moment wordt het overvloedige casten MIJN_HANDIGE_WIDGET(foo) een soort tweede natuur... Wat heel erg krachtig is, is het callback-systeem: elke GObject kan een signaal afgeven, dat dan weer elders in het programma afgehandeld kan worden. Misschien moet ik daar eens wat meer over schrijven.

De complexiteit van Gtk+/GObject zit 'm met name in het definiëren van libraries. Code generators zoals spuug kunnen daarbij natuurlijk een beetje helpen, maar nog steeds moet de programmeur erg zorgvuldig en precies te werk gaan, en kennis hebben van veel details. De gebruikers van de libraries hebben het dan echter gemakkelijk. Met name als ze niet C gebruiken, maar bijv. Ruby of Python. Ik heb veel in C++ geprogrammeerd (met std::/boost::), en dacht enige tijd dat C++ een veel productievere taal was -- maar ik betwijfel dat nu. Zolang ik maar een code generator kan gebruiken.

Ok -- genoeg geschreven. Ik ga nu maar weer bier drinken en tv-kijken.


0 Reacties:

Een reactie plaatsen


Emacs, the UberEditor Powered by Blogger