[Seaside] 10 reasons why I'm using Smalltalk for airflowing
philippe.marschall at gmail.com
Sun Jan 15 14:44:33 UTC 2012
2012/1/13 Jon Paynter <kittle31 at gmail.com>:
> +500 for somebody who got started on the exact same hardware as I did.
> Several months of chopping wood to earn that Extended Basic cartridge was
> well worth it :)
> Your comments on the debugger - in particular debugging web applications, is
> what makes Smalltalk productivity shine. i wish there was a really good way
> to illustrate that -- Ive done the exact same thing: Walkback in a web
> app. Fix my typo, and proceed. user sees nothing but a pause.
I don't understand the rage about the Pharo debugger:
- It's buggy. Its doesn't access variables correctly so it can happen
that when you click on a variable in the debugger a second debugger
with an exception in the debugger shows up. This is fun. I had to pull
features from Seaside because of this.
- Accepting code if you're inside an active block of a terminated
method doesn't work. Evaluation works time though. It happened to me
several times that I "wrote code in the debugger" and everything has
fine until I accepted the changes. Then an exception would pop up and
the debugger would throw all my changes away without a way of getting
- It doesn't have breakpoints, yet alone exception break points or
conditional break points. It doesn't list all breakpoints in the
system or have an easy way to disable them all.
It also lacks several convenience features that I've grown to appreciate:
- key bindings for stepping
- explorer instead of #printString for objects
- highlighting of variables when new values are assigned
- step filters for filtering out frequent, "uninteresting" methods
(eg. String >> #,)
- option to suspend all processes not just the current one
- custom object formatters without having to hack #printOn: into
third party classes
- break points
I'm aware the debuggers of other Smalltalks are better.
I take the Eclipse Java debugger over the Pharo debugger any time
because it works and doesn't eat my code.
More information about the seaside