<html><head><style>body{font-family:Helvetica,Arial;font-size:13px}</style></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div> <br> <div id="bloop_sign_1490373977121305856" class="bloop_sign"></div> <br><p class="airmail_on">On March 24, 2017 at 11:46:00 AM, Charles Srstka (<a href="mailto:cocoadev@charlessoft.com">cocoadev@charlessoft.com</a>) wrote:</p> <blockquote type="cite" class="clean_bq"><span><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div></div><div>
<title></title>
<blockquote type="cite" class="">On Mar 24, 2017, at 11:41 AM, Drew
Crawford via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:<br class=""></blockquote>
<div>
<blockquote type="cite" class=""><br class="Apple-interchange-newline">
<div class=""><span style="font-family: 'helvetica Neue', helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">I would argue that supporting whatever the programmer's
chosen mental model is actually Swift's greatest strength. We
could have a language with only reference types for example, it
would be far, far simpler and easier to teach. I am glad that
we don't have that language.</span></div>
</blockquote>
</div>
<br class="">
<div class="">We kinda do, though, or did, in Objective-C (well,
the “Objective” parts of it, anyway).</div>
<div class=""><br class=""></div>
<div class="">Charles</div>
<div class=""><br class=""></div>
</div></div></span></blockquote><br><div>Exactly. I mean the same people who brought us ObjC decided we needed a language with multiple mental models. They could have shipped reference types only, they shipped value types on day 1. To me there is no clearer plank in the platform than that.</div><div><br></div><div>If you like your ObjC, you can keep it. Swift exists exactly because we reject some (not all) of the ObjC way, and it's not just syntax. One of the things rejected is There Should Be One Way To Do It™. Swift embraces many ways to write your program and has from 1.0.</div></body></html>