[Vm-dev] Re: I need help building Cog on 64bit Linux (new Squeak server)

Camillo Bruni camillobruni at gmail.com
Mon Feb 4 08:51:45 UTC 2013


On 2013-02-04, at 09:41, Jeremy Kajikawa <jeremy.kajikawa at gmail.com> wrote:

> The behaviour in SmallTalk relies on the underlying framework which you
> state is C language and full of undefined behaviour...

C consists of a lot of undefined behavior, writing a fast and fully C compliant
VM is hard! With each new version of GCC we run into new troubles, since the
VM makes assumptions that are actually undefined in the C standards.

> Doesn't that make the SmallTalk environment Undefined Behavior as well by
> inheriting the UB from the C layer it builds on?

exactly it DOES, we try to build our own VM here since 2 years:

https://ci.inria.fr/pharo

result? unstable builds, since with certainty there has never been an 
automated build. We get random crashes even though our builds are "gree"

> Or is that just irrational F.U.D. in promotion of SmallTalk by detraction
> against C?

> *both* languages are capable and leave defining behavior to the authoring
> programmer/coder/software-developer/...

the question is at which price?  and what can we do against it?

=> docuemntation and process is general!
	- AKA keep the bus factor low, people disappear unexpectedly 

=> automated builds help to reduce random hazards
=> building on different platforms and setups help to avoid wrong usage
   of undefined behavior
=> reducing warning messages helps to actually draw the focus on the ones
   that might cause errors
=> use an issue tracker for bugs, who knows what has been fixed and hasnt?


More information about the Vm-dev mailing list