Debuggen in Java vs Smalltalk
De afgelopen weken heb ik weinig aan Smalltalk gedaan, omdat de context switch tussen Java en Smalltalk en de context switch tussen het probleem domein op mijn werk en mijn thuis project een beetje te groot was.
Op het werk verlangde ik wel weer naar een aantal mogelijkheden van de Smalltalk omgeving. Ik miste een workspace. Bij het testen kwam een van de gebruikers een situatie tegen, dat volgens mijn unit testen niet mocht voorkomen. In Smalltalk is het dan heel makkelijk om in een workspace even het gedrag van de objecten na te bootsen en zien waar het verkeerd gaat. Ik heb nu gebruik gemaakt van een junit testscript, wat in wezen niet verkeerd is, maar ik merkte wel dat het gewoon meer tijd kost. Je moet toch wat dieper nadenken over hoe je je test script moet maken omdat je niet interactief met je object kunt spelen.
De debugger van Intellij is wel ok, en ik kan tijdens een debug sessie wel wat code uitvoeren en inspecten, maar het is nog geen workspace. Je zit toch min of meer vast aan het script dat je van tevoren hebt opgesteld en dit is een nadeel als je nog niet weet waar je de fout moet zoeken.

In Eclipse kan je een scrapbook gebruiken dat hetzelfde doet.
Die feature zat ook al in de voorganger van Eclipse, VisualAge for Java. Saillant detail is dat deze laatste in Smalltalk gemaakt was.
Comment by Robin Barendregt — December 2, 2006 @ 9:13 am
Hmm, een scrapbook dus. Hoe moet die anchor tag gebruikt worden? Niet gewoon de url in “href” en de te tonen tekst in “title”?
Comment by Robin Barendregt — December 2, 2006 @ 9:15 am
Ik heb je comment even gefixed. Ik zal nog uitzoeken hoe het precies moet met die anchors, maar volgens mij had je het wel goed.
De scrapbook ken ik nog wel van eerdere versies van eclipse, maar in de laatste versie kon ik het niet zo snel terug vinden en ik dacht dat ze het eruit gehaald hebben.
Wat ik wilde was op een live systeem wat code uitvoeren, om het gedrag in een bepaalde situatie te observeren. Net zoals je ook met irb in ruby kan doen.
Kan dit met een scrapbook ook, of moet je wel eerst je eigen runtime environment creeeren?
Comment by soemirno — December 2, 2006 @ 2:28 pm
Goh, ik vermoed dat dit niet ondersteund wordt.
Het lijkt me technisch ook wel mogelijk, als je bijvoorbeeld kijkt naar HotSwap, zolang je niet teveel meta-informatie wil manipuleren.
Misschien wel een leuke feature request voor het Eclipse team!
Comment by Robin Barendregt — December 2, 2006 @ 11:17 pm