Re:Bringing Objective-C to the Amiga
by saagarjha on Monday April 23, 2018 @05:21AM
(#16901828)
> Objective-C is a wonderful language
I agree with you there
> In my opinion, Swift is not a great language. I would even say that it's not good. It's OK.
That's where I'll have to disagree. I really think Swift is a great language, though it's great in a different way than Objective-C is (though, who knows? Maybe one day it will gain enough reflection facilities to match Objective-C).
> The vast majority of people that used Objective-C were drawn to the success of iOS. They were developers, used to languages like Javascript, Java or C++. Coming to Objective-C, their immediate reaction was "WUTT??? Brackets!" Instead of properly learning the idioms, they fought the language on a daily basis and cursed Apple for forcing them to use a language unlike the one they were used to, in order to jump on the iOS bandwagon. These people, once Swift was released, jumped boat immediately because they never really understood Objective-C and Swift is familiar.
I used to be a Java programmer, and I started iOS development when Swift came out because it looked familiar. Sure, at first I really thought Objective-C was ugly and outdated, but once I really got its design I really came to enjoy it. I'm not saying that it's perfect, or that it does everything right, but there is a certain charm in its model.
> Another group of people actively dislike Swift, and really enjoy Objective-C. These are considered dinosaurs and have to either hide their opinion or face hiring difficulties, or even dismissal from companies where they are currently employed.
Sure, to each their own, but I really think that a lot of these developers just haven't spent enough time with Swift to really get its benefits. It's the same issue that you've mentioned with Swift developers, but in reverse.
> messaging to nil is a FEATURE
The Swift language designers hear you; that's why there's the optional chaining operator.
> In Objective-C you can drop to C at any given time and have access to all the insanely fast libs. You can also write such insanely fast code yourself.
You can do both in Swift.
> Complex as in C++ complex, but without the speed.
Swift is complex, and it's still a bit slower than C++ for certain things, but this doesn't mean this won't always be the case.
> Have something you wrote 2 years ago? Good luck with that.
Swift is still a new language, and it's in active development. However, you do have the guarantee that your code from today will continue to compile in the future.
> Swift is safe and everything. Right. Except developers with deadlines will just ! all the optionals when they get in the way.
I don't think you quite understand the safety that Swift offers. In Swift, an optional unwrap is designed to deterministically fail. The same is not true in the C family of languages, where it would be undefined behavior.
> Now, Swift does have some cool things, but so could a new version of Objective-C
There are some things that would be rather difficult to shoehorn into Objective-C at this point, even assuming that Apple is interested in adding these in. For example, Swift's generic functionality is far ahead of what Objective-C offers.
I agree with you there
> In my opinion, Swift is not a great language. I would even say that it's not good. It's OK.
That's where I'll have to disagree. I really think Swift is a great language, though it's great in a different way than Objective-C is (though, who knows? Maybe one day it will gain enough reflection facilities to match Objective-C).
> The vast majority of people that used Objective-C were drawn to the success of iOS. They were developers, used to languages like Javascript, Java or C++. Coming to Objective-C, their immediate reaction was "WUTT??? Brackets!" Instead of properly learning the idioms, they fought the language on a daily basis and cursed Apple for forcing them to use a language unlike the one they were used to, in order to jump on the iOS bandwagon. These people, once Swift was released, jumped boat immediately because they never really understood Objective-C and Swift is familiar.
I used to be a Java programmer, and I started iOS development when Swift came out because it looked familiar. Sure, at first I really thought Objective-C was ugly and outdated, but once I really got its design I really came to enjoy it. I'm not saying that it's perfect, or that it does everything right, but there is a certain charm in its model.
> Another group of people actively dislike Swift, and really enjoy Objective-C. These are considered dinosaurs and have to either hide their opinion or face hiring difficulties, or even dismissal from companies where they are currently employed.
Sure, to each their own, but I really think that a lot of these developers just haven't spent enough time with Swift to really get its benefits. It's the same issue that you've mentioned with Swift developers, but in reverse.
> messaging to nil is a FEATURE
The Swift language designers hear you; that's why there's the optional chaining operator.
> In Objective-C you can drop to C at any given time and have access to all the insanely fast libs. You can also write such insanely fast code yourself.
You can do both in Swift.
> Complex as in C++ complex, but without the speed.
Swift is complex, and it's still a bit slower than C++ for certain things, but this doesn't mean this won't always be the case.
> Have something you wrote 2 years ago? Good luck with that.
Swift is still a new language, and it's in active development. However, you do have the guarantee that your code from today will continue to compile in the future.
> Swift is safe and everything. Right. Except developers with deadlines will just ! all the optionals when they get in the way.
I don't think you quite understand the safety that Swift offers. In Swift, an optional unwrap is designed to deterministically fail. The same is not true in the C family of languages, where it would be undefined behavior.
> Now, Swift does have some cool things, but so could a new version of Objective-C
There are some things that would be rather difficult to shoehorn into Objective-C at this point, even assuming that Apple is interested in adding these in. For example, Swift's generic functionality is far ahead of what Objective-C offers.