> On Jul 1, 2016, at 3:24 PM, Rick Mann via swift-users <swift-users@swift.org> 
> wrote:
> 
> Maybe it's just my C++ upbringing

I think that’s it, yes. (No offense intended.) Different languages have very 
different ways of doing things. C++ has a very intense focus on performance, 
and that’s led to its object model being very limited (I could say “crippled”) 
compared to almost any other OO language. Part of this is the way that static 
methods are really just namespaced functions, not true methods.

> Hmm. It sounds like you're saying it is the way it is as a side-effect of the 
> language implementation.

No, it’s a side effect of the language design. I could go into more detail, but 
I’d just be repeating what Brent said, basically.

If you really want to dive into this rabbit hole, I suggest learning about 
Smalltalk, which is in most respects the original OO language, and the direct 
ancestor of Obj-C’s OO features. Metaclasses are a pretty deep concept and well 
worth learning about. (I remember poring over the class hierarchy diagram in 
the flyleaf of the Smalltalk-80 “Blue Book” as a college student…)

—Jens
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to