> On 2016-07-12, at 13:29, Jonathan Hull <[email protected]> wrote:
>> Note that most popular OOP languages provide well-known patterns for 
>> creating sealed but public classes, where only the author is able to 
>> create subclasses. These patterns typically involve hiding class 
>> constructors from external modules. If Swift was changed to support 
>> sealed classes the same way, would you then propose a language feature 
>> to defeat access modifiers?
> All I will say is that I avoid using those languages as much as possible.  It 
> is a separate topic, but in my opinion/experience languages which encourage 
> too much planning/architecture lead to complicated programming structures (as 
> an effort to work around limitations within the rules) and nothing of worth 
> actually ends up getting accomplished.  Give me smalltalk or objC any day.

There is truly nothing wrong with preferring the 
Objective-C/Smalltalk/Ruby/Python/JavaScript class of languages to the 
Java/C++/C#/Rust/Go camp. Most reasonable people would say that lots of worth 
has been accomplished in each of them. Also, most people would say that too 
little planning/architecture can be just as damaging (or more) as too much.

But Swift is obviously in the second camp, and has been since 1.0.

I doubt there is a good middle ground between the two approaches; they seem to 
be mutually incompatible. Most concessions to “loose" languages in a “strict” 
language feel out of place, and vice versa.

Swift does provide an important concession to Objective-C in its @objc 
attribute, whose interaction with final/sealed classes could perhaps be tweaked 
to achive what you want.

-- 
Karoly
@lorentey
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to