[Pharo-dev] Debugging in Production Servers

Eliot Miranda eliot.miranda at gmail.com
Thu Apr 24 15:01:16 EDT 2014

On Wed, Apr 23, 2014 at 10:42 PM, Sven Van Caekenberghe <sven at stfx.eu>wrote:

> I am sorry, but I disagree.
> Yes, technically, much of what we take for granted is partially possible
> in most other languages, but it is often hard to use, an add-on, an
> afterthought. But more important, Java developers even do not use
> debuggers/inspectors/browsers during development, let alone during
> production. It's just edit/compile/run/crash - add some print statements
> and run again. During production its all massive plain logging.

And the crucial linguistic difference is Smalltalk's (and LISP's) resume
semantics for exceptions vs Java's restart semantics.  This difference is
that in Smalltalk the exception handler is executed in the context of the
exception, allowing the programmer to see the point of error and provide a
value with which to /resume/ execution.  In Java the exception is delivered
in the context of the handler, discarding the execution state that caused
the exception, only allowing the program to /restart/ the code that caused
the exception, and making investigating the cause of the exception
impossible in the current run.

We can dump live stacks with FUEL for example.

And this because Smalltalk provides first-class activation records
(contexts) /and/ has resume semantics for exceptions.

> On 24 Apr 2014, at 06:01, S Krish <krishnamachari.sudhakar at gmail.com>
> wrote:
> > One can easily do that with Java / Eclipse or for VC++ / Visual Studio
> with attach to process. Probably I would reckon these to be more "secure"
>  as industry prefers rather than having live debug capabilities built in to
> the code delivered or somehow "in-process". I am sure all others as in
> python, ruby et als will have debug in prod capabilities if reqd.
> >
> > Javascript with Rhino also can easily allow live debug if the reqd jar
> is present..
> >
> > The bigger purchase Smalltalk gives is in reflection that can be
> leveraged to produce fairly extensive logger reports which no other
> langauge currently does when fault occurs in production.
> >
> > I doubt in production the industry is as of now willing to let debug be
> acceptable specially in Banking domain.
> >
> > The smalltalk advantages are not translating into business gains per se
> given the comfort zone of security, safety production systems are wrapped
> in procedurally.
> >
> >
> > On Thu, Apr 24, 2014 at 7:39 AM, askoh <askoh at askoh.com> wrote:
> > Smalltalk has the capability of allowing live debugging in production
> > servers. How unique is this capability? What other systems allow that?
> >
> > Is there a name for such capability? Can we coin one and market it?
> >
> > What are the pros and cons of having such a capability?
> >
> > All the best,
> > Aik-Siong Koh
> >
> >
> >
> > --
> > View this message in context:
> http://forum.world.st/Debugging-in-Production-Servers-tp4756136.html
> > Sent from the Pharo Smalltalk Developers mailing list archive at
> Nabble.com.
> >
> >

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20140424/1f9a2da0/attachment-0002.html>

More information about the Pharo-dev mailing list