[swift-users] "business applications market" flame
jens at mooseyard.com
Wed Jan 6 12:02:38 CST 2016
> On Jan 6, 2016, at 9:34 AM, Don Wills via swift-users <swift-users at swift.org> wrote:
> Coming from the perspective of business applications market (Java and C#), I see major problems in moving to Swift.
Did you intend to hijack an unrelated thread instead of starting your own? If so, that’s bad netiquette. I’ve retitled the reply for you, to hopefully split off this thread.
> The String class is a disaster.
Flaming: Again, bad netiquette. How about offering some concrete examples of what you dislike about strings? (Bonus points for showing that you understand Unicode and aren’t just pining for an outdated array-of-UTF16 model like Java's.)
> Optionals present a giant spider web of interconnectedness and syntax idiosyncrasy that does not provide any real advantage compared with Java/C#.
How about “no more NullPointerExceptions?” And again, “no real advantage” is just opinion with nothing behind it. Optionals have a long history in functional languages and a lot of users of said languages who feel that they’re beneficial.
> The fact that Ints, etc. are not really primitives (unwrapping is required, sometimes explicit, sometimes implicit) is a major dislocation for those coming from all C-syntax-based languages.
Integers are primitives. More so than in Java, C# or other “managed” languages, since Swift compiles directly to machine code.
> The lack of non-checked exceptions (that is exceptions not declared with a throws clause on the func def) is problem.
Swift doesn’t have exceptions at all; its error handling is fundamentally different, despite reusing some common names like “throw”. I suspect you haven’t really understood how error handling in Swift works, since “non-checked” isn’t an attribute that has any meaning in Swift’s model.
> The lack of packages and/or namespaces is another giant gaping hole.
I agree with this, but I think it’s something that’s going to be addressed in the future (see the current work on the package manager.)
More information about the swift-users