Skip navigation.
 
mlRe: Objective-C and it's future
FROM : Damien Sorresso
DATE : Sat Jul 08 03:00:31 2006

On 7 Jul, 2006, at 7:29 PM, Rob Ross wrote:

> I'm just learning Obj-C myself, so maybe my understanding is not 
> correct. But, don't you actually have the option to use static 
> typing in certain instances, and use dynamic typing in others?
>
> Eg:
>
> id    myStr;
>
> vs
>
> NSString *myStr;
>
>
> Won't the second version give you the benefits of static typing 
> (compiler time checking)?
>


Well, kinda sorta. The compiler will check, but the messages are 
still bound at runtime. For example, this statement won't even 
generate a warning.

NSString *str = [[NSData alloc] init];

because both `NSData' and `NSString' have `init' methods, and `init' 
methods return an object of type `id', which is NOT statically typed. 
For more egregious violations, like for example ...

Cat *cat = [[Cat alloc] init];
[cat bark];

... the compiler will throw up a warning and tell you that `cat' may 
not respond to the selector `bark'.


> So my understanding is you can have the best of both worlds. Or 
> have I misunderstood something?
>


Not quite. Objective-C is pretty well entrenched in the runtime.

You have to remember that you're NOT actually "calling a method" when 
working with Objective-C objects. You are sending them messages. 
Think about it this way. If language objects are people, then C++ 
objects are basically puppets. You don't tell them to do something; 
you just pull the string, and they do it. Objective-C objects are 
more independent. You TELL them that you'd like something done, and 
they'll do it if they can.
--

Damien Sorresso

"That is the saving grace of humor, if you fail no one is laughing at 
you."
-A. Whitney Brown

Related mailsAuthorDate
mlObjective-C and it's future Thomas Davie Jul 8, 01:33
mlRe: Objective-C and it's future Finlay Dobbie Jul 8, 01:46
mlRe: Objective-C and it's future Shawn Erickson Jul 8, 01:48
mlRe: Objective-C and it's future Charlton Wilbur Jul 8, 01:55
mlRe: Objective-C and it's future Thomas Davie Jul 8, 02:10
mlRe: Objective-C and it's future Robert Walker Jul 8, 02:12
mlRe: Re: Objective-C and it's future Shawn Erickson Jul 8, 02:22
mlRe: Objective-C and it's future Rob Ross Jul 8, 02:29
mlRe: Re: Objective-C and it's future Shawn Erickson Jul 8, 02:41
mlRe: Objective-C and it's future Thomas Davie Jul 8, 02:42
mlRe: Objective-C and it's future Erik Buck Jul 8, 02:50
mlRe: Objective-C and it's future Kenny Leung Jul 8, 02:57
mlRe: Objective-C and it's future Gregory Weston Jul 8, 03:00
mlRe: Objective-C and it's future Damien Sorresso Jul 8, 03:00
mlRe: Objective-C and it's future Damien Sorresso Jul 8, 03:00
mlRe: Re: Objective-C and it's future Shawn Erickson Jul 8, 03:07
mlRe: Objective-C and it's future Thomas Davie Jul 8, 03:12
mlRe: Objective-C and it's future Damien Sorresso Jul 8, 03:14
mlRe: Objective-C and it's future Rob Ross Jul 8, 03:15
mlRe: Objective-C and it's future Rob Ross Jul 8, 03:18
mlRe: Re: Objective-C and it's future Shawn Erickson Jul 8, 03:23
mlRe: Re: Objective-C and it's future Shawn Erickson Jul 8, 03:25
mlRe: Objective-C and it's future Thomas Davie Jul 8, 03:28
mlRe: Objective-C and it's future Thomas Davie Jul 8, 03:40
mlRe: Objective-C and it's future Sherm Pendley Jul 8, 03:54
mlRe: Objective-C and it's future Kenny Leung Jul 8, 03:56
mlRe: Objective-C and it's future Shawn Erickson Jul 8, 04:22
ml[Moderator] Re: Objective-C and it's future cocoa-dev-admins Jul 8, 04:56
mlRe: Objective-C and it's future Thomas Davie Jul 8, 13:10
mlRe: Objective-C and it's future listposter Jul 8, 17:02
mlRe: Objective-C and it's future cocoa-dev-admins Jul 8, 17:05
mlRe: Objective-C and it's future John C. Randolph Jul 8, 18:50
mlRe: Objective-C and it's future Ryan Stevens Jul 8, 19:13
mlRe: Objective-C and it's future Scott Thompson Jul 10, 16:21
mlRe: Objective-C and it's future Andrew Satori Jul 10, 16:43
ml[Modertator] Re: Objective-C and it's future cocoa-dev-admins Jul 10, 17:13