To be blunt, few people are capable of programming effectively. Even seasoned programmers are far and few between. It takes a very particular mind. I don't have what it takes and I recognize that fact. Coding gives me a massive headache and I prefer to avoid it at all costs. ????
I think this goes back to what Jony Ive was saying about people thinking they're doing it wrong when the fault is in the way it's done. The way some people code is using a command-line interface and they create build files in text, not even using an IDE. For data-based coding, this can work ok but as soon as you try to link it with a UI, it's completely the wrong way to do it.
The results of this you can see in products like OpenOffice where they try to maintain UI consistency across different platforms by using really shoddy UI development so there's very poor adherence to interface guidelines.
Apple made a huge improvement to coding with their Interface Builder. That's how it should have always been done but the reason it wasn't was down to cross-platform issues. Unfortunately, Apple saddled it with Objective-C, which is really not a nice language to deal with because it doesn't abstract things enough. A programmer shouldn't have to deal with memory management at all unless they choose to, same with casting/converting restrictive data types, initializing variables.
The game SDKs like Unity and Unreal show how easy development can be and Swift plus the real-time feedback brings this to standard apps. That's not to say it'll make concepts around data structures easy but it's a huge step forward.
If this hour of code is done with Swift, they'll get more done in 1 hour than 10 hours with Objective-C. This doesn't have to be some basic 'hello world'. Look what Federighi and Lattner showed off at the keynote in under 10 minutes (it used a premade game but that's mostly just a static backdrop):
[VIDEO]
1:55 Guy going wild for multiple return types and namespaces.
2:20 Objective-C vs Swift. Eliminated common errors.
They can use example scenes so that users don't have to code everything but they can make customizations to an existing game, make sprites and author to iOS devices so they can see their own changes in an actual game. Once they can go that far, that's all they need to publish on the App Store. Games are all just about moving sprites/3D graphics and some associated code. Swift and Playgrounds is going to make it fun in a way Objective-C never could.
The comment about lighting a fire is right, they're not going to teach people how to do everything in an hour. They just need to get people interested in it to take it further on their own. That's what Apple has always been about. They don't sell bicycles for the mind with the expectation that they'll teach people how to ride it. That's a message they put out with their 'you're more powerful than you think' campaign ( https://www.apple.com/iphone-5s/powerful/ ).
Comments
I think most people can do it. Some are better equipped than others, but I believe most of it chalks up to experience.
Regardless, say you are one of those with a mind and you aren't ever exposed to it, how will you know if you excel at it?
I was exposed to many classes in high school that I wasn't good at, but glad I did it for experiences.
I think this goes back to what Jony Ive was saying about people thinking they're doing it wrong when the fault is in the way it's done. The way some people code is using a command-line interface and they create build files in text, not even using an IDE. For data-based coding, this can work ok but as soon as you try to link it with a UI, it's completely the wrong way to do it.
The results of this you can see in products like OpenOffice where they try to maintain UI consistency across different platforms by using really shoddy UI development so there's very poor adherence to interface guidelines.
Apple made a huge improvement to coding with their Interface Builder. That's how it should have always been done but the reason it wasn't was down to cross-platform issues. Unfortunately, Apple saddled it with Objective-C, which is really not a nice language to deal with because it doesn't abstract things enough. A programmer shouldn't have to deal with memory management at all unless they choose to, same with casting/converting restrictive data types, initializing variables.
The game SDKs like Unity and Unreal show how easy development can be and Swift plus the real-time feedback brings this to standard apps. That's not to say it'll make concepts around data structures easy but it's a huge step forward.
If this hour of code is done with Swift, they'll get more done in 1 hour than 10 hours with Objective-C. This doesn't have to be some basic 'hello world'. Look what Federighi and Lattner showed off at the keynote in under 10 minutes (it used a premade game but that's mostly just a static backdrop):
[VIDEO]
1:55 Guy going wild for multiple return types and namespaces.
2:20 Objective-C vs Swift. Eliminated common errors.
They can use example scenes so that users don't have to code everything but they can make customizations to an existing game, make sprites and author to iOS devices so they can see their own changes in an actual game. Once they can go that far, that's all they need to publish on the App Store. Games are all just about moving sprites/3D graphics and some associated code. Swift and Playgrounds is going to make it fun in a way Objective-C never could.
The comment about lighting a fire is right, they're not going to teach people how to do everything in an hour. They just need to get people interested in it to take it further on their own. That's what Apple has always been about. They don't sell bicycles for the mind with the expectation that they'll teach people how to ride it. That's a message they put out with their 'you're more powerful than you think' campaign ( https://www.apple.com/iphone-5s/powerful/ ).