Tim Cook: Coding Languages Were 'Too Geeky' For Students Until We Invented Swift (thestar.com) 335
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."
Congratulations you invented LOGO! (Score:5, Funny)
Congratulations you invented LOGO!
https://en.wikipedia.org/wiki/Logo_(programming_language)
Re: Congratulations you invented LOGO! (Score:4, Interesting)
I was thinking COBOL...
Re: (Score:2)
I was thinking COBOL...
* COBOL IS THE FIRST THING I THOUGHT OF AS WELL - THE LANGUAGE FOR NORMAL SANE PEOPLE
(Bah, why is it telling me than I'm yelling? Obviously, I'm speaking perfectly normally!)
Re: (Score:2)
I thought the same thing, everyone can understand:
ADD A TO B GIVING C
MULTIPLY C BY D GIVING E
etc
Re:Congratulations you invented LOGO! (Score:5, Interesting)
Congratulations you invented LOGO!
Or, they could've dug through their own software catalogue:
https://en.wikipedia.org/wiki/HyperCard [wikipedia.org]
Re:Congratulations you invented LOGO! (Score:4, Interesting)
I wish they did. I learned to program on Hypercard. It took care of one of the biggest 'problems' with most languages now, a GUI. Python's GUI tools are still a mess that don't always work cross platform.
It was easy enough and came with enough built in documentation that 13 year old me could figure it out before Stack Exchange.
Re:Congratulations you invented LOGO! (Score:4)
Hypercard's logical successor is Filemaker Pro. I don't know whatever happened to that, but it let you construct interfaces by dragging and dropping. Back when web interfaces were a relatively young thing, I participated in creating a tool to let users select VLANs on Catalyst switches so that they could connect ports on their desks with ports in the testing lab using Filemaker Pro on Windows as the server, and perl on Linux for the backend (using Expect to actually talk to CatOS.) That took about three days, including making it acceptably attractive and usable. And web interfaces aren't (or weren't, no idea what's up with Filemaker now) even the program's primary goal.
Re: (Score:3)
Re:Congratulations you invented LOGO! (Score:4, Informative)
I suspect he's still out there, somewhere, causing people to be stuck with Filemaker.
Doubtless an open-source, platform-agnostic solution works better. I use Drupal these days when I want to do a job like that. It provides all the usual functionality you expect from a CMS, and a fairly small set of modules will let you create views on arbitrary database tables so that you can use it as a glorified database reporting tool without ever writing a line of code, CSS aside. You just create views. And the CSS is only needed to make it look pretty, not to make any sense of the information at all. And there are export tools.
Re: (Score:2)
I suspect he's still out there, somewhere, causing people to be stuck with Filemaker.
Doubtless an open-source, platform-agnostic solution works better. I use Drupal these days when I want to do a job like that. It provides all the usual functionality you expect from a CMS, and a fairly small set of modules will let you create views on arbitrary database tables so that you can use it as a glorified database reporting tool without ever writing a line of code, CSS aside. You just create views. And the CSS is only needed to make it look pretty, not to make any sense of the information at all. And there are export tools.
Maybe, if you want to re-invent every aspect of every wheel.
But FileMaker simply can't be beat for being able to bang-out a really decent-looking, and acting, application in almost zero time.
Re: (Score:3)
I think one of the most painful projects I ever had was trying to interface Filemaker, a campus Oracle DB and Mailman. Take student records from the Oracle db, transfer them to Filemaker for , god knows what reason, then push them later to mailman for mass mail. The first demo somehow the mailman instance broke and turned into a kind of loop that spammed about 9000 students with nearly 100 mails each, mostly just repeated "out of office" messages.
I never drank so hard as I did that night.
Re: (Score:2)
I think one of the most painful projects I ever had was trying to interface Filemaker, a campus Oracle DB and Mailman. Take student records from the Oracle db, transfer them to Filemaker for , god knows what reason, then push them later to mailman for mass mail. The first demo somehow the mailman instance broke and turned into a kind of loop that spammed about 9000 students with nearly 100 mails each, mostly just repeated "out of office" messages.
I never drank so hard as I did that night.
So, because YOU didn't take time to learn FileMaker properly, it is FILEMAKER's Fault?!?
Got it!
Re: Congratulations you invented LOGO! (Score:3)
There is something to be said for easy to deploy but comparatively crappy solutions. T
Re: (Score:2)
Hypercard's logical successor is Filemaker Pro. I don't know whatever happened to that, but it let you construct interfaces by dragging and dropping. Back when web interfaces were a relatively young thing, I participated in creating a tool to let users select VLANs on Catalyst switches so that they could connect ports on their desks with ports in the testing lab using Filemaker Pro on Windows as the server, and perl on Linux for the backend (using Expect to actually talk to CatOS.) That took about three days, including making it acceptably attractive and usable. And web interfaces aren't (or weren't, no idea what's up with Filemaker now) even the program's primary goal.
FileMaker lives on!
Still an Apple Subsidiary. Still Cross-Platform (Mac and WIndows + iOS + Web). Standalone, on-Prem Server, and Cloud-Based Server Options.
Still the hands-down Easiest GUI Form and Report Editors on the Planet!
Only Multi-User DBMS I know of with LIVE record-updating to ALL users sitting on the same Record!
Still the most misunderstood and ignored Multi-User, Multi-Platform DBMS ever!
http://www.filemaker.com/ [filemaker.com]
Re: (Score:3)
There was no Ent-ree-net, hell boy modems weren't even readily available for consumers yet!
I just got tasked with setting up a new project in a framework
Re: (Score:2)
Re: (Score:2)
Congratulations you invented LOGO!
Or, they could've dug through their own software catalogue:
https://en.wikipedia.org/wiki/HyperCard [wikipedia.org]
I love HyperCard and HyperTalk; but it does NOT have nearly the "Natural Language" properties that Bill Atkinson and Dan Winkler thought it did. And as far as "wordiness", COBOL has NOTHING on HyperTalk!!!
https://en.wikipedia.org/wiki/... [wikipedia.org]
Proof: One has to look no further than AppleScript, which is the syntactic kissing-cousin of HyperTalk.
Re: Congratulations you invented LOGO! (Score:2)
Re: (Score:2)
That prepared me to walk off a similar cliff from C to PC assembly a few years later. (I didn't notice I was walking on air until coworkers pointed it out.)
Re: (Score:2)
GUI robot kits? More computers for all?
Why not take that funding and just test for people who have math skills? People who could be interested in computers and math.
Pass the tests, exams and get more computer support.
The other students can try for languages, music, art, sport, vocational education depending on their own interests, ability to learn and results.
Teach more mathematics to people who want to learn and get them to the best universities.
An
Re: (Score:2)
There is plenty of programming that has absolutely noting to do with math.
And also: assuming that one who is good at math is also good at programming is bollocks.
Re: (Score:3)
I know plenty of math people (Students, PhDs, Profs) who suck massive balls at programming or/and at computers in general. It's not the same thing, it's not even a similar thing. Like many things, just because it can be described by math (which pretty much goes for anything) doesn't mean it's anything like maths. Same fallacy as physicists who think they're universally knowledgable because in the end, everything boils down to physics.
Math people have extra difficulties because they're intimitately famili
Exposure and accessibility (Score:4, Insightful)
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.
Re: (Score:3)
I think the idea Cook is advocating is that Swift isn't just a "toy" language to be used for kids' classroom projects.
I've taken an interest in human factors lately and realized in my reading that human limitations such as working memory [wikipedia.org] are a big part of why programming is difficult, and an abundant source of programming errors. Those limitations can't be wished away. Neither is it necessarily a wise allocation of labor to demand exceptional working memory as an entry condition to the career of programming
Re: Exposure and accessibility (Score:3, Insightful)
I think Tim Cook is just publicizing Apple.
Re:Exposure and accessibility (Score:5, Interesting)
Back when I was a PhD student, I came across a study showing that about 10% of the population naturally uses hierarchies in their mental model of structure. This came up in the context of HCI research, where you find things like filesystem hierarchies that make complete sense to some people and are largely incomprehensible to others. This was one of the reasons for iTunes' early success (before version 5, when they completely screwed up the UI): music was in a flat library, with arbitrary filters. You could filter by album, artist, or genre independently, there was no hierarchical structure. Geeks said 'why would I need this, I already have my music in a music/{genre}/{artist}/{album}/ hierarchy, people too stupid to understand that shouldn't use computers'.
Why am I talking about this? Because almost all mainstream programming languages implicitly adopt hierarchical structures. We have namespaces containing classes containing instance variables and methods. We have nested scopes. We have call stacks of subroutines (though coroutines are starting to come back into fashion).
So what makes Swift different? Absolutely nothing. It has a load of marketing behind it, but structurally it is no different from any other Algol family language with some Smalltalk influence. It requires thinking in precisely the same way as Objective-C or Java, it just spells some of the things differently. And it is both more verbose slower than Objective-C++ for pretty much every task.
Re: (Score:3)
Those geeks were nuts. Manually creating a hierarchy where you can look things up by genre, artist, album, and title creating at *least* three symlinks for every single file you add, and if it involves more than one artist, potentially more than
Coding is cool bro! (Score:5, Funny)
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.
Re: (Score:2)
However for a lot of the most common programming you will be always writing the same code over and over again. To deal with these internals.
Making sure you don't miss pointers, having to measure every value... All for the normal CRUD Application we need to produce over and over again.
Because of these higher level languages the stability of our code has noticeably increased. Think back to using a computer back in the 1990's. Even if you had a solid OS such as a Unix, Linux, even NT which wouldn't cause the
Don't laugh (Score:2)
Re: (Score:3)
No not really, I still code in C. I don't see it going away any time soon. I'm not releasing UI layer applications, and not terribly concerned with first to market.
It frustrates me that C#/Swift/etc. are being pushed so hard at the application layer and forcing C coders to do a lot of undocumented and probably shadier stuff than they were doing before, just to use OS API calls to functions that we all know were coded in C to begin with.
Re:Coding is cool bro! (Score:5, Interesting)
Because the world needs more "programmers" that think like this.....
Do us all a favor Cook, get rid of it. If they need a "cool" language to be programmers, then we DON'T need them to be programmers. We WANT the geeks who will try to make their code as efficient as possible, or implement a RFC with immaculate detail. We WANT them to know the limits and pitfalls of their chosen language forwards and backwards so that they make better more secure code. We DON'T want people who will only code if a monkey can do it. (Chances are you could automate that anyway.)
I'll take the geek's code over the quarterback's code any day, and if we had our way Cook, you wouldn't have a choice about it either. (We want some laws to forbid the company ideal of profit over responsible software development.)
Re: (Score:3)
We WANT the geeks who will try to make their code as efficient as possible
We do, but we also want people who will spend 10 minutes throwing together a simple program that will automate something in their workflow and save them half an hour a week for the rest of the year. We don't really care if it takes 30 seconds of CPU time to run, when a good programmer could optimise it to run in under a millisecond, because it's still far cheaper to spend 30 seconds of CPU time than 30 minutes of human time each day.
We WANT them to know the limits and pitfalls of their chosen language forwards and backwards so that they make better more secure code
If they're writing reusable code, or code that's taking untrusted data and
Comment removed (Score:5, Insightful)
Re: Wait, what? (Score:2, Insightful)
Not trolling, but clever marketing. Look at his audience. Heâ(TM)s trying to hook the kids before they get comfortable with other tools and environments
Re:Wait, what? (Score:5, Interesting)
So much money has been added to gov education over the decades from the gov and private sector in the USA.
The amount per student in some city and states should have produced amazing results if a lack of spending in the past was the only problem.
After decades of testing the results are not looking as good as expected. Average students given support, funding, new computers, GUI robots, computers in the home still all fail to study, won't learn, cant pass tests, cant pass exams.
The politically correct educators cant admit they got it so wrong for many decades and that all that new funding was wasted on below average students.
So its has to be what was been used to educate the very average and below average students. Change the computer education and the results for below average students will improve for some reason.
More spending and a new way to look at computers has to work in ways that past funding and new computers did not.
Everyone just wants to keep the funding going and see the next gen of computers sold and supported.
The sales pitch is the new language. In the past it was robot kits, tablets, laptops, GUI, desktops, new calculators with the needed new textbooks.
The test results stay the same every generation as the problem is not lack of funding, the lack of computers, the wrong computer language.
The students just won't, cant, have no interesting in study. Every other aspect of education has been improved. Books, GUI, buildings, food, more teachers, better teachers, more gov money, private sector money, computers.
Re:Wait, what? (Score:5, Informative)
So much money has been added to gov education over the decades from the gov and private sector in the USA.
The amount per student in some city and states should have produced amazing results if a lack of spending in the past was the only problem.
What the hell are you talking about? In my state, total per-pupil funding is about $7000-$8000/yr, and has barely been keeping pace with inflation. For reference, daycare for one kid costs about $2000 PER MONTH here - what the schools get is a pittance by comparison. And keep in mind that daycare can be done by college students and stay-at-home moms, while teachers must have a bachelor's degree, minimum, and often have an advanced degree. Many of those are STEM degrees, worth quite a bit in industry.
The schools haven't been adequately funded for decades, and things are only getting worse.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
So much money has been added to gov education over the decades from the gov and private sector in the USA.
The amount per student in some city and states should have produced amazing results if a lack of spending in the past was the only problem.
What the hell are you talking about? In my state, total per-pupil funding is about $7000-$8000/yr, and has barely been keeping pace with inflation. For reference, daycare for one kid costs about $2000 PER MONTH here - what the schools get is a pittance by comparison. And keep in mind that daycare can be done by college students and stay-at-home moms, while teachers must have a bachelor's degree, minimum, and often have an advanced degree. Many of those are STEM degrees, worth quite a bit in industry.
The schools haven't been adequately funded for decades, and things are only getting worse.
You must be in a low cost of living state: see this [governing.com].
The comparison to daycare is also bizarre. Daycare, you may be surprised to learn, lasts all day, and doesn't take random days, weeks, and MONTHS off.
Re:Wait, what? (Score:5, Informative)
(Discrepancy with the OECD stats is due to being from different years, and the OECD stats including post-secondary non-tertiary education, while the NCES stats are for only K-12).
Spending per student has about doubled in inflation-adjusted dollars [justfacts.com] over the last 40 years. and tripled since the 1960s. It peaked around 2007, and the people trying to get even more money put into education have been abusing that by using 2007 as the start of their spending graphs.
Where is all the money going? I don't have time to find it again, but the Education Department's own stats are contradictory. If you take the amount of spending it lists in teacher non-salary benefits, and divide it by the number of teachers they give, it ends up something like $50k/yr per teacher. What's going on is the number of non-teaching administrators has exploded [heritage.org] since 1970, far outpacing the growth in number of students. These administrators have been hiding it by shifting some of their salary expenses into those of teachers in the stats. Every time education receives a spending increase, the administrators sop up most of it and let only a trickle get through to teachers. Every time education receives a spending cut, these administrators pass it all on directly to the teachers and students, while protecting their own jobs and salaries. As a result, the teachers are constantly complaining of not having enough money despite the huge increases in education spending over the decades.
Re: (Score:3)
The problem with our education system is funding (Score:2)
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
Re: (Score:2)
The results of more funding would have been seen in much better results over generations if a simple lack of funds was a problem.
Re: (Score:2)
The achievement of students is highly correlated with the success of their parents, much higher than the quality of the school and the teachers and materials.
So instead of mucking around spending money on schools, how about we get better parents?
And it's not even true (Score:2)
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 a
Re:Wait, what? (Score:4, Insightful)
I dunno, I think he's smarter than he looks.
Consider.
Back when people wrote code in Objective C it was easy to have some Objective C for the iOS UI, some Java for the Android UI and a big gob of portable C/C++.
Now if they write the whole app in Swift it will be easier to get it running on iOS. And it seems like there are various projects to get Swift running on Android too.
E.g.
https://medium.com/@ephemer/ho... [medium.com]
I.e. Apple have something which is a competitor to writing everything in C# and using Xamarin to target both platforms.
Xamarin has always seemed a bit horrid to me frankly. And doing the 'big gob of portable C/C++ with two sets of UI code is also horrid.
If Apple can build a platform that people use for IOS apps knowing they can run well on Android they've got a pretty compelling platform. And if it turns out not to work very well on Android they've got more iOS exclusive applications.
Re: (Score:2)
Grow up.
Programming is *hard*. It's hard for a variety of reasons, but one of which is the mutation of your end user's problem into something that can be automated. The language is really the last thing that's a barrier to new entrants. A failure to teach problem decomposition is where I'd address this, first.
Swift. Spare us, who make a living doing this, the next Silver Bullet.
--#
Re: (Score:2)
The 60's called: they want BASIC back (Score:5, Insightful)
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.
Same same (Score:2)
Re: (Score:2)
How can it look like ObjC in the slightest when it contains none of the syntax squirts of ObjC?
Tim Cook says a lot of shit. (Score:5, Insightful)
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?
Re: (Score:2)
Of course not. If the CEO of Apple says something, that DOES mean he's full of shit.
Re: (Score:2)
Apple now just Trolling (Score:2)
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
Less geeky? (Score:5, Funny)
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"!
Re:Less geeky? (Score:5, Funny)
It's the lack of semicolons. Kids think semicolons are geeky ;)
Re: (Score:2)
First time I've seen that - I'd say BASIC was a lot less geeky.
WTF is he trying to Say? (Score:3)
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.
Re: (Score:3)
When you begin with a flawed premise, your chance of arriving at the correct conclusion drops significantly.
Re: (Score:2)
I am sure there is an intelligent comment in there somewhere; does anybody have any idea what he means?
I think he's referring not to the language's syntax (which isn't all that different from many other computer languages) but rather to Apple's approach to teaching the language, which involves interactive playgrounds [apple.com] rather than the traditional "type in a few paragraphs of mysterious text into a blank IDE and hope something happens" approach.
Re: (Score:2)
City and state govs have another generation that cant pass a test after all the tablets, new teachers, GUI robots, laptops, internet, desktop computers, new buildings.
Nobody wants to admit its the many below average students given the education funding over the past decades in parts of the USA.
Funding that was expected to ensure everyone could get a good job, into university.
It was only a lack of money that held back poor areas. Add the funds and it would all be equal. Exam resul
Programmers bottleneck (Score:2)
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 languag
Re: (Score:2)
Once the gov accepted the method, the books, calculator and support had to be accepted.
But now new code and a GUI that has to be "upgraded" every year due to advancements.
Teaching only works well with the brand. The brand sets the computer and math standards.
Why is it not geeky? (Score:3)
Re: (Score:2)
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".
OK, so my son would think that was funny and cool, and likely be more interested because of it.
But he'll grow out of it, I swear ...
Standard correlation is not causation rules apply (Score:2)
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
Stupid argument, is stupid. (Score:5, Insightful)
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.
Re: (Score:2)
Coding (Score:2)
I can't stand that word...
Re: (Score:3, Funny)
It gets worse when you speak German where the homonym "Kot" literally means excrement.
Speedware (Score:3)
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).
Re: (Score:2)
Re: (Score:2)
I guess it's like Python pass, which allows filling a syntax slot that requires a compound statement (such as catching an exception or defining a dummy function or class) but otherwise is like writing the constant None on a line by itself.
Re: (Score:2)
Most languages have a no-op statement. C allows just a plain ";" as a do nothing statement. Even going back to Fortran, there was CONTINUE [oracle.com]. It's a very old concept.
Re: (Score:2)
Most languages have a no-op statement. C allows just a plain ";" as a do nothing statement. Even going back to Fortran, there was CONTINUE [oracle.com]. It's a very old concept.
Very true, although ";" is decidedly less amusing than "Do Nothing"... at least to me.
Re: (Score:2)
There fixed that for you.
isnt swift just a reworked objective-c ? (Score:2)
it still doesnt feel good to me to use
Agreed, LOLCODE more geeky (Score:5, Funny)
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
Tim Cook? Really? (Score:5, Insightful)
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?
Re: (Score:3)
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?
Ever seen the unit sales of iPhones, even those without a headphone jack?
And virtually NO phone has a removable battery. But in iPhones (and many others) they ARE replaceable.
Re: (Score:2)
Courage
You misspelled Investors.
The screaming stupidity of any asinine idea can be drowned out with the sound of thunderous revenue. - Greed
Even if swift was good (Score:2)
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.
Re: (Score:2)
crappy swift ports for other platforms, with zero real-word use, don't count.
These ports would have to keep up with the huge language syntax changes. Not easy!
I thought that was Hypercard (Score:2)
Hypercard [arstechnica.com] was far ahead of its time. Unfortunately, most of these friendly languages are not very effective at hardcore tasks.
That's only half of the problem. At best. (Score:5, Insightful)
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.
So which is it? (Score:2)
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.
What is too geeky? (Score:2)
Learning is geeky (Score:2)
Swift looks like C# to me (Score:2)
Re: (Score:2)
There was a BASIC keyword translator for the Commodore 64 that I had some fun with, back in the day.
Re: (Score:2)
Objective-C was created primarily by Brad Cox and Tom Love in the early 1980s at their company Stepstone. It was then later licensed by NeXT, then Apple bought NeXT and released MacOS X that still used Objective-C as its implementation language.
Re: (Score:2)
the only programming language that seems strange with a decade of coding experience
Oh, wait until you find out about Forth.
Re: (Score:3)
What is wrong with view!?.superview?.layer
It saves you from testing if any of the attributes are null.
I think the groovy guys invented that syntax.
Re: (Score:2, Funny)
Prostitution, and painting the ceiling of the Sistine Chapel are known to be horizontal skills. I'm guessing that Cook is implying that the occupation of computer programming has more in common with the former than the latter.
Re: (Score:2)
No, what Damore was getting at was that while tech environments often have good pay, they are highly abusive, like working for assholes like Steve Jobs. People that care about work-life balance are thus discouraged from tech, and that bears out statistically with having a lot of young white dudes.
Damore wasn't saying that tech needs to be cool. Damore was saying that someone should punched Steve Jobs in his asshole face when he abused his employees.
Re: Oh God (Score:4, Insightful)
One of Microsoft's advatages early was was that it was easy to program for. Bring down the difficulty of programming, and you bring down the cost of the programmer. Bring down the cost of the programmer, and you bring down the cost of the software. Bring down the cost of the software and you open up the market.
However, bring the time and knowledge to program down too low, and you end up with bad programmers and users that blame the OS and/or computer, not the skill level of the programmer.
Re: (Score:3)
Object orientation is difficult to teach to people who already are poisoned by simple procedural languages.
Simply for the reason of learning the rudiments of program flow, logic concepts, simple data structures, et cetera
This is all included in Java/C# etc. in beginning classes ... or do you believe loops are any different there? OTOH "list.foreach { lambda }" is probably even simpler than writing a for loop your self.
Re: (Score:3)
Object oriented languages are NOT difficult to learn for people who know procedure languages. C is a procedural language. Some of the best object-oriented programmers in the world started in C.
I would actually say the opposite to what you said. People who did not bother to learn procedural programming first are TERRIBLE in object-oriented languages. Because these kinds of programmers overly abstract everything, create millions of functions and/or methods unnecessarily. Create useless interfaces. Utili