Apple Wants To Turn Community College Students Into App Developers (axios.com) 124
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.
Re: (Score:2)
Yup. God knows we need more apps. That's totally the itch I need scratched.
Program "Winky" (Score:1)
You may win commercial programmer scholarships or cash prizes!
Re: (Score:2, Funny)
Oh great, now look at what you've done. You got him all excited, he'll be running around for hours before falling asleep.
The community college scene... (Score:2)
Re: (Score:1)
...and all still garbage...
After all these years, I'm sure that the Java garbage collection works now.
Re: (Score:1)
yes, I have an hourly cron job doing a "jcmd GC.run", works well
Re: (Score:1)
That would be a terrible mistake.
Why change to a language only useful on one platform from one vendor? And don't tell me swift has some other use cases than developing on iOS.
Re: (Score:2)
Exactly. But I would also add, how often do you see GNUStep and NeXT? Sounds pretty much like never to me.
Re: (Score:2)
Which major Linux, Windows, Android or BSD application is written is Swift? I can't think of a single one.
Are you going to rewrite Firefox, KDE or the Linux kernel in Swift? Of course not. It's as simple as that. If you want to develop on Windows, BSD or Linux, you don't choose Swift as a programming language.
Re: (Score:2)
Probably yes. And how many languages were created at the same time as Python? Dozens? Hundreds? How many of them are still relevant today? Not much.
Python is now a major language. Maybe because it has a good design, maybe because of luck, it doesn't matter, it's being used, therefore it's a good language to learn. It's also considered an easy language to first time learners which is a bonus.
Swift isn't being used except on Apple iThings. Just because you are using it on Linux in your mom's basement doesn't
Re: (Score:2)
Why not?
If I was to learn a new language and would need to write for Linxu, I would take Swift (I already can C++ and Java etc.)
On the other hand the first choice for a crossplatform Application is always Java/Scala/Groovy and the second C++/Qt (as my Python knowledge is still mediocre).
Re: (Score:2)
Why not?
Because nobody uses it. Nobody has the runtime/interpreter/libraries/whatever to execute your swift program.
Because it isn't in major distros (just checked and it's not in my Debian stable). On their web sites they only have packages for Ubuntu, I didn't check if they are also part of the Ubuntu repository or not.
Why use Swift with all these shortcomings when you can use something else?
If I was to learn a new language and would need to write for Linxu, I would take Swift (I already can C++ and Java etc.)
But would you learn it as your first and only language? That seems counterproductive.
Re: (Score:2)
Swift is an relatively elegant language and as thus a good candidate as first language.
I was not aware that you focused on 'first language'.
On Linux it should be easy to install Swift with an 'apt get' equivalent.
Re: (Score:2)
Swift is an relatively elegant language and as thus a good candidate as first language.
I was not aware that you focused on 'first language'.
That was the whole point of the discussion. Which language to introduce to community college students, most of which never used another language before.
On Linux it should be easy to install Swift with an 'apt get' equivalent.
Maybe it should. But it isn't. Nobody cared for Swift enough in the Linux community to include it in most repositories. It's a sign that it's not used outside the Apple closed world.
Re: (Score:2)
Then I did not grasp the point of the discussion.
My understanding was that 'random college students', that failed at college should learn Swift and become App developers.
Re: (Score:2)
Because there are much better languages than Swift for non iOS platforms.
Re: (Score:1)
Well the language may be ported over, but what about the frameworks? I haven't checked, but my guess is that is the piece that's missing
Re: (Score:3, Interesting)
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.
Re: (Score:1)
Re: (Score:2)
Re: (Score:2)
You could show recruiters a bunch of code samples written in c, tell them that they were written in java, python, bash, sql, and the framework du jour, and they wouldn't know the difference.
On several occasions I've been approached by recruiters for CLI Linux positions, which I knew in general but not too for specific Linux distro. They always got hung on this "Red Hat GUI thingie" checkbox on their checklist. I told them that the GUI was irrelevant to CLI work. They refused to let me interview. Later on I discovered that the "Red Hat GUI thingie" was a branding package that Red Hat no longer uses.
Re: (Score:2)
there is a huge gloat of people who will never make it.
The good news? There are far fewer people who can't distinguish between 'gloat' and 'glut'.
Re: (Score:1)
I thought "gloat" was the collective word for "people who will never make it". Like a "pod of whales" or a "pride of lions" or a "lounge of lizards".
Re: (Score:1)
I thought "gloat" was the collective word for "people who will never make it". Like a "pod of whales" or a "pride of lions" or a "lounge of lizards".
No. The phrase is "A BasicIncome of people who will never make it.
Re: (Score:2)
In my 30+ years of programming, the worst programmers who caused the most damage were the ones who thought they were hot shit superstar programmers, despite making the same boneheaded errors all the time. Generally they wanted to work solo and never as a team.
If you are going to fail... (Score:2)
If you are going to fail, you might as well do it Swiftly.
Re: (Score:2)
They usually got filtered out as freshmen when I was in college, in the intro to programming class. That class was never going to teach you enough to get a decent job in programming, and was not intended to do so anyways. A few students felt compelled to be in the courses though, because their parents had picked out the career for them.
Re: (Score:1)
Re: (Score:2)
I disagree a bit here. The biggest failing I see in computer science is in trying to teach the popular languages like it was a mere two year trade school. Good programmers can learn any language, they don't need the university to teach it. Of course, the most popular languages may become the ones that are taught in higher level courses, that's just natural. But when a curriculum is derived around teaching what's popular then it loses a lot of academic value. A beginner's language while learning however
Re: (Score:2)
Indeed. My CS degree in 1991 included no programming instruction. They were completely clear that it was your job to teach yourself to program. There was an assumption that most people had grown up programming basic and assembler on home 8 bit machines and had got over the hump of comprehension about what programming is before arriving. What there was plenty of was courses on language theory, formal semantics, CPU architecture, compiler design and the whole gamut of CS things.
To this day, I have no problem
Re: (Score:2)
Yes, but what do you want from a beginner language? You want something that makes life easy by making complex problems simple.
I don't know anything that does better than Python in that regard, because of the way it handles lists. Every other language I've looked at either makes list handling more complicated or makes everything else more complicated. But any task worth automating involves problems best conceptualised as list problems.
There are lots of things I don't like about Python, and I often find mys
Re: (Score:2)
There are a couple things you want in a beginner's language, and simplicity is one, but enforcement of good style is also vital. Consider BASIC, it was very simple but it was a terrible language for beginners as it encouraged really horrible programming practices. When assisting in a beginning programming class one of the hardest things to do (in 1983 era) was to break BASIC programmers out of their bad habits. I work with a lot of self-taught programmers (EE orientation) who like to stick state into glo
Re: (Score:2, Insightful)
A high school degree: You get Work
A 2 year community college degree: You get a Job
A 4 Year college degree: You get a Career
A Masters degree: You get a Profession
A Doctorate degree: You get a Calling
Most Software development jobs, doesn't need or particularly want people who are too skilled in the area, because they are too much trouble, too much back talking, and too expensive.
Re: (Score:2)
At least they, doesn't uses, too many commas.
Re: (Score:2)
...
A Doctorate degree: You get a Calling
Well, if it's a doctor of divinity, that's accurate.
Re: (Score:2)
A doctor of philosophy gets a pondering instead of a calling.
Re: (Score:2)
If ponder isn't the collective noun of philosophers then it should be.
Re: (Score:2)
A high school degree: You get Work
A 2 year community college degree: You get a Job
A 4 Year college degree: You get a Career
A Masters degree: You get a Profession
A Doctorate degree: You get a Calling
Most Software development jobs, doesn't need or particularly want people who are too skilled in the area, because they are too much trouble, too much back talking, and too expensive.
Maybe 30 years ago. The following is much, much more accurate.
Working after highschool: You get apprenticeship / training (paid) for a career in a union-protected trade.
Higher education: You get massive debt and lose 4+ years of your life and are 4+ years behind others in the job market, only to take on unpaid internships for the glimmer of hope that the "experience" you get will make your resume look better.
Re: (Score:2)
Well I was trying not to be cynical about it.
Re: (Score:2)
A Doctorate degree: You become A Douchebag
FTFY - Based on my experience with self-proclaimed PhDs on Slashdot.
Re: (Score:2)
based on my experience, no one here gives a flying fuck what someone who went from special ed to getting kicked out of college thinks does or says.
You're wrong. I had some good discussion with people today on Slashdot. Spiking my comments with your negativity won't change that.
Re: (Score:2)
and let's not forget my favorite. "this site is for nerds - citation please"
We need the demographic data. That's the only way to settle the argument as to whether Slashdot is for EVERY NERD or 1% NERDS. I suspect the 1% nerds are few in number, probably because Slashdot is a relic of the dot com bust and only readers from that era know about it.
Re: (Score:2)
I suspect the 1% nerds are few in number, probably because Slashdot is a relic of the dot com bust and only readers from that era know about it.
I, for one, am glad that most of the script kiddies are gone.
Re: (Score:2)
I consider myslef a geek, ant not a nerd. However there are /. posters that insist both are the same ;)
Re: (Score:2)
But they're going to need the people with a career/profession/calling somewhere in the mix. Sure, the coders on the digital assembly line don't need to be the best, but you do need someone out there who's got more experience and education to design the system. Except with apps of course, apps are generally standalone pieces of fluff for the most part, no one cares about maintainability, performance, or reliability, so you can get an intern for that or else outsource it.
Re: (Score:2)
That is why I stated for a High School Graduate, you would be expected to get Work, but not a Job.
Work: Is doing whatever it takes to make a living. (I will move and plug in these computers for a few hundred bucks)
Job: Is a steady living, however you are not necessary doing what you like. (You tell me what needs to be program and I will do what you say, as long as I can do it)
Career: Is making a living as something you are willing to identify yourself as. (I am a currently Software Developer, If there is s
Re: (Score:3)
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 schoo
Re: (Score:2)
With a background in Pascal you can graduate to Ada and nobody uses Ada.
Many people use ADA. It's the procedural subset of VHDL. Just because it's not seen in the world of webs and apps, it doesn't mean there isn't a vast chip design community for which is it one of the 2 principle languages.
Re: (Score:2)
It's not that Pascal is less complex that makes it good, another important fact is that it enforces good programming. We taught it to freshmen decades ago and those who already knew some BASIC wo proclaimed loudly that they were already good programmers would bitch and whine about how hard all the structured code was and why did they had to declare variables before using them.
Re: (Score:2)
When I speak about complexity, I specifically mean the nets that the language provides. By enforcing 'good practices', the language becomes less suitable for production, and the student learns that discipline is extrinsic, and never learns the discipline of computer programing. This is a moot point for the web developer, who is never going to do anything outside of a
Re: (Score:2)
You forgot to start with Scheme.
FTFY.
Re: (Score:2)
>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.
Out of curiosity, what about modern C++ do you think is too complex for new programmers and can impede their learning of principles?
20 years ago, I'd agree with you - char * strings and [] arrays, sure, were and are terrible - but modern C++ can be written without any of that stuff.
Re: Lots of Money (Score:1)
You're kinda behind the times. Don't need a developer's license to code.
Sturgeon's Revelation (Score:2, Insightful)
Oh boy! So there will be that many more (Cr)apps!
Because we absolutely MUST stay in compliance with Sturgeon!
Re:Sturgeon's Revelation (Score:5, Insightful)
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.
Never rest in search of cheap wages (Score:1)
UGH! Well, it's not surprising some megacorps want to encourage everyone to be a "STEM coder". No worries, you only end up working about 10x as hard in school to make just a bit less than your business weasel classmates!
what a bunch of butt hurt losers (Score:1)
It never surprises me to so all the butt hurt dipshit comments on these boards when a major company like Apple releases a comprehensive guide to learning their relatively new language. Swift is a 4th or 5th gen language designed to allow people to incorporate a vast amount of technology into their applications. Why does it matter if Apple releases their code and a helpful teaching platform for free? If they charges $1000 bucks for it you'd still rant about nothing useful. Half of you idiots don't even progr
Re: (Score:2)
Re: (Score:2)
That would have been true decades ago.
I'm using minimum 3 Java Versions more or less in parallel because my contractors are unwilling to upgrade to the latest (Java 1.8). Obviously I have not all new stuff in Java 1.8 in my fingertips when I'm constantly forced to use Java 1.7 or 1.6.
Also keep in mind the dramatic huge amount of available libraries and tools. It is not a shame to forget e.g. how exactly version resolution in Maven works and look it up, and getting an example on Stackoverflow.
Especially when
Re: (Score:3)
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 u
Re: (Score:2)
I want to write apps in COBOL. Make COBOL Great Again by leveraging synergies and providing premier user experiences based on the latest paradigms. By utilizing COBOL, we ensure that the code monkeys can't jump ship to our competitors and no-one will bother leaking our code because no-one will understand it except for some old farts who won't touch an app in the first place.
Re: (Score:2)
My long-standing comment on the subject is, "The good thing about making it easier to write software is that more people can write software. The bad thing about making it easier to write software is that more people can write software."
The thing is, having 10x as many people who can "code" isn't a virtue. It's a nuisance. It just means that there will be 10x as much bad software, making it even harder to find good software written by people who actually know what they're doing, because it gets lost in t
Re: (Score:1)
The biggest obstacle.... (Score:3, Interesting)
The biggest obstacle isn't learning - tutorials are everywhere.
The real obstacle is that you need an Mac to write/compile the code.
Re: (Score:2)
How can a Mac mini for $500 or a Powerbook for $800 be an obstacle?
They are damatically missing developpers (Score:4, Insightful)
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, ...
Gig economy (Score:1)
This is a requirement of the "gig economy": We need to be more than contractors paying our own health insurance, holiday fund, pension fund, training, uniforms and tools. We also need to be creators/makers selling a product, not just our sweat and experience for the lowest price.
Same crap, different syntax (Score:3)
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.
Re: (Score:2)
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.
There's some genuinely new programming constructs like "async/await" in the 2010s. (well, Scheme and StandardML have long had "callcc" but it was was basically unimplementable in an efficient way, and Scheme got "shift/reset" in the 2000s which is more feasibly than callcc but still a bit hairy).
Re: (Score:2)
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.
There are probably no two popular programming languages that are merely different syntax for the exact same set of base concepts. Each language designer chooses the most important concepts to explicitly encode, and which to force the programmer to deal with.
Neither the similarities or the differences between languages show the whole exercise as pointless.
Re: (Score:2)
APL, for those who don't know, is Apparently Prince's Language. Programs are a string of unpronounceable symbols.
Raise the value of Apps and/or value of profession (Score:2)
Apps are the scourge of software engineering and developers.
There's little or no value in spending significant time working on them, certainly not as an indie.
If you want to teach App dev then focus it on game development with the outcome of a job in an industry that makes about the only money there is in apps.
Otherwise fix the broken attitude of the smart phone endowed public to not expect, or demand, everything for free.
Grudging handing over the small change they'd happily give a busker or beggar on the s