Apple Wants To Turn Community College Students Into App Developers (axios.com)
Ina Fried, writing for Axios: Apple already offers a variety of tools to help school kids learn the basics of coding. Now, it aims to give older students what they need to become full-fledged app developers. On Wednesday the company is releasing, for free, the curriculum for a year-long course on how to write apps for the iPhone. The effort, though available to all, is aimed at community college students and Apple is working with six districts around the country, with the first classes to start this summer and fall. The courseware teaches students how to create apps using Apple's Swift programming language.
That would be a terrible mistake
My community college refused to teach C/C++ because the Microsoft site license for Visual Studios expired. The dean offered to teach C/C++ on Linux and the textbook supported CLI compiling. But, no, it wouldn't be. Surveys of Silicon Valley companies indicated that C/C++ programmers required VS experience. When the site license got renewed, the lab computers were too old to run Visual Studios .NET. The dean taught C/C++ on Linux and nobody told the administration.
There has been a tendency to use languages that are not that practical for teaching purposes. The alternative was Fortran, which is what I was taught, or C or C++, which is what I was taught in college. I think most would agree that these often are too complex and can impede the learning of principles.
That said, even though Python is sloppy, I find it to be useful in many ways and it does not lead to too many bad practices like Java.
It troubles me that most high school students still learn in Java. I can't imagine that Swift would be worse, or that they would not have a better experience in Python. To me though, if we want to teach programming without a net, and teach how to really think and debug, we should be teaching C. After all, the textbook is only 200 pages.
"She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
There are millions of apps for iOS. Apple understands that you need large numbers of developers churning out apps until one goes viral and makes them Apple of money. And better that it is on iOS first, of course.
They are basically setting up monkeys with typewriters, hoping one accidentally creates the next Flappy Bird.
const int one = 65536; (Silvermoon, Texture.cs)
SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
The biggest obstacle isn't learning - tutorials are everywhere.
The real obstacle is that you need an Mac to write/compile the code.
I'm not sure why anyone is hating on this. And I say that as someone who loves to hate things.
I hate Apple. I don't particularly care for Swift either way. But it's fucking widespread, industry-relevant (and get-a-damned-job-relevant), and free.
What's not to like? People who will use Swift to make shitty apps (apps! apps!) are the same people who would be using Java to make shitty web applets. People who will use Swift to make good things, or who will reject Swift and stick with C/C++/whatever remain unaffected. (And LUDDITES don't even enter the picture here.)
With the rise of Android, we see iPhone/iPads becoming the minor platform. More and more developpers start to think Android before Apple...
And with the developpers fleeing that highly proprietary platform, the ecosystem is slowly becoming less and less attracting for new developpers... spiralling to iPhone becoming eventually irrelevant
So they are trying to mass recruit developpers by teaching an useless language to as many people as possible...
Time spent on learning Swift is not spent in learning C, C++, Java, Python, PHP, Javascript, ...
While I am sure it's a thrill to someone to come up with their own "computer language" it is pretty much a pointless exercise.
Let's be honest, pretty much all computer languages since the first one, and especially the more recent ones, last 20 years are merely repeats of the same stuff.
Same loops, same if statements, same function calls, same everything.
Yes, we may have new libraries (which are not the language), for say accessing a new gadget, but the basic language constructs are pretty much all the same. Just with different syntax.
Caution: Contents under pressure