On 20 February 2012 20:24, Igor Stasenko <[email protected]> wrote: > On 20 February 2012 21:18, Frank Shearar <[email protected]> wrote: >> On 20 February 2012 19:41, Guido Stepken <[email protected]> wrote: >>> Am 20.02.2012 10:22, schrieb Edgar J. De Cleene: >>> >>> Yesterday in a response to Craig I said have a Cuis with a wiki on top and >>> this .image is 5 mb and run on a “modern” G4 400 mhz PowerMac. >>> >>> That’s is a beauty and the power of Cuis, thanks Juan for your reduced image >>> of 2 mb >>> >>> >>> Looks nice. >>> >>> World menu -> appearance -> set desktop color -> Error >>> >>> What i - never ever - understand is, why - when Smalltalk is a reflective >>> language and there are so mighty tools - like Moose - out there, able to >>> search the whole codebase for possible occurrences of "message not >>> understood"????? >> >> This is just a trivial application of the solution to the Halting >> Problem (left as an exercise for the reader). >> > I wonder, what kind of language solves that problem better than smalltalk > does? > Apparently compilers can complain about using wrong type/name.. but they > cannot > complain about null pointer(s).. they usually crash & bail to OS :)
The sad thing is that null pointer exceptions are perfectly avoidable in statically typed languages. Er, in decent ones at least! You have to actively work to use nulls in Haskell, for instance. If you have something that might or might not be there, you have an option type: Maybe in Haskell, or Option in Scala. It's just a wrapper that tells you "yes, I have a value, and this is it" or "no, I have no value". (I have a Smalltalk implementation up on http://www.squeaksource.com/Nutcracker/ in the Maybe package. You still have the problem in that you can always say Just value: nil, but it's handy for (a) saying "this is optional" and (b) chaining operations together such that a Nothing stops computation from proceeding.) frank >> Or: if you want to avoid MNU, don't use a dynamically typed language. >> > >> frank >> >>> This is no personal quality problem, this is a methodical problem. In the >>> whole Pharo team. "Wrong development process!" >>> >>> Please, again: "Develop the development process!" >>> >>> Have fun, Guido Stepken >> > > > > -- > Best regards, > Igor Stasenko. >
