[Pharo-dev] Smalltalk = strongly typed
estebanlm at gmail.com
Fri Aug 2 09:47:04 EDT 2013
On Aug 2, 2013, at 3:39 PM, Camille Teruel <camille.teruel at gmail.com> wrote:
> Just a citation:
> “I spent a few weeks ... trying to sort out the terminology of ‘strongly typed’,
> ‘statically typed’, ‘safe’, etc., and found it amazingly difﬁcult ... The usage of these
> terms is so various as to render them almost useless.”
> -- Benjamin C. Pierce
> If you use one of these terms, you should give a definition.
> And if you hear one, you shouldn't assume the author means what you think.
> For example some people could argue that Smalltalk is untyped (or unityped ), while you argued that it is strongly typed since there is no implicit type conversion.
> For most people, the static/dynamic and the weak/strong distinctions are supposed to be orthogonal.
> So, for most people, strong typing is not a synonymous of static typing.
I have to say that IMHO, you are wrong in this one. For researchers, maybe. But I have seen in "industry word" that the terms are often exchangeable and for most people I have known, strong=static :(
>  http://existentialtype.wordpress.com/2011/03/19/dynamic-languages-are-static-languages/
> On 2 août 2013, at 06:03, btc at openInWorld.com wrote:
>> greetings all,
>> I'm in the final weeks of writing up my Masters dissertation and seeking some scholarly references to Smalltalk being "Strongly Typed."
>> I my review of Smalltalk I was surprised to find that  describes Smalltalk as Strongly Typed, since Smalltalk is sometimes denigrated as being untyped / weakly typed. From reviewing discussion forums this now makes sense, but I can only find one of scholarly reference that briefly mentions this . The most enlightening is  which defines Type Strength as:
>> "A strongly typed language prevents any operation on the wrong type of data. In weakly typed languages there are ways to escape this restriction: type conversions"
>> meaning that getting a MNU is a form of Strong Typing since you can't make a Smalltalk object run a method that is not its own. The problem appears to be that Strong Typing has been synonymous with Static Typing for a long time, and Static Typing strongly ties types to variables, except in Dynamically Typed languages, I think types can be considered independently from variables, in which case the definition of  has some merit, hence Smalltalk is Strongly Typed.
>> Sounds controversial, so I'm just hoping for some peer reviewed backup - but only you have something easily to hand. This is just a small thing I can just leave out if necessary.
>> cheers -ben
>>  http://www.squeak.org/Features/
>>  p15, http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.35.7507&rep=rep1&type=pdf
>>  http://www.cs.kuleuven.ac.be/publicaties/rapporten/cw/CW415.pdf
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Pharo-dev