
Apple has published a great free learn to code course for on GitHub - ingve
https://medium.com/ios-os-x-development/apple-has-published-a-great-free-learn-to-code-course-for-swift-on-github-feb5e4d70691
======
Yhippa
I was about to write a rant about how Apple's efforts are just a ploy to get
students locked-in to the Apple ecosystem early on.

I stopped myself when I remembered how Apple is one of the reasons I really
got into development. I started with Logo on the Apple IIe in kindergarten.
Did a lot of programming in BASIC on the Apple platform in middle and high
school. One summer I did a lot of GUI programming in Hypercard controlling
Laserdiscs and playing videos on the Apple Macintoshes the school had.

I'm still torn but I think making polished material like this available is
going to get kids interested in learning more about programming for sure.
Having access to programming technologies in school is what got me started and
if that means that kids these days will have the same chance I'm all for that.

~~~
snowwrestler
I think when it comes to dev tools there are actually two fears: 1) that the
kids will get locked into whatever platform they learn on, and 2) that kids
will never get interested in programming at all.

I think developers tend to get worried about 1) because it is reflective of
their personal concerns--they are constantly immersed in the battle for
language and platform marketshare.

But 2) is probably more important in the long run. If a kid really gets into
development, it's almost a certainty that they will try out other languages
and tools over time. Heck they might have to--think how many kids started out
on Atari or Amiga.

And if all they ever do is mess around with Swift and then move onto some
other hobby, well, at least that is one more person in the world who has a
sense of how programming works.

~~~
song
Yep, I think the first step is really to get them interested in programming,
once they're interested, they'll switch to whatever the platform of the moment
is.

------
oneeyedpigeon
The grammar in the original headline is pretty terrible, but the submission
appears to have cut out quite a significant word: "Swift".

------
jonknee
It would make sense to link to said education on GitHub...

[http://swifteducation.github.io/](http://swifteducation.github.io/)

------
ritonlajoie
Link to actual github docs:
[https://swifteducation.github.io/teaching_app_development_wi...](https://swifteducation.github.io/teaching_app_development_with_swift/)

------
Sephiroth87
Opened a random topic, there's a whole lesson dedicated to using views' tag
property, closed immediately...

~~~
Glide
They mentioned to _not_ use the tag property in a session at WWDC.

~~~
Sephiroth87
That's exactly my point, it's a terrible advice to give people, especially to
beginners that might not know any better, and will keep using it...

------
ConAntonakos
Pretty neat! Thanks for the education. :)

------
spanishcow
I don't think that begin to learn programming on a proprietary language is a
good practice. Not only it will limit your professional career as it is more
difficult to change to other platforms. Also it is more easy to pick bad
habits as you can easily mistake what is platform specific behavior for
standard code practices.

Once you are good at designing and coding standard languages you can easily
move to whatever platform/language you desire.

~~~
jeorgun
My first language was some awful proprietary BASIC dialect. It hasn't harmed
me any, so far as I can tell. Learning one language, proprietary or not, gets
you about 99% of the way to learning a second (potentially more open)
language. And in any case, isn't the language due to be open-sourced pretty
soon?

~~~
akshat_h
Mine was visual basic in school. Though we only had one year of that where we
designed calculator gui before moving to C++. I don't think there are many bad
habits to be learned from Swift though. It seems a decently designed language.

------
1971genocide
Apple is playing a really sneaky game. They want to get students locked onto
their platform. Reminds me of Audodesk and how everyone in the FX community is
bound by their products.

Next thing you know Apple is producing "certificates" to students and
controlling the programmer's market.

It was good while it lasted folk, the computing industry will follow the same
trajectory as every industry that we have ( farming,manufacturing,etc)

~~~
wyager
...he says, after Apple announces they are open-sourcing the language they're
teaching.

~~~
saurik
But no one is goi to realistically be using Swift as the main language for
their platform, any more than anyone else really picked up Objective-C. There
has been a from-Microsoft open source implementation of .NET for Unix since
the beginning, and the standard library was specifically crippled to make the
platform law tied to Windows (I specifically asked one of their engineers
about this in 2001, as the BSD socket abstraction provided in .NET was pretty
lame in comparison to the Win32 socket registry stuff), and I don't see people
really picking up C# as their language of choice. The only cases we see people
adopting someone else's languages have been Microsoft with C++ (although one
could argue that Microsoft really made C++ what it was! given that they were
the only major platform that embraced it for the default developer experience)
and recently Google with Java (though a bastardized version of Java, with
different quirks and different high-level libraries and a lot of lower-level
changes as well). If people actually build a bunch of code in Swift it sort of
is a "lockin". However, people learning to code are learning to code, not
building massive production systems that they need to maintain ten years
later: you can learn to program in a toy language, and it really doesn't
matter. There is no meaningful "lockin".

