Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Crap.

Bought an introduction to Objective-C a couple of weeks ago (aimed at peoples with no programming experience at all...like me :p)

Can I get a refund ?

Learn Objective-C anyway. It's a good language and it'll teach you all sorts of things about computer logic and so on. Great books on Swift won't come out for months, anyway, and the more languages you know the easier it is to pick up new ones.
 
.....but the visual part of me wishes that the white bird in the icon were flying upwards towards the top right corner instead downwards towards the bottom right corner. I guess I just have to deal with it!

It wouldn't be very "swift" then, would it?
 
I'd say that's a bit of a stretch, it's hardly a beginners guide to programming, but I doubt that was the intention.

I guess the books fine, but there's a lot of the syntax which appears to be largely undocumented. The books a start but the fact there isn't much more right now is a little disappointing.
 
Wait a minute now, smalltalk has something very similar to playground way back in the 80's.

As for swift, interesting, but I do not see it replacing objective-c anytime soon.
just another scripting like language. eg. rubymotiion
 
I'm going to go against the flow, I think Swift seems utterly pointless.

Another new language only used on Apple is another barrier for people getting involved with Mac development. Apple also has a history of offering bridges and then giving up, remember Python?

The playgrounds/interactive programming is all well and good when you have an extremely simple example like they had in the keynote. I'd be interested in seeing how it works with a larger, complex project.

Even then, their example was a game. Anyone with half a brain will be using an engine to create their games. Frankly, Apple's efforts with SpriteKit and SceneKit (or whatever it was called) is far too little far too late. There's engines using a variety of languages that not only use more commonly used languages but are also easily portable to other architectures. You'd be an absolute fool to use the basic tools that Apple are offering.

If you don't want to use it, you can still use Objective-C. It doesn't cost you anything (though, I'm sure, Swift will get most of the attention going forward). Objective-C was already pretty much an Apple-exclusive language anyway, nobody really uses it except them, and from what I hear a lot of people who never wanted to learn Objective-C are expressing interest in learning Swift so I think it will attract people to the platform, not scare them off.

There are some fine game engines, sure. But not everyone needs those engines or wants to pay the licensing fees. SpriteKit and SceneKit are not intended to replace the big game engines. They are intended to lower the barrier of entry for developers. More APIs being available is never a bad thing. It just gives developers more choices.

----------

I would be curious to see if there will be support in open source compilers for this language. I don't want to be a party pooper, but I prefer programming languages that are open and have support in more than one platform/compiler (let's say C, C++, Java, Basic, etc.). I think to really make it into university classes they would have to have a compiler that works in Linux or any other UNIX like OS.

Perhaps eventually, but it sounds like they're still actually developing Swift. They are asking for developer feedback and can't yet promise source code compatibility, only binary compatibility. Down the line, once they've finished tweaking things, they could very well open up the language, but I imagine Apple created this because they wanted to maintain close control over it.
 
Today's programmers have it easy.

We programmers from the 80s used to have to build linked lists from dirt and bits of string we found on the ground.

The programmers from the 70s had to punch their code out on cards and feed the cards into the machine.

Inferred variable types...pshaw.

"I had to get up in the morning at ten o'clock at night half an hour before I went to bed, drink a cup of sulphuric acid, work twenty-nine hours a day down mill, and pay mill owner for permission to come to work, and when we got home, our Dad and our mother would kill us and dance about on our graves singing Hallelujah."

Monty Python - Four Yorkshiremen sketch
 
So what are the chances/possibilities this language makes it beyond apple products? It would be great if it could be cross platform.
 
Wait a minute now, smalltalk has something very similar to playground way back in the 80's.

As for swift, interesting, but I do not see it replacing objective-c anytime soon.
just another scripting like language. eg. rubymotiion

I don't think anybody's claiming Apple is introducing anything truly new with Swift, it's just a new combination of things. They readily admit they borrowed ideas from a whole host of languages.

And Swift is obviously intended to replace Objective-C. It won't be a quick transition for developers with huge legacy codebases, but this is why Apple is making it play nice with Objective-C. A lot of new programs will be written entirely in Swift, because it can do everything Objective-C can, and pieces of older programs will be rewritten in Swift over time when developers see advantage in it.
 
The iBook is okay.. but certainly not complete, Here's to hoping that the folks at "Big Nerd Ranch" and Stephen Kochan can get some helpful books out soon.

Also, I wish Apple's documentation (iBook) was printable, it is often easier for me to read and markup/make notes on a physical copy.

Yep. Bnr is hopefully on the case.

I find it odd they retained enums and structs with such class-like features. Seems so c++
 
Wait a minute now, smalltalk has something very similar to playground way back in the 80's.

As for swift, interesting, but I do not see it replacing objective-c anytime soon.
just another scripting like language. eg. rubymotiion

Then you missed the point they were trying to make. Swift is a fast compiled language that feels like a scripting language.

Btw they never said they invented playgrounds but this thing is playground on steroids. It's very well done. As a smalltalk and objective c fan I plan on sampling swifts offerings.
 
For people that think in learn swift as your *first* ever language:

Bad idea.

Is still beta. And lack a lot on documentation, libraries, resources and other stuff. Plus, still have issues that, frankly, I don't expect as a product that Apple launch this big and with the idea of submit apps in september.

If have acces, you can read the issues at https://devforums.apple.com/community/tools/languages/swift

Seriously, if you are not experience, you will hit roadblocks hard, fast and with not clue about what to do.

If you are a total noob on programing (or just starting), the MOST MOST important thing is: Learn from a good teacher*! Teacher > the rest.

* Or book, or resources.

About languages: python, ruby, c, pascal, haskell are very good introductory possibilities -each one for different reason, mind you-. C++, PHP, JavaScript are very bad as first languages (but with proper teaching? Solvable).

The thing is, at the VERY FIRST LEVEL OF LEARNING each language in their own group/family will look similar, so for TOTAL NEW DEVELOPERS don't matter much what learn first, instead will matter to learn things well (good practiques, good habits, how reason about programing, how write clear code).

Languages are grouped in families (functional, procedural, concatenative, object oriented, parallel, evented, threaded, etc). For example, python & ruby are more similar than python & lisp: You will find that crossing to other programming family is HARD.

Is only when you move to the next(s) level that each language/platform WILL have significant differences -and some of them, will not be obvious for a lot of people, that get confused with the fallacy that "programing in all the same, not matter the language"-, because, you can stay for a while in the firsts leves and still ship code.

P.D:

I love python, so, I recommend it not only for serious work but as first language.

I recommend:

http://learnpythonthehardway.org/book/

Is also enjoyable, but this is another family, to at least read

http://learnyouahaskell.com/

Just to make you aware of the other family of languages, and some neat ideas that are very usefull not matter what you use.
 
So what are the chances/possibilities this language makes it beyond apple products? It would be great if it could be cross platform.

That's a piece of my question too. This looks interesting but businesses pretty much need to see beyond only iOS (I know, I know… sacrilege. Nevertheless) for those who would need to create an app to run in both iOS and Android, what's the ideal language that will allow as much code as possible to be used for both?

Again, I know here there's great hate for Android. But I don't need 50 posts of "what's the point?" Any business wanting to deliver something via apps needs to address both iOS and Android users. So if someone was polishing off some old C, C++ foundational skills and wanting to get back into coding so they could develop a same/very similar app experience for both platforms, what language is best for that?
 
How can I learn the language without having any other programming experience? Is there a class I can take in university?

Swift is strongly based on Python it seems.. many of the command's, concepts, etc are Python based.. I would start there as a first language... plenty of material on it.. even Linda.com has courses for Python...
 
I've always felt that Ruby was a programmer's programming language, that is to say, it's really only fully appreciated by people who are already experienced coders. It's a fantastic language, but if I was going to suggest a very first language, I'd start with something like Java or C++. Both were languages taught in AP Computer Science classes, to give you an idea of how easy they are to learn and use as a medium for learning computer science. You can learn the basics on languages like those and start to understand the logic of computing before you worry about more "advanced" features like generics, closures, and so on. Go and learn object-oriented programming, get a feel for loops, switches, inheritance, data structures, and I/O. After that, go learn Ruby if you want, or dive right into Swift.

One of the reasons why Swift has gotten so many developers excited, while a lot of the tech media is a bit confused by it, is because it's really the sort of thing you need to understand the background of, and have experience in other languages first, before you can fully appreciate what Apple is trying to do.

Bottom line, I think Swift would be overwhelming to you right now. I think Ruby would leave you ill-prepared for other languages. At the very least, wait for Swift to get some good books out first. Apple's eBook is really not intended for beginners. Give it six months and you'll have a wide selection of "Swift for Beginners" books from great computer language educators.
I disagree. I think people learn by doing. There are far to many terrible computer scientists who have all the theory and no practical knowledge.
 
How can I learn the language without having any other programming experience? Is there a class I can take in university?

Just join up as an Apple developer, there are Beginning, Intermediate, and Advance session videos and classes online and much much more online!

Also, here is an upcoming class, don't know much about it?

https://www.thinkful.com/a/dlp/learn-blue/base/IOS-002

----------

There's a big book about it on iBooks. Plowing through it, and it seems straightforward enough. It's amusing to see how language design decisions map down to what/how clang/llvm does for optimization.

For those who care, it's worth watching the previous clang/llvm WWDC sessions (they're on iTunes U/dev.apple.com).

llvm and its ilk has come a long way from being a generally retargatable VM.

----------



Swift would be fine, especially if playgrounds actually work.

There's a lot more to programming than the language, though. There's how you hook everything together, which is totally different than actual programming.

What needs to happen, really, is someone needs to come out with a Hypercard/VB like structure/framework so you can just type swift code into stuff and it'll just work.

Xcode 6 does that! There is a lot more about Playgrounds with immediate real time feedback without any compiling needed! I am using it right now!

Check out how here! http://nondot.org/sabre/
 
Crap.

Bought an introduction to Objective-C a couple of weeks ago (aimed at peoples with no programming experience at all...like me :p)

Can I get a refund ?

Let me look into that for you. Send me your invoice, receipt, credit card statement, and identification info.



Somehow "don't be lazy and google it" doesn't do a question like this justice.
 
I've read quite a bit of it. There's a lot lacking. Since when was a languages sum total documentation a single static PDF?

Yeah so true. Might as well fail early and often. Failure to me is a learning experience. You grow from it.
 
I guess the books fine, but there's a lot of the syntax which appears to be largely undocumented. The books a start but the fact there isn't much more right now is a little disappointing.

There's a reference section in the end with a formal grammar. But I haven't read it through completely, and skimmed large parts so perhaps I have missed something you have picked up on.
 
I'm going to go against the flow, I think Swift seems utterly pointless.

Another new language only used on Apple is another barrier for people getting involved with Mac development. Apple also has a history of offering bridges and then giving up, remember Python?

The playgrounds/interactive programming is all well and good when you have an extremely simple example like they had in the keynote. I'd be interested in seeing how it works with a larger, complex project.

Even then, their example was a game. Anyone with half a brain will be using an engine to create their games. Frankly, Apple's efforts with SpriteKit and SceneKit (or whatever it was called) is far too little far too late. There's engines using a variety of languages that not only use more commonly used languages but are also easily portable to other architectures. You'd be an absolute fool to use the basic tools that Apple are offering.

I think you are underestimating Swift! The Playgrounds are not just limited to simple programming. Also, Swift can integrate with other frameworks and engines and also Native C, Objective-C, and C++ through Xcode 6. There is a lot more to it than meets the eye if you are a registered Developer.

----------

It was announced, and it was ready. Doesn't sound like Forstall to me.

Not Scott Forstall at all!

Chris Lattner

http://nondot.org/sabre/
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.