Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
A proprietary single-platform language, no matter how nice, has a limited return on the investment needed to learn and become well-practice.

Swift should be a standard, should be used for other purposes too and for heaven's sake, how hard would it be to repackage the iPhone4S internals as an OEM embedded module that runs a stripped down version of iOS?
4s is supported, the 4 isn't
 
Ever since Objective C 2.0, I've been muttering that it's time for Apple to junk it and start again. It had gotten too crufty, and it was starting to get unclear what was in the language and what was in NSObject, and what was in the standard library. Fast enumeration, for example, struck me as a rather messed up implementation.

I had been in favor of C++ as the core language for cross platform compatibility, but it's gotten rather bloated as well.

Glad to see Swift. I'm a little nervous that it's been so quiet, and hope they've taken the time to think it through, but Apple is loaded with both skilled computer scientists and master programmers so there's a good chance they found a balance between the two.

Swift should be a standard, should be used for other purposes too and for heaven's sake, how hard would it be to repackage the iPhone4S internals as an OEM embedded module that runs a stripped down version of iOS?

I agree that Swift should be opened up into a standard, and am jumping up and down at the idea of the iPhone guts being OEM'd. It'll never happen, but oh would it be fun...
 
Can anyone comment on the potential difficulty of learning Objective-C and Swift at the same time? I was planning to learn Objective-C this summer...

There is little point in learning Objective-C now. Apple is about the only place Objective-C was used and Apple just dumped it, well at least just gave you a good reason not to use it. Apple will likely support Objective-C for a while.

But really it's never been the languages themselves that are hard to learn. It's the API's they are always huge. On any platform the APIs are far larger than the language.

My question is "will Swift run on any non-Apple platform?" How long until someone writes an Open Source swift interpreter?
 
This was one of the few things I wasn't expecting.

Same, though I was really hoping. Don't get me wrong, I like Objective-C a lot, but Swift shows developers and the world that they are thinking about the future.

This is probably the first major clue we have that significant changes are coming for Mac development. First Swift, next may be a replacement to Cocoa. I'm not saying it's imminent, but it's been 15 years.
 
A proprietary single-platform language, no matter how nice, has a limited return on the investment needed to learn and become well-practice.

Swift should be a standard, should be used for other purposes too

I've gotten the impression that Swift is still being developed. Apple is going to listen to feedback and keep working on it for a while. Standardizing it today would eliminate that possibility, but Apple is not saying they won't standardize it and release it open in the future. That option is still available.

Also, please, this is hardly the first time a company has made a proprietary single-platform language. It hasn't ended the world in the past and it won't with Apple.
 
I've gotten the impression that Swift is still being developed.
I'd hate to think that Swift was already set in stone, since developers have yet to give it a real-word test.

Some of the documentary has incomplete sections, so it's definitely hot off the presses.
 
Reading through the iBook, and it's an interesting take. There's parts of the syntax that I find inconsistent, but maybe I just don't fully understand it yet.

Does Swift's use of enums remind anyone else of Haskell type system?
 
Metal blew me away. I thought it would be the IOS announcement of the decade. Then they hit us with Swift. (One more thing!)

I only wish Swift was available for server side development.

I'm pretty sure CloudKIT will be based on SWIFT as well, so your wish has come true.
 
This announcement didnt make front page because Swift is not important or revolutionary technology. Beats reducing bass on their headphones... now that is front page news!

I know :(

Swift was "THE" wow moment of the keynote. Even I as a non-programmer understood it's importance. My jaw was on the flaw when they announced it.

If anyone is looking for proof Apple is working on the OS X successor, here is it with swift.
 
Excuse my ignorance but can programmers use Swift to make Mac apps as well as iOS? If so, would using Swift make games theoretically faster on OS X than the same games on Windows?
 
If anyone is looking for proof Apple is working on the OS X successor, here is it with swift.

I'm not sure that a new language using the same compiler as Objective-C and running in the same runtime environment as it's 'predecessor' (inverted commas used because it co-exists with Objective-C) counts as proof that Apple is working on a successor to OS X.

As an aside, I'm also not sure that a successor to OS X is necessary at this point - it only runs on 64 bit machines, it's UNIX compliant so it's based on recognized standards and is effectively cross platform given that its core (Darwin) runs on ARM devices and Intel chips. Even if Apple switched desktop processors to be ARM based (as rumoured last week), they could do it using OS X. Until hardware architectures radically change, any "successor" would be nothing but a rebranding exercise, outside that is of regular iteration on the interface - which is what what happens on an annual basis at the moment. OS X is here to stay. In my opinion, of course!
 
Swift should be a standard, should be used for other purposes too

Making the language an open standard sounds like a good idea, but I would expect a lot of resistance to adopting a language that was owned lock stock and barrel by Apple. They'd have to release it under a permissive license, and probably hand the standard over to some sort of independent body in order to get credibility. So they'd risk losing control, or ending up with two incompatible dialects (see: Python).

Also bear in mind that for GUI-heavy programming, getting to know the API is usually a far bigger chore than learning a new programming language. An "open" version of Swift probably wouldn't get much uptake unless it came with some sort of platform-indepenent GUI, like Java. I really don't see why Apple would want to develop that.

I think you have to look at this as a replacement for Objective C - which had so little uptake outside Apple developers that it might as well have been proprietary. Swift looks as if it will be much easier for programmers used to Javascript, Java, C#, C++ etc. to pick up than Objective C's bizarre-looking mix of old-school C and Smalltalk.

They're pushing this as much for iOS as for OS X. We're already in the sad position that the 3 major mobile platforms each have a different 'native' language. If you want cross-platform, the answer seems to be Javascript (or something that 'compiles' to Javascript). Swift-to-Javascript cross-compiler anybody?
 
They're pushing this as much for iOS as for OS X. We're already in the sad position that the 3 major mobile platforms each have a different 'native' language. If you want cross-platform, the answer seems to be Javascript (or something that 'compiles' to Javascript). Swift-to-Javascript cross-compiler anybody?

Sad for the developers, great for Apple, google etc. They know you have to spend time to learn the competitor's native language. And some people do not have the time or will or skill to do so, so they stay put in the ecosystem they are currently programming in.
 
Last edited:
Sad for the developers, great for Apple, google etc.

Only up to a point - it cuts both ways.

If Flappy Bird 2 was Android-only, or if a major software house like Adobe stopped supporting Macs, it would hurt Apple.

Meanwhile Google and others have hedged their bets: a lot of what they do is inherently cross-platform. Apple is betting the farm on persuading people to move to an Apple-only ecosystem, great if it works - bad news otherwise.

However, as I said, for true cross-platform you need a cross-platform API, learning a new programming language is only a minor annoyance in comparison to learning an API , and Swift looks to be a much easier sell than the somewhat left field Objective C.
 
They have a Objective C to Swift Migration Guide which should help.

I wouldn't waste my time learning Objective C though... unless you want to do it for your own edification!

Would you rather have a 2014 Corvette or a 1983 Corvette? Objective C debuted way back in 1983 and it has a lot of legacy baggage.

Apple realized that to move forward agressively they needed a 21st Century programming language!

Learning ObjectiveC may still be advisable. I downloaded Xcode - when you create a project, the stub code is still ObjectiveC.

Looking quickly through the Swift iBook, looks pretty nice. And, far less verbose than ObjectiveC. Its an inspiration from many languages.

I'd like to see Swift as an Open Standard, which will help drive further adoption.
 
Modern languages require great IDE's

It's only because of the vendor lock-in that Apple can get away with the XCode / Objective-c combo.

In the Eclipse / Intellij space they would get slaughtered and would stand no chance whatsoever. Heck even Visual Studio does a better refactoring job.

This doesn't mean that they should not get there IDE act together and pair Swift with some great refactoring support on par with modern IDE's.
 
Excuse my ignorance but can programmers use Swift to make Mac apps as well as iOS? If so, would using Swift make games theoretically faster on OS X than the same games on Windows?
Yes to Mac apps.

As far as performance goes, Apple claims that Swift apps will run 3.9 times faster (hence the name "Swift"?), but I haven't read a detailed explanation of that claim. Perhaps they've engineering the language to reduce some run-time overhead, but because Swift and Objective-C are so interoperable, it would seem that the basic structure of an app and the objects it manipulates haven't changed. I'm not sure how they could get such a big speedup except in specific cases.
 
Last edited:
A proprietary single-platform language, no matter how nice, has a limited return on the investment needed to learn and become well-practiced.

If you call being able to develop for a platform of 800 million devices, all with credit cards on file "limited", then you and I have very different understandings of that word.
 
If you call being able to develop for a platform of 800 million devices, all with credit cards on file "limited", then you and I have very different understandings of that word.

Try getting out of your consumer mindset. Some of us work in other industries - finance, biomedical...
 
Making the language an open standard sounds like a good idea, but I would expect a lot of resistance to adopting a language that was owned lock stock and barrel by Apple. They'd have to release it under a permissive license, and probably hand the standard over to some sort of independent body in order to get credibility. So they'd risk losing control, or ending up with two incompatible dialects (see: Python).

Easy: get the language ECMA and ISO certified (I'd be surprised if they don't do this). If they want an open standard, all they have to do is make the compiler open source - which, given that Clang source is available through the LLVM website, is likely to happen (Swift probably is compiled through Clang anyway). What won't happen is open standards Cocoa APIs - they're what makes the hardware do what it does and therefore will be inherently different to what works for non Apple hardware. Open standards as described here would require a common hardware platform between manufacturers - which I'd say is unlikely!

If you want cross-platform, the answer seems to be Javascript (or something that 'compiles' to Javascript). Swift-to-Javascript cross-compiler anybody?

JavaScript in app development isn't really anything other than running a browser window that interprets JS. Even in Windows 8 Modern apps, the JS hooks into OS level APIs to do anything interesting. As for there ever being a Swift to JS cross compiler - that's counter intuitive to the level of being incomprehensible, like comparing apples to oranges. Whilst Swift is like a scripting language in terms of its constructs and the Xcode playgrounds, that's about where the similarities between Swift and JS end.

Sorry if I sound like I'm tearing your post apart, I don't mean to sound so negative!
 
Last edited:
and I've (recently) been trying to learn Obj-C...well on to the new latest and greatest :)
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.