Slashdot Mirror


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."

48 of 335 comments (clear)

  1. Congratulations you invented LOGO! by xxxJonBoyxxx · · Score: 5, Funny

    >> 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)

    1. Re: Congratulations you invented LOGO! by iapetus · · Score: 3, Interesting

      I was thinking COBOL...

      --
      ++ Say to Elrond "Hello.".
      Elrond says "No.". Elrond gives you some lunch.
    2. Re:Congratulations you invented LOGO! by red_dragon · · Score: 5, Interesting

      Congratulations you invented LOGO!

      Or, they could've dug through their own software catalogue:

      https://en.wikipedia.org/wiki/HyperCard

      --
      In Soviet Russia, Jesus asks: "What Would You Do?"
    3. Re:Congratulations you invented LOGO! by 0100010001010011 · · Score: 3, 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.

    4. Re:Congratulations you invented LOGO! by drinkypoo · · Score: 3

      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.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    5. Re:Congratulations you invented LOGO! by the_skywise · · Score: 2

      pfft - back in my day we had these things called Lie-Brer-EEES where you could check out books that had actual programs written in them that you could TYPE IN by yourself (with some hours of effort) to play Star Trek (You were the E, Klingons were the K...). In truth, I actually bought that book with my own birthday money at an incredible sum at the time.
      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 I've never used before - I've already googled around, found some help on stack exchange and a few blogs describing examples and already running with it. In ye olden dayeth (like more than 5 years ago) I'd be trying to find a book on Amazon about it, 10 years ago I'd be spending lunch at the local book store seeing if there were any tomes on it, in ancient civilizations (20 years ago) my company would've sent me off for a training class!

      Here ya young punk! Educate yourself! That same book is up on the net for FREE!
      https://annarchive.com/files/B...

    6. Re:Congratulations you invented LOGO! by cervesaebraciator · · Score: 2

      Filemaker is still around. I had to learn it a couple of years back because a research project I was working on used it. I think the project itself is indicative of why Filemaker still exists. When the project started, they went looking for someone who could put together a database for them on the cheap. The guy they hired had been using Filemaker for years and, yeah, he could totally do that for them. It was a mess. The poor folks on the research project didn't even realize that a web-based front end was a possibility. The guy had instructed them to edit the database at home via campus computers using remote access on Windows. He had countless work arounds and quirks for everything. But, once they had the database and had sunk costs into it, they felt like they had to stick with it. I suspect he's still out there, somewhere, causing people to be stuck with Filemaker.

    7. Re:Congratulations you invented LOGO! by drinkypoo · · Score: 3, 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.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    8. Re:Congratulations you invented LOGO! by sg_oneill · · 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.

      --
      Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
    9. Re: Congratulations you invented LOGO! by Monster_user · · Score: 2

      It is easy to get this opinion, and get on this bandwagon, but there has to be a balance between time spent learning a languge, and the value of the solutions provided. Not everything needs a jackhammer, some things need a regular hammer, and some things just a thumb. Use the tool for the job, and then replace it when it is cost effective to do so. Such as when the long term cost has a high expected return on investment.

      There is something to be said for easy to deploy but comparatively crappy solutions. There is a reason Pizza delivery services don't hire racecar drivers, nor build racecars. There is also a reason your typical delivery driver doesn't drive a brand new vehicle.

      We should be making it clearer when a teenage using a trendy solution is the most cost effective, and when it more cost effective to hire a programmer fluent in a more powerful language. The former is a short term experiment to get a service off the ground. The latter is a scalable, dependable, and efficient solution for larger scale deployments.

      The other thing these languages need is exportable data, and exportable UIs. We don't want to lock companies in to poor solutions while providing an "onramp" to grow the market.

    10. Re:Congratulations you invented LOGO! by fisted · · Score: 2

      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 familiar with concepts and terminology that's fundamentally different between math and programming, sometimes outright backwards (e.g. our variables are their constants, their variables are ... well we don't have a concept like that in imperative programming. Or functions with no functional description but side-effects (wtf is a side-effect in math?). Et cetera.

  2. Exposure and accessibility by ArtemaOne · · Score: 3, 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.

    1. Re:Exposure and accessibility by SirGarlon · · Score: 2

      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 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.

      I haven't tried Swift myself but I'm open to the idea that the last 30 years since Java was developed have taught us a thing or two about patterns and abstractions that can make the complexity of software tractable.

      At first my reaction was to dismiss Cook's position as "dumbing down" a fundamentally complex task. Then I realized that one could view C as a "dumbed down" version of assembly language. I do not enjoy programming in assembly and I feel no shame in admitting that it would not be my first choice of language to implement a smartphone app. Therefore I probably shouldn't judge someone who says the same thing about Objective-C or Java.

      --
      [Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
    2. Re: Exposure and accessibility by Anonymous Coward · · Score: 3, Insightful

      I think Tim Cook is just publicizing Apple.

    3. Re:Exposure and accessibility by TheRaven64 · · Score: 4, 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.

      --
      I am TheRaven on Soylent News
    4. Re:Exposure and accessibility by dgatwood · · Score: 2

      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'.

      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 that. And it still provides you with no good way to search by a partial title/artist/album. Hierarchical organization is a good starting strategy, but when things need to have multiple designations, searchable tagging (like the card catalog in your library) is a much more practical approach.

      The other problem with hierarchies (besides the challenge presented by multiple parallel hierarchies that share data) is the tendency to add more levels than needed under the assumption that you'll need them someday. For example, I never could understand why people would want to use namespaces. Name your classes something useful/non-generic, and you won't have collisions. It's an unnecessary level of hierarchy that does nothing but create frequent compile errors because you forgot to "use foo".

      Either way, I agree with you that Swift (which IMO just looks like a bizarre blending of Objective-C and Pascal) doesn't make programming accessible to non-geeks in any meaningful way. I think the original idea was that if you could program in a scripting language, you could maybe handle Swift, but the thing is, people who can program in scripting languages are still solidly on the geek end of the spectrum. The only thing they usually lack for understanding Objective-C is a semester-long crash course in the language, if that. The whole "playgrounds" thing makes it slightly easier for those geeks who are just getting started and haven't worked with a C-based language, but on the whole, Swift mostly just takes off a few sharp edges and creates some new ones in the process, e.g. some amount of additional pain while calling into C code, having to cast even for trivial, guaranteed-safe promotions of integer types to larger-sized integer types (wat?), and so on. Most of what makes writing software hard is still hard.

      The biggest problem with trying to create a new programming language for "non-geeks" is that anybody who already knows how to write software well enough to create one almost certainly intuitively finds the hard parts of programming easy, which means they are unlikely to ever be able to recognize them. The hard parts of programming are not minor hassles like declaring types ahead of time, or any of the other trivial syntactic sugar that Swift provides, but rather the very act of thinking algorithmically in the first place. If you can't think like a computer thinks (understanding boolean logic, being able to conceive of multiple paths through the code, understanding recursion, etc.), you'll never be able to write code that the computer understands. And all of those things are inherently geeky.

      If somehow you could abstract programming enough that those things don't matter, you'd have a programming language for a non-geek, and it would basically be Hypercard minus the part where you dig in deeper and write actual code — a series of actions that happen when you do something. And if you get to that level of functionality, maybe you might then be able to get some subset of the people who understand the most basic visual programming to stretch their minds enough to write simple actions that do simple, linear things.

      But no, Swift is not that language. Call me when I can click on a button in Interface Builder and, without writing a single line of code, make it add the contents of a group of text fields as a new record in a SQLite database. Call me when the view automatically populates itself with the contents of that database without writin

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

  3. Coding is cool bro! by Austerity+Empowers · · 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.

    1. Re:Coding is cool bro! by Anonymous Coward · · 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.)

    2. Re:Coding is cool bro! by TheRaven64 · · Score: 2

      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 doing dangerous things with it, sure. But if they're just doing some small automation tasks? I just want them to get their job done faster.

      Stop thinking of programming as something that only people who work as full-time programmers do. Most jobs have huge inefficiencies in their workflow because people who know exactly what steps are simple and repetitive don't have the skills to apply some trivial automation.

      --
      I am TheRaven on Soylent News
  4. Wait, what? by squiggleslash · · Score: 5, Insightful

    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.
    1. Re: Wait, what? by Anonymous Coward · · 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

    2. Re:Wait, what? by AHuxley · · Score: 5, Interesting

      Its virtue signalling and educational political correctness.
      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.

      --
      Domestic spying is now "Benign Information Gathering"
    3. Re:Wait, what? by Hal_Porter · · Score: 3, 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...

      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.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    4. Re:Wait, what? by werepants · · 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.

    5. Re:Wait, what? by Bright+Apollo · · 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.

      --#

    6. Re:Wait, what? by Solandri · · Score: 4, Informative
      Schools are vastly over-funded. The U.S. spends more on education per student than any country except Switzerland. While a few states dip into the $7k/yr per student range you give, the national average is over $12k/yr per student.

      Total expenditures for public elementary and secondary schools in the United States in 2013â"14 amounted to $634 billion, or $12,509 per public school student enrolled in the fall (in constant 2015â"16 dollars).

      (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 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 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.

    7. Re:Wait, what? by deesine · · Score: 2

      Tell that to the administrators at a school board meeting, and get arrested.

      --
      damaged by dogma
  5. The 60's called: they want BASIC back by klubar · · Score: 4, 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.

  6. Same same by gdonald · · Score: 2

    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.

  7. Tim Cook says a lot of shit. by Gravis+Zero · · 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?

    --
    Anons need not reply. Questions end with a question mark.
  8. Less geeky? by Daetrin · · Score: 5, Funny
    I've never used Swift, let's see what the code samples on wikipedia look like...

    var str = "hello,"
    str += " world"
    ---
    let myValue = anOptionalInstance?.someMethod()
    ---
    let leaseStart = aBuilding.TenantList[5].leaseDetails?.startDate
    ---
    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
    }
    ---
    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
    1. Re:Less geeky? by mwvdlee · · Score: 5, Funny

      It's the lack of semicolons. Kids think semicolons are geeky ;)

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  9. WTF is he trying to Say? by aaarrrgggh · · Score: 2

    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.

    1. Re:WTF is he trying to Say? by mark-t · · Score: 2

      I am sure there is an intelligent comment in there somewhere

      When you begin with a flawed premise, your chance of arriving at the correct conclusion drops significantly.

  10. Why is it not geeky? by volodymyrbiryuk · · 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".

    --
    sudo rm -r -f --no-preserve-root /
  11. Stupid argument, is stupid. by geekmux · · Score: 4, 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.

  12. Speedware by Oswald+McWeany · · Score: 2

    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
  13. Agreed, LOLCODE more geeky by Anonymous Coward · · 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

  14. Re:Coding by Opportunist · · Score: 2, Funny

    It gets worse when you speak German where the homonym "Kot" literally means excrement.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  15. Tim Cook? Really? by Opportunist · · 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?

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    1. Re:Tim Cook? Really? by TheFakeTimCook · · Score: 2

      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.

  16. Re:"coding is a horizontal skill" by Anonymous Coward · · 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.

  17. That's only half of the problem. At best. by Qbertino · · Score: 4, 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.

    --
    We suffer more in our imagination than in reality. - Seneca
  18. Re: Oh God by Monster_user · · Score: 3, Insightful

    Might be a good comment. Just because we can, doesn't mean we should. Who benefits from a large base of barely coders?

    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.

  19. Re:Don't laugh by Austerity+Empowers · · Score: 2

    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.

  20. Re:Tim Cook is deluded... Swift is like Java/C#... by angel'o'sphere · · Score: 2

    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.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  21. Re:Objective-C by angel'o'sphere · · Score: 2

    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.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  22. Re:Tim Cook is deluded... Swift is like Java/C#... by javabandit · · Score: 2

    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. Utilize GoF patterns which explode their code base completely unnecessarily.

    There are FAR more poor OO programmers out there than procedural programmers.