Live data from Hacker News

Swift, and why it hurts you (from an GNUStep developer)

heronsperch.blogspot.com

11–20 of 60 posts

Re: Swift, and why it hurts you (from an GNUStep developer)

#11
The author doesn't demonstrate his case, but he's not wrong about the entire platform. The real lock-ins remain in the form of the iOS/OS X SDKs and services like CloudKit. A more coherent argument might be that the much easier and more modern Swift and latest IDE features like playgrounds will make coding for the Apple platform easier, more fun and generally lead to a continuation of the "iPhone first" approach.

We always had to deal with different languages and different SDKs for each platform. This just makes one of them less of a bear.

Re: Swift, and why it hurts you (from an GNUStep developer)

#13
post #3

"The language is very JavaScript-like in its design..." Disagree. JavaScript isn't even strongly typed. Swift affords many imperative and functional techniques, but that doesn't make it JavaScript-like. "The real purpose behind this language, however, is a little darker. I believe that it's ultimate purpose is lock-in. The more developers start using Swift the less they are going to be able to move to other platforms…

> By this logic we should all be using Java.

Or C. Or C++. Or Haskell. Or Python. Or Fortran. Or any other language with an Open Source compiler.

Re: Swift, and why it hurts you (from an GNUStep developer)

#14
post #6

I'm not sure why Swift is controversial. Objective-C was all but lock in to Apple's ecosystem. If you want cross platform there are other options. Why shouldn't Apple try to optimise development for their ecosystem? Playgrounds are pretty impressive, as is the interoperability with Objective C e.g. dynamic translation between Objective C and Swift. I wish Microsoft had made it easier to mix and match F# with C#. Swif…

I think the problem is that Swift has a proprietary license and Objective C doesn't. I actually think this is likely to be the death of Swift in a completely different way; that of community support and tooling. It's much easier and more fun to write libraries, port to different platforms, and optimise compilers and runtime on open platforms. Flash suffered from this problem, Silverlight suffered from this problem, RealAudio etc. etc.

Apple should just open-source the entire language (runtime, implementation, spec etc.) and let the community make it stronger. Seemed to work with Google and Go!

Re: Swift, and why it hurts you (from an GNUStep developer)

#15
Will Swift be open source? That's the core question.

In the 2000's, Flash was gaining a ton of popularity on the web, and Macromedia was recently bought by Adobe. They had just developed a new programming language, ActionScript, which was dynamic and object-oriented and offered an interactive developer playground. For early web developers like me, it was seductive and simple and more powerful than other state-of-the-art web technologies.

But, developers across the world, myself included, wondered: would ActionScript and Flash become open source? That was the one thing holding it back from broad adoption and improvement by the community. The web wouldn't stand for a closed standard.

I wasn't so sure what Adobe's plans were -- so I abandoned ship. Many others did, too. Of course, the rest is history: HTML5 technologies and JavaScript -- aided by canvas/svg/webgl and other standards -- have won the day.

My view is that openness always wins in the developer community in the long run.

Flash is now relegated to a "second-choice" technology for web applications, mainly used for some specialized rich internet apps, games, and backwards-compatible video players. I personally hope that Apple learns from this lesson and deviates from their history by making Swift free and open source software. It's not only better for the developer community -- it's also better for Apple.

Re: Swift, and why it hurts you (from an GNUStep developer)

#17

How is this getting upvotes? His main argument is that it locks you into a certain platform. So did Objective C. Being that a lot of people who will pick up swift will be Objective C developers who were already locked in, I don't see the issue here.

You can write Objective C on Linux.

Re: Swift, and why it hurts you (from an GNUStep developer)

#18
Swift locks you to Apple systems just as much as Objective C did, but the cage is way more comfortable. Objective C was so ugly that it was a deterrent for iOS/OSX exclusivity, whereas Swift is a plus. Also, Playbooks as a programming teaching system is an excellent trojan horse.

All things considered, I don't think the lock in will have much legs, but

Re: Swift, and why it hurts you (from an GNUStep developer)

#20
post #6

I'm not sure why Swift is controversial. Objective-C was all but lock in to Apple's ecosystem. If you want cross platform there are other options. Why shouldn't Apple try to optimise development for their ecosystem? Playgrounds are pretty impressive, as is the interoperability with Objective C e.g. dynamic translation between Objective C and Swift. I wish Microsoft had made it easier to mix and match F# with C#. Swif…

I think the problem is that Swift has a proprietary license and Objective C doesn't. I actually think this is likely to be the death of Swift in a completely different way; that of community support and tooling. It's much easier and more fun to write libraries, port to different platforms, and optimise compilers and runtime on open platforms. Flash suffered from this problem, Silverlight suffered from this problem, R…

C#'s implementation was closed source and tied to a totally novel (at the time) API suite in .NET. Swift has the advantage that it's tied to already known APIs, and that it can call into C/ObjC code, and they can call into Swift. At this stage it's probably too early to say whether Apple will or will not open source their Swift implementation. Again, pointing to a successful proprietary language, C# didn't have an open implementation until Mono came along in 2004. And that project had to develop a lot more infrastructure. We just (I hate that word, but in this case it's not totally wrong) need a compiler front-end for Swift. Under the hood it's using the same LLVM workflow that clang uses. So keeping the language closed-source won't last for long anyways.

EDIT: C# could call into C++ from the start, and I believe the reverse was also true. So platform-wise, MS matches the SwiftObjC/C bridge as well. I forgot about that detail.

Post reply on HN