<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">Le 7 déc. 2017 à 13:59, Benjamin G &lt;<a href="mailto:benjamin.garrigues@gmail.com" class="">benjamin.garrigues@gmail.com</a>&gt; a écrit :</div><br class="Apple-interchange-newline"><div class=""><br class="Apple-interchange-newline"><br style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div class="gmail_quote" style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;">On Thu, Dec 7, 2017 at 1:45 PM, Gwendal Roué<span class="Apple-converted-space">&nbsp;</span><span dir="ltr" class="">&lt;<a href="mailto:gwendal.roue@gmail.com" target="_blank" class="">gwendal.roue@gmail.com</a>&gt;</span><span class="Apple-converted-space">&nbsp;</span>wrote:<br class=""><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><div style="word-wrap: break-word;" class=""><span class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">Le 7 déc. 2017 à 11:00, Benjamin G via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a>&gt; a écrit :</div><br class="m_6833561026732858738Apple-interchange-newline"><div class=""><div dir="ltr" style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;" class=""><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><div style="word-wrap: break-word;" class=""><div class="">Until, and if, the “resistance” presents some conceptual explanation of how this could cause harm (I’m not asking for anything concrete, just a logical series of events that causes a plausible problem in practice), my belief is that the Swift community will see this as unwarranted fear.</div></div></blockquote><div class=""><br class=""></div><div class="">On the server side :<span class="m_6833561026732858738Apple-converted-space">&nbsp;</span><br class=""></div><div class="">automatically generate an administration api for your model based on introspection. Since swift doesn't provide anything convenient, and people may simply try to "port" approach from python framework (like django), they'll resort on recreating some kind of BaseDynamicObject that you'll have to extend for all your base classe, using some "properties()" and "methods()" functions to define your properties and methods for your model.</div><div class=""><br class=""></div><div class="">Or :</div><div class="">Automatically generate a database schema based on your model. Same idea.</div></div></div></div></div></blockquote><br class=""></div></span><div class="">The explicit harm that Chris is looking for is yet to be shown.&nbsp;</div></div></blockquote><div class=""><br class=""></div><div class="">The harm isn't in generating the database schema, or the administration api. it's in abandonning all kind of compile-time safety in your model layer (and such by extension in almost every part of your stack) in order to accomplish this. Dynamic language obviously don't have this concern, but thankfully Swift isn't a dynamic language.<br class=""></div></div></div></blockquote><div><br class=""></div><div>Yes, yes, but this has been said dozens of time already in this thread. Chris's question is *how*, not *what*. It's much harder to answer, I agree.</div><br class=""><blockquote type="cite" class=""><div class="gmail_quote" style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class=""><blockquote type="cite" class="">&nbsp;You should not assume that everybody feels an horror thrill by reading such applications of dynamism. As a matter of fact, users of dynamic languages *live* and *enjoy* this. Python and Ruby users, obviously (Rails + Django), but also ours close cousins, the Objective-C developers, who rely on Key-Value coding or validation methods. Those use cases are, I'm sorry to say it, *compelling* use cases for dynamism.</blockquote></div><div class=""><br class=""></div><div class="">Not sure what field you're working in, but at least on the server the general trend toward more compile-time safety has been pretty obvious for some time now.<br class=""></div></div></blockquote><div><br class=""></div><div>I'm not sure you really care about my answer.</div><div><br class=""></div><div>Gwendal</div><div><br class=""></div></div></body></html>