Tim Cook: Coding Languages Were 'Too Geeky' For Students Until We Invented Swift (thestar.com)
theodp writes: Speaking to a class of Grade 7 students taking coding lessons at the Apple Store in Eaton Centre, the Toronto Star reports that Apple CEO Tim Cook told the kids that most students would shun programming because coding languages were 'too geeky' until Apple introduced Swift. "Swift came out of the fundamental recognition that coding languages were too geeky. Most students would look at them and say, 'that's not for me,'" Cook said as the preteens participated in an Apple-designed 'Everyone Can Code' workshop. "That's not our view. Our view is that coding is a horizontal skill like your native languages or mathematics, so we wanted to design a programming language that is as easy to learn as our products are to use."
>> we wanted to design a programming language that is as easy to learn as our products are to use
Congratulations you invented LOGO!
https://en.wikipedia.org/wiki/Logo_(programming_language)
If languages are too "greeky," they should apply for a janitorial position.
I can see exposure and accessibility being a factor in getting people interested in computer programming. Kind of like Carl Sagan's and Bill Nye's attempt to get simplified science to the masses. The reach sparked a passion in people that may have never had a reason to get into the field and expand their horizons.
10 Shout Out to Peeps "Hello world!"
20 Different Day Same Shit 10
could compile to
10 Print "Hello world!"
20 Goto 10
Code like a beast Bro! Bro that code into shape! Be awesome! Beer at noon. Pointers? What are you a nerd? Memory management? That's like for the CPU to deal with, bro, be bro! Efficient code? BRO! They keep making faster CPUs! Mutilate that code!
Bro, it's got what your body craves.
I know Jobs had an RDF, and Cook presumably wants to copy that, but the RDF was supposed to affect the people around him, not himself. Does he really think Swift, which is another me-too language that looks like almost every other popular programming language except Python, is somehow not "geeky"? It's no more or less programmer hostile than Javascript FFS.
Is Cook trolling? That's got to be it, right?
You are not alone. This is not normal. None of this is normal.
Everything was crap until we came along and made the greatest thing eva! Aren't you sold now?
If you want easy to use languages that teach the concept of programming (as opposed to ones for developing professional applications) there are better choices.
I think there needs to be a distinction between intro languages and ones used for developing complex, large applications. It's great to give beginners (whatever their age) an intro to programming and maybe Swift is the language for this.
This is sort of the same as the woodshop class for 7th graders that doesn't use power tools. Great intro to woodworking, but not the approach you'd use if you were building a house. The class might inspire kids to learn more about the field -- which is all you are looking for.
bWAHAhahhahaha hahahaha aaahaaahaahaa hahahaha bwa HA hahahahah.
Tim's comment makes no sense. The language hasn't changed anything. There will be those that think it's geeky and there will be those that don't. The world we live in right now is the most geek-accepting of all and there are still tons of "we will be facing a shortage of programmers in X years" stories. It's not attracting more to the industry.
To me it looks like Javascript on top of ObjC with a little bit of Rust syntax here and there. Not really all that revolutionary. The thing it does for newcomers (young or old) is that it takes the C feel out of iPhone development.
Administration" and now the only thing I can see on Slashdot is "AI"
Lost his marbles. We need to break out into the Balmer Developers song rant. .
Look Cook, as somebody who only fits one politically-correct victim category for being gay (but still white and cis-gendered you patriachal pig!) you have no right to mansplain to women and minorities about code!
All properly-woke Womyns understand that Servo is the only programming language that truly takes into account the plight of women and minorities, and any other programming language is merely a tool of oppresion by white racists who have prevented progress for thousands of years. Get woke!
Just because the CEO of Apple says something doesn't mean he's not totally full of shit. Does anyone honestly think removing the 3.5mm jack from the iPhone was about courage?
Anons need not reply. Questions end with a question mark.
Appy apps don't need geeky code !
That should be Apple's new tagline now that they don't really "Think Different."
var str = "hello,"
//handle the error case where anything in the chain is nil
//else scope must exit the current method or loop
str += " world"
---
let myValue = anOptionalInstance?.someMethod()
---
let leaseStart = aBuilding.TenantList[5].leaseDetails?.startDate
---
guard let leaseStart = aBuilding.TenantList[5]?.leaseDetails?.startDate else {
}
---
protocol SupportsToString {
func toString() -> String
}
extension String: SupportsToString {
func toString() -> String {
return self
}
}
---
func !=(lhs: T, rhs: T) -> Bool
Ahh yes, it's very clear how Swift is so much less "geeky" than other languages like C# or Java! I'm sure a student looking at it for the first time would instantly realize how much better it is instead of saying "that's not for me"!
This Space Intentionally Left Blank
"Why is why we decided to change the language every six months, because allowing users to have a stable code base and the ability to find usable online tutorials is too geeky."
I am sure there is an intelligent comment in there somewhere; does anybody have any idea what he means? I can see how someone could apply "too geeky" to certain languages which makes them a poor choice for your first useful program... but talking to 7th graders it doesn't really make sense to talk about C, at least to me.
Good move from Apple serving his own interests !
Programmers are the bottleneck of the digital economy. Scare and valuable resources. So the master plan looks good!
1. Design a fun and easy language to develop powerful applications
2. Get the kids hooked on it (meaning Dad and Mom has to pay to by a Mac AND the school too)
3. Say: hey! you can put your first app on the AppStore and maybe earn monies
4. Get more adult programmers trained on Apple only dev env.
5. $$$
6. Create another new and fun and easier language and deprecate the previous one
7. Sell migration tools and other training courses
8. $$$
Because you can use emoji characters? "Oh look how cute I can name this variable *pile of poo emoji* now I want to be a programmer more than anything in the world".
sudo rm -r -f --no-preserve-root /
It's roughly on par with thinking that pressing a street crossing button multiple times is going to make the light change any faster than just pressing it once.
File under 'M' for 'Manic ranting'
Bros can code, and them getting into coding means more competition for scarce jobs and wages. Nerd stuff is the one thing us nerds had. And it's been taken away from us.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
Complaining that programming code is "too geeky" is like complaining that a steamroller is "too flatty".
We have enough issues and vulnerabilities being generated today by the "geeks" who have the mental capacity and intelligence to code.
The last thing software security and integrity needs is coding dumbed down to the point where Cletus T. Dipshit is at the programming helm of next-gen solutions.
I can't stand that word...
http://github.com/gbook/nidb
Not sure if Speedware is still around. I briefly did a little work with that. They had one command that was ahead of its time. Would have been a hit with millenials.
Do Nothing;
Yes, that was the command. Don't remember the rest of the Speedware syntax, so below is wrong, but the idea was:
if (x)
{
Do Nothing;
}
else
{
CallMyProcedure();
}
For some reason "Do Nothing" was preferable to them than saying "Not X" in the If statement. I used to pepper my code with "Do Nothing" just to be silly. (I was young and liked having a laugh back then).
"That's the way to do it" - Punch
it still doesnt feel good to me to use
The problem with slashdot is that most of its users were bullied and stuffed into lockers as kids!
From the people that brought us Objective-C, the only programming language that seems strange with a decade of coding experience. Its not a coincident.
Apple acknowledges that a way to attract people to STEM is by understanding people get interested in things differently, invents a new language to appeal to more people, profits.
Google totally misses the mark, gets offended because no cognitive dissonance, and fires an engineer that's suggesting something along the lines of what Apple did with swift, but in a more broad scope.
I know Cook isn't an engineer, but what he is talking about has plagued computing from the start, engineers are notoriously bad at thinking out other aspects of things. This is why modern smartphones are so popular - the technology is mostly invisible. What he says is absolutely true. Now they must deal with the fact that, rightfully, *not everyone is interested in learning to code or becoming an engineer*. Kinda seems like the same clueless phenomenon all over again, yes?
Probably the students had the (usual) comparison between Swift and LOLCODE. Here is a Wikipedia example of Swift:
guard let leaseStart = aBuilding.TenantList[5]?.leaseDetails?.startDate else { //handle the error case where anything in the chain is nil //else scope must exit the current method or loop
}
Here is an example of LOLCODE:
HAI 1.0
CAN HAS STDIO?
I HAS A VAR
IM IN YR LOOP
UP VAR!!1
VISIBLE VAR
IZ VAR BIGGER THAN 10? KTHX
IM OUTTA YR LOOP
KTHXBYE
That's the man that thought removing a headphone jack from a cellphone is a good idea and that having non-replaceable batteries are what customers want.
Who in their sane mind listens to an imbecile like that?
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
I have had many jobs, the main one was a software engineer. How does his analysis of "coding is a horizontal skill" fit in with these occupations that I have had?
labor pool worker
cab driver
truck driver
bus driver
electronic technician
And others occupations:
nurse
talk show host
cop
pilot
Some might use software, but the need to code is not there. His "coding is a horizontal skill" analysis and necessity is synonymous to being told that everyone needs to learn a foreign language. It is nonsense.
Apple has save us from our uncool selves yet again. First, I was uncool with my non-bright blue computer, but apple saved me with the imac. Then, I was listening to music like some fucking peasant, but apple made music cool with the ipod. I'm not getting started on how my phone actually had a headphone jack... saved again.
Now, finally, the last uncool piece of my life can be brought into the light and reformed with Apple's Swift!
Im now like a real life Fonzie!
Swift is the programming language for the rest of us(TM).
It's still an Apple-only language and as such should be avoided by beginners at all costs.
And no, crappy swift ports for other platforms, with zero real-word use, don't count.
Hypercard was far ahead of its time. Unfortunately, most of these friendly languages are not very effective at hardcore tasks.
Alternative Right.
Yes, PLs need to be consistent, easy to learn and easy to use. All true. But PLs also need to offer easy solutions to tougher everyday problems. Cross-platform portability, the ability to easyly abstract away the hard stuff like networking, GUI, graphics and such and an easy integrated way to swtich from OOP to functional to sequential, from event-driven to imperative and back.
The PL squaring the circle the best right now is Python. And it show, as Python is the only PL used professionally in every field you can think of while at the same time being known for a very n00b friendly PL. If Apple want's Swift to compete/beat Python in that field they have to offer all that Python offers + a free cross-platform IDE + a binary cross-compiler for all major platforms including mobile. You know, like Python freezing, only better. That would be something new and get opinion leaders on board. Until then I'm not hodling my breath.
My 2 cents.
We suffer more in our imagination than in reality. - Seneca
coding languages were too geeky
coding is a horizontal skill like ... mathematics
So which one is it? Can programming languages be "less geeky" or nor? And what the hell is a horizontal skill? I'd think that would be swimming or bench pressing or something.
Ezekiel 23:20
look no further then tims comment. What a disrespectful thing to say to all the real tech pioneers
No they've moved on to Google Chromebooks, becuase Google makes computers. How someone could be handed schools on a silver platter and piss it all away in less than a decade is a true mistery.
Guys, relax, just ignore him. This kind of comments mean that he as a leader of the Apple has no idea what to do anymore, so he jumped into pure software developers discussion. It is the same as age long fight of pro-Unix vs pro-Windows professionals. At the end of the day it does not matter, the winner is the guy who wins market with new products.
Frameworks, coding languages, operating systems they are all belong to software engineering space of responsibility. They are very important in terms of general product architecture, development velocity, system scalability and reliability, they are all REQUIRED for product success, but they are not ENOUGH to make product really great and successful like general understanding of product's market, new design innovation, usability and everything else what makes successful product successful.
The original iOS and coding is crappy, but the product itself i.e. iPhone, New mobile Browser, New application Store that was the real success.
Programming does need to be more accessible when you're first learning it. Back in the 90s, I learned LOGO and BASIC. If I had to learn Objective C with its obtuse syntax, it would be a higher learning curve.
Apple probably should have done an independent survey before Tim Cook (or anybody else at Apple) made such a statement. Anybody with a remote amount of objectivity can see that the language is very similar to C# and/or Java. Which I'm not saying is a bad thing, but inferring that it Swift is "less geeky" than Java and/or C# is just disingenuous.
The most non-geeky (and IMHO among the greatest) programming languages were invented in the 60s/70s and were procedural. That is just plain truth. COBOL, RPG, FORTRAN, BASIC, and LOGO. Obviously, those languages are the greatest in all contexts, but those languages advanced scientific and business systems development more than any other in that space.
I am still of the opinion that students new to programming should be learning a procedural language first. Simply for the reason of learning the rudiments of program flow, logic concepts, simple data structures, et cetera. Learning things like templating, objects, structs, inheritance, etc... those things can be learned after the rudiments have been absorbed.
Learning a language like Swift, Python, Java, C# first... seems ridiculous to me. Teach the basics, then open up their world with more advanced languages.
I mean come on, BASIC isn't geeky, neither is C, C++ etc. And now Python sure.
but more specifically it's _unequal_ funding. In America we fund schools with local property taxes. We do this so that rich people don't have to pay for the poor to be educated. To the point where if you try to send your kid to one of the nicer schools you'll get prosecuted for theft.
The result is that if you look at per-capita spending on schools it's very, very high but if you look at the results across entire districts they're very, very poor. It doesn't help that America has a massive underclass of working poor. Even if the kid wants to study it's hard without the support of parents.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
almost by definition. Film at 11.
Escher was the first MC and Giger invented the HR department.
I always thought Swift took many concepts from C#. Programming is geeky, what is the big deal?
Tired of my customary (Score:1)
I never coded in Swift so just searched for an example and found this, literally the first Swift code block I ever saw:
override func viewWillAppear(_ animated: Bool ) { // Create a button which when tapped blah blah
super.viewWillAppear( animated )
let button = UIButton(type: UIButtonType.system) as UIButton
let xPostion:CGFloat = 50
and so on (along with misspelling for xPosition). This doesn't look to me any different nor any less geeky from most standard programming languages. If anything, the dangling underscore in the func seems more geeky, not less.
Does anyone honestly think removing the 3.5mm jack from the iPhone was about courage?
Yes, it was about having the courage to see if you could get your customers to give you more money by having to buy new earbuds from you. Apparently they will.
The next bit of courage was removing the function keys and all but one of the ports while raising the price significantly and using one year old GPUs and CPUs...and apparently customers still bought it.
At this point, Apple is just trolling its customers to see how bad it has to get before they refuse to buy things. If you have any doubts about that just look at the MacPro: it was released in 2013 and has not been updated since yet they are still asking full price for it!
HAI 1.0
CAN HAS STDIO?
I HAS A VAR
IM IN YR LOOP
UP VAR!!1
VISIBLE "HAI WORLD!!"
IZ VAR BIGGER THAN 10? KTHX
IM OUTTA YR LOOP
KTHXBYE
He's not smarter than he looks, at least not on this point.
Making programming easier (while still exposing all necessary functionality) is a good thing. However programming is probably always going to be geeky and Swift does nothing important in that respect. Those were poorly chosen words and that's being charitable.
That was corrected for by politically funding and the private sector wanting to be seen supporting poor areas. Even with much more spending per student the tests did not get passed, the exams did not get passed. The costs of supporting new computers, GUI robot kits, laptops for each average student.
The results of more funding would have been seen in much better results over generations if a simple lack of funds was a problem.
Domestic spying is now "Benign Information Gathering"
h. And of uneducated snobbery.
I don’t mean as a reference for some address in whatever. I mean as a form of unstructured data that is analogous to unstructured code.
I'm a "both" guy. Structured code is good. And having goto available, just in case you need more power, is good too. Same thing with pointers. They definitely should be around. But doing all your data structures with them, is insanity. Yes, no matter if you are actually a competent pointer juggler.
Also, regarding memory management, I make the same argument: We solved memory management!
You know how a programmer approaches something repetitive? By factoring it out into a nice separate piece of code!
Too bad, cripplingly primitive languages like C and C++ (and most C-likes) don't support aspects, and so it’s barely possible to factor out aspects.
But in languages like Haskell, where the semicolon is a programmable operator, and the concept of sequencing actions is exchangeable by other implementations (E.g. allowing things like the TARDIS monad, where you can operate on values before you created them.), doing memory management that is both as fast as hand-made C code and as reliable as a small piece of well-matured code, is easy.
People like you annoy me, because you believe you are so superior, but really, you're as dumb brats as the dumb brats on the opposite side of the spectrum which you criticize.
You cling to C and refuse to ever look past your own tiny horizon, because there is only sports jocks from 60s/70s/80s movies, and cool hackers who program computers by directly shorting the bus circuit lanes with some static from polyester against your hair, and write code with C-x M-c M-butterfly, and NOTHING beyond that one dimension.
He’s a damn logistics guy. Wtf does he know.
I went to a private school that had less the half the funding of neighboring public schools, but came in first in the state academically.
I agree with your points, but a 7th grade woodshop without power tools? Has such a thing really come to pass?
Before you call yourself a JavaScript programmer, read the first volume of "You Don't Know JS" (free ebook). Most people who use a JavaScript framework know only enough JavaScript, say, "Hello, World," to make the framework work but not enough to understand and solve problems when the framework doesn't behave.
Hey, anything that establishes a foothold in a young mind that programming is fun and interesting is all good in my book.
BASIC, Logo, Swift, whatever you want man, getting that foothold in the young mind is extremely important.
One should not be concerned with proper programming, or railing certain languages for encouraging poor programming techniques, that's all ok. As a person matures, so will the languages they use, grasp of them and proper techniques.
While I love swift, this is absolutely hilarious when you consider how germane and simple languages like python are compared to it.
I've sworn to never write another stupid line in freaking agenda crap languages; Java, C#, Go, Swift, Rust. They're all solving a problem that didn't really exist, how to get everyone and their dog to write code safely. People bitch about Intels latest snafu; just wait until the next, less nerdy generation takes over. My yoga teacher used to tell a story about a Yogi who decided to hibernate all the way through Kali Yuga to not have to eat the "food", if I had known what was coming up around the corner in software land I would have done the same thing. My theory is the suits got shit scared from depending on code magicians and having to treat employees like humans out of fear of loosing them, and have been working 24/7 ever since to dumb everything down to a level where any moron will do.
If I had a dollar for every time I had to fix something written by a "Coder". Oh, wait. I do. And sometimes a lot of them. "Coding" isn't always hard. "Programming", "Designing", and "Architecture" are a lot harder and if not properly done, you can be coding crap. It's not just learning another language, as in being able to ask someone where the bathroom is. It's like learning a foreign language and pumping out Harry Potter.
I have a commercial license to LiveCode (nee Runtime Revolution, neeMetaCard), but there is also an open source version.
Basically HyperCard on steroids with support for the modern world, databases, etc.
hawk
Well, that explains Apple's bugginess.
I mean why do they think everyone should code... is everyone should be a doctor, No, is everyone should be a plumer no. So why should everyone program. Everything is not for everyone.... Its alright that some people dont want to code, we need doctors and plumers...
Just give it up, the more a language is for "everyone" the worst it is for everything.... Visual Basic was very easy to program.. is it a Enterprise grade programming language.. NO.. no one uses VB for large scale programs. ( and if they do, they are doomed )
Access was made to make database for everyone... is it a good tool for large scale.. noooo (a resounding no here)
The problem is that students don't learn logic.
This may shock you, but it used to be true that most students learned Logic in high school. Debate, Logic, Analysis.
Now they learn it during the second year of college. Maybe.
-- Tigger warning: This post may contain tiggers! --
It's like saying calculus is too geeky for mechanical engineers or rocket scientists ...
Pfft! I learned to program on an Apple II with BASIC.
Yes. I'm old.
And yes, I am aware of Djikstra's sentiments on BASIC, so don't bother pointing that out.
and they were heavy on GUI tools to build apps. It reminded me of VBA. I think that's what he means. You don't have to set up your own UI or learn a markup language.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
That is all.
...I'm finding that I'm remaining employable because I actually know how to program.
A really programmer will have to learn all of the complex "geeky" concepts---eventually.
A good starter language should abstract away a lot of those things. It is very difficult and potentially discouraging to tackle flow of control, obscure IO interfaces, and UI quirks all at once.
I don't know if this is marketing fluff (never personally written Swift code), but a good starter language that runs on a popular platform should be a basic elective course for middle/high schools.
Out of curiosity, would anyone have suggestions for the best starter languages for Windows and Linux systems? Preferably something with native libraries for implementing a GUI?
---
According to the latest ruleset, this post should be modded as Vorpal Flamebait +5.
Two comments:
First take a look at LiveCode for Hypercard's Logical Successor. Multi-Platform, Open-Source, and 99% compatible with native HyperCard code.
Second: FileMaker is in itself a very successful and robust platform, not any more similar to HyperCard than say PowerPoint. One of its best features, IMHO, is that while you CAN program it to do stupid things, in stupid ways, its rather hard to make typical programming mistakes like syntax or reference errors. It has robust realtime editing tools that let you add features or correct bugs on complex deployed mission critical mobile and web based systems, literally in minutes with zero user down time. It's not free or open-source but very sophisticated (and well documented) applications can be developed released in a fraction of the time and expense of the alternatives. The only real knock I have against it professionally is that the new user based licensing model makes it too expensive for a number of applications.
Tim Cook: Coding Languages Were 'Too Geeky' For Students Until We Invented Swift
Hahahaha, no. What an absurd claim (considering the very simple syntax behind languages such as BASIC, LOGO, FoxPro, etc.)
Not to mention that a student (a good student with the right aptitude) that goes into programming will already be inclined towards the esoteric details of programming and programming languages.
I mean, for f* sake, students learned using assembly and they came out quite capable. Nowadays, many (not all) colleges are just Java/.NET shops producing code monkeys that cannot code without a damned wizard and an IDE.
That's no progress.
Condescending shit heels, top to bottom.
https://en.wikipedia.org/wiki/GW-BASIC
Called to say hello from back when I started writing code in elementary school back in the 1970's.
Why? The commercial software world is nonstop marketing bullshit. The academic software world is nonstop pedantry and often behind the times. The OSS world is mostly obscure.
Developers! Developers! Developers!
my job security just got awesome
I forgot to look at the destination URL of the "as easy to learn as our products are to use" link and opened it in a background tab, expecting it to lead to a page with some code samples. A bit later I was very confused where the tab with a video of a cat mauling a tablet came from.
What's the point of that link?
foldl1' (\ a f -> (f =<<) . a) fs
What's not geeky about swift? It has assignments, classes, operators, functions, it has function bodies, it has bodily functions it even has braces for goodness sake. That is nothing fundamentally different between it and other languages out there. It's almost AS3 plus a few bits from other languages. Computer programming is fundamentally geeky. If it's not geeky, it's not computer programming.
I seem to recall some Dartmouth guys who said the same sort of thing in the early 70's. :-)
It's like TOO hard.
So, let me get this straight. You are willing to create an entirely new programming language in order to attract lazy people, as long as those lazy people are young. However, someone who has worked in 3rd generation languages for 20 years is just too old and stupid to be given a chance to learn new technologies?
I swear the tech industry in run by people who score highly on the Dunning-Kruger index.
Private schools can accept their own students. Public schools have to take whoever lives in the district. A lot of money can go into services that private schools don't provide, since they can just reject the students that need them.
"When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
A boy using a tablet.
A woman: What are you doing on your computer?
Boy: What's a computer?
A boy programming in Swift.
Someone: what are you programming?
Boy: What's programming?