Hacker News new | ask | show | jobs
by martin-t 2994 days ago
The reason is Stéphane Ducasse is using his students as unpaid testers[0]. I can't see any other reason he'd make us use the latest technologies as you mentioned.

I also don't like the approach "let's write some code that passes tests and maybe works 80% of the time, and then release a few fixes every week for the next few months". Some of my classmates had to wait for 2 weeks just to get a working version of iceberg for the team project. And by working i mean it managed to clone the project, we kept getting "message sent to nil" and "object X does not understand message Y" errors for the rest of the semester and not just from iceberg. Any of those would be trivially caught in a static language.

Yes, there's a recovery feature. I found it slightly buggy too but it worked most of the time (and yes, i used it a few times). Still doesn't help when the whole image gets corrupted and pharo segfaults on startup.

[0] https://news.ycombinator.com/item?id=16757107

1 comments

Martin, IIUC you are a student that suffered a class using bleeding edge features. I can understand why you are bitter, but you should not be so quick to disparage Mr Ducasse. Your faculty was his client, and it seems that circumstance was outside his control. From our mail list...

Stephane Ducasse wrote:

> I told them NOT to use github.

> I told them that Bloc was alpha. They got a large list of topics and could have picked another one.

> Now of course we should improve and they too.

Fair point, i assumed using iceberg was his idea, my apologies if it wasn't. Can't comment on the stability of bloc, other team-members did that part of the project.

OTOH, please note that iceberg was only the tip of the iceberg (i am a huge fan of the name), the IDE itself did crash many times and corrupted my image once. The formatter moved comments into other blocks which changed their meaning and combined with CTRL+Z it deleted code after cursor in some cases reproducibly.

One extra funny though harmless bug was that shift+click didn't select a range of items items in some listboxes. It selected just the new one but left the old one highlighted. I clicked a few items and sometimes it selected the whole range. When I released shift and clicked more items, it played back the clicks i made earlier and selected those items instead. We joked that smalltalk did not only invent OOP but also command queuing in strategy games. Yeah, it was mean but we couldn't imagine what code had to be behind the listboxes to cause this behavior.

So yeah, maybe someone else thought OOP students would make a good typechecker for iceberg and designed the class accordingly but what i think and say about pharo still stands.