The Artima Developer Community
Sponsored Link

Agile Buzz Forum
Re: How to Reduce Your Credibility in a Technical Discussion

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
James Robertson

Posts: 29924
Nickname: jarober61
Registered: Jun, 2003

David Buck, Smalltalker at large
Re: How to Reduce Your Credibility in a Technical Discussion Posted: Oct 4, 2004 3:45 AM
Reply to this message Reply

This post originated from an RSS feed registered with Agile Buzz by James Robertson.
Original Post: Re: How to Reduce Your Credibility in a Technical Discussion
Feed Title: Michael Lucas-Smith
Feed URL: http://www.michaellucassmith.com/site.atom
Feed Description: Smalltalk and my misinterpretations of life
Latest Agile Buzz Posts
Latest Agile Buzz Posts by James Robertson
Latest Posts From Michael Lucas-Smith

Advertisement
Spotted in Dare Obasanjo aka Carnage4Life

It seems James has come under fire for his dogged persistence that static typing gets in the way of solving real world problems.

The comments are right in that whether a language is dynamic or static doesn't directly affect whether the types have limits or not.

What Dare fails to understand is that specifying a type specifies a limit. Lets take some examples:

int a;
float b;
char foo[128];

In the above three examples we have limits. Some are obvious and known up front, some are not so obvious and depend on the platform your program runs.

Now, it's very easy for a dynamic language to fall in to the non-obvious limits trap as well. But, lets presume we have a smart language that knows when its limit has reached and overflows.

In the case of Smalltalk, it overflows from SmallInteger in to LargeInteger or from NativeFloat in to LargeFloat. The situation here is changing the type and memory layout of the object involved.

At runtime, changing the type and memory layout of an object in a statically typed language is not possible - the code has been compiled to assume shape and method calls that are possible on the statically defined type.

So, while James was a bit over eager to attribute this problem solely on static typing, it is clear that the solution to this problem is not as straight forward as it is in a dynamic language as it can be in a static language.

In fact, in a static language, you could define a type that dynamically changes itself at runtime, lets call this DynInt. The problem is that then you have to change all your code to use and make DynInt's instead of int's. Again, another disadvantage of static typing. it's just the nature of the beast.

Read: Re: How to Reduce Your Credibility in a Technical Discussion

Topic: More bad technology choices Previous Topic   Next Topic Topic: That's announcing in advance

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use