Een Prolog voorbeeld

Afgelopen week heb ik een presentatie gegeven over Prolog. Daar hanteerde ik een bepaald voorbeeld om de eigenschappen van de taal te illustreren. Om de code uitwerking nog eens rustig te kunnen bekijken, hier een uitwerking van het vakantie voorbeeld. Het probleem: Een groep vrienden gaan op een lange reis met meerdere auto`s. Maak een […]

Lees meer >>

Liever geen threads meer?

De afgelopen tijd lijkt er een verschuiving plaats gevonden te hebben in software ontwikkeling. Waar we voorheen aan het experimenteren waren met verschillende frameworks en technieken zoals inversion of control en object relational mappers  lijken we de laatste tijd ons weer meer te richten op andere en nieuwe talen. Op het Java platform zijn Scala […]

Lees meer >>

Normalized Systems

Een tijd terug werd ik gewezen op het boek Normalized Systems: Re-creating Information Technology Based on Laws for Software Evolvability van Mannaert en Verelst [1]. Het boek resoneerde sterk met enkele ideeën die ik heb over software ontwikkeling. Met name de gedachte dat een software applicatie meer gemeen heeft met een chaotisch systeem dan een […]

Lees meer >>

Een Smalltalk voorbeeld

Hieronder wordt een voorbeeld uitwerking van het ontwikkelen van een applicatie in Smalltalk gegeven. De opdracht om een applicatie voor het spelletje Galgje te bouwen komt voort uit onze werkgroep Smalltalk die door Rob en mij afgelopen maand gegeven is voor een groep enthousiaste deelnemers. Het artikel is dus een uitwerking van deze opgave, maar […]

Lees meer >>

De eigenschappen van properties

Een tijdje geleden had ik een discussie met een collega. deze collega had kritiek ontvangen op zijn code vanwege de binding van data van een object via properties aan een formulier. Dit doorbrak encapsulatie en was geen goede object oriented techniek luidde de kritiek. Vrijwel elke user interface bied slechts mogelijkheden om te binden op […]

Lees meer >>

Boek recensie: Pragmatic Thinking and Learning

Er worden er veel boeken geschreven voor ons vakgebied. Al deze boeken proberen ons iets te leren. Pragmatic Thinking and Learing trok mijn aandacht omdat het me probeerde te leren leren. Volgens de schrijver bestaat een groot gedeelte van het werk van een software engineer uit het leren van nieuwe dingen. Dit kunnen nieuwe technieken […]

Lees meer >>

Implementeren is modelleren

Net als het schrijven van de code vind modelleren plaats over de gehele duur van het project. In een eerder artikel werden twee regels beschreven die een model erg eenvoudig hielden. Dit gaf een hoop ruimte die tijdens de implementatie ingevuld moet worden. Dat is echter niet erg want goed implementeren is een vorm van […]

Lees meer >>

Domein modelleren is niet moeilijk

Er wordt vaak erg ingewikkeld gedaan over domein modelleren. Het is echter minder moeilijk dan het lijkt. De belangrijkste fouten die ik vaak tegen kom zijn modelleren op basis van informatie en modelleren op basis van diep nadenken. Goed domein modelleren gebeurt echter op basis van gedrag en op basis van relevante observaties. Domein modelleren […]

Lees meer >>

Niet mocken!

Het heeft voor mijn gevoel tamelijk lang geduurd, maar unit-testing begint nu langzaam maar zeker normaal te worden in een software-ontwikkeltraject. Zelf kan ik niet meer zonder. Binnen een statisch getypeerde taal is het namelijk één van de weinige mogelijkheden om direct feedback van jouw software te krijgen. Toch lijkt in het huidige gebruik een […]

Lees meer >>

Herbruikbare Parameteriseerbare Adapters

Tijdens cursussen en seminars gaat het vaak over hoe koppelingen tussen het domein en de service tot stand komen. Meestal worden in deze context generieke parameteriseerbare adapters genoemd. Voor veel mensen blijft dit concept echter nog een beetje vaag. Hierom hebben we besloten het adapter framework wat we hiervoor gebruiken publiek beschikbaar te stellen. Onderstaand […]

Lees meer >>