Hacker News new | past | comments | ask | show | jobs | submit login

This article is the best example I've ever seen of how smart people can convince themselves of anything, no matter how absurd, if they want to believe it enough.

The author likes Objective C and doesn't like Swift. That's fine. But he's let that emotional state override his rationality to the point that it totally colors and distorts his thinking.

None of his arguments hold together. They're all speculation based on supposition based on guesswork, and all under-laid by an almost desperate desire that this fantasy will come true, and that Apple will drop Swift. It's like listening to a broken-hearted man explain how his ex-lover will soon return to him. How this is a test that only make their love stronger in the end, etc.

Apple aren't going to drop Swift. It is the future of iOS and macOS development, and the sooner the author accepts that and moves on with his life, the better.




I read the entire thing, and didn't get the impression you got. This arricle is pointing out two clear issues for Swift that need to be overcome. 1) that the default language to have the broadest support is obj-c; I see a lot of companies preferring to ship obj-c when they need to support a framework for both obj-c and Swift. 2) Apple needs to more fully commit to replacing code internally with Swift, by say making the decision to stop building new feature support into obj-c and only target Swift.

This is more of a project management issue. It will be interesting to see what Apple ends up doing, but I agree with the article that long term support of both is not in Apple's best interests. Though my money is on Swift...


Why are either of those problems?

1) If some developers still prefer to develop in Obj-C, good for them. Of course Obj-C still has the broadest support, Swift is still in the process of taking it's training wheels off.

2) Why should Apple want to replace any of their Obj-C code? If it's good code and works well and a lot of other code depends on it, replacing it just for the sake of it would be pointless.

Partly all this depends on what you consider to be long term. Swift is coming to 3 years old. To my mind 5 years hence is the immediate future. Long term is like 20 years plus.


1) it is my understanding that libraries still need to be in obj-c for maximal compatibility. That is, there are some limitations to Swift code usage from obj-c. If I'm wrong about this, this would be excellent news!

2) code rot. As new feature development is started, if all the Devs are more comfortable with Swift, it is practical that it should be done in Swift. The obj-c libraries will languish. This is just a statement that if Swift becomes the default language, then Apple should only build new features in Swift. You're correct that code doesn't need to be replaced... if it ain't broke don't fix it, though in my experience eventually someone will find a way to break it, and it's at that point that someone ideally replaces it.


Apple has totally rewrote the dock , in macOS Sierra in Swift.


And presumably they had a reason for wanting to do so other than Swift Rulz.

What I'm arguing against is not the idea that new code or new versions of things shouldn't be in Swift. Maybe they should, maybe they would be better in Obj-C on a case by case basis. I'm arguing against the idea that all the existing Obj-C code is an embarrassing legacy that must be purged as a matter of urgency or else we should all start panicking about it.

Heck, large scads of the OS and the application services frameworks are written in plain old C - HealthKit is plain C. Long may that continue. Same for Obj-C.


There is a thread on the old Apple Swift forum that addresses why they like Swift. Its an old post from 2014 called : Why Swift? And why now?. You will need at least a free developer account to be able to log in and see it.

https://devforums.apple.com/message/986257#986257

"13 of the security issues fixed in 10.9.4 could have been prevented or mitigated by Swift (9 buffer overruns, 2 int under/overflows, 2 null derefs). That alone makes it worth it from my point of view.

As for performance, that's a work in progress but is improving rapidly; Swift is already faster than ObjC in some cases."


Totally agree with you. Further to that he is assuming that picking up Swift or Objective-C is the hard part of developing in the Apple ecosystem, when in my view it's picking up the Cocoa and Cocoa Touch APIs which are shared by either language.


I did receive the same impression as you when I read the article. I am not sure where the idea of pulling the plug on either language came from (that was a huge leap based on zero evidence) but given the investment by Apple themselves and their entire ecosystem for almost 20 years, objective-c is here to stay. If you're looking for where innovation is coming from - thats Swift.

We've got the same strategy on the Jenkins project. Blue Ocean is where the user experience innovation is going to be coming from now on and there will be incremental improvements in Classic. However, there is no way we could ever pull the plug on the classic UI.


Or you know, maybe a massive company somehow pushed through a project that was incredibly expensive and time consuming but had no justifications or plan.


Can't refute any of the article's arguments? Go ad hominem instead!

This is a reddit-style comment, not HN.


The author says, " Many developers have bet their livelihood on Swift."

sounds like you took offense to that and wrote..

"It's like listening to a broken-hearted man explain how his ex-lover will soon return to him."




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: