Slashdot Mirror


Why Apple and Google Made Their Own Programming Languages

Gamoid writes: This Business Insider article looks into the state of Google Go and Apple Swift, highlighting what the two languages have in common — and why tech companies would bother involving themselves in the programming language holy wars. From the article: "One fringe benefit for Google and Apple is that making your own programming language makes recruitment easier — for instance, since it builds a lot of its own server applications in Go, Google is more likely to hire a developer who's already proficient in the language since she would need less training."

19 of 260 comments (clear)

  1. Re:That last sentence makes no sense by should_be_linear · · Score: 4, Funny

    That sentence is actually valid in Brainfuck language.

    --
    839*929
  2. BI == Business Idiots by sribe · · Score: 4, Insightful

    Really. That last sentence proves it. They have no fucking idea what different languages are good for, or not.

    1. Re:BI == Business Idiots by TheRaven64 · · Score: 5, Interesting

      Right. Apple created Swift because Objective-C was a nice language for the requirements of '90s computing, but is starting to be limited by its C heritage. They needed a more modern language that interoperates very well with Objective-C (because they have a lot of legacy Objective-C code that isn't going away any time soon) and this required making a new language because there weren't any good contenders available. MacRuby is the closest, but falls short in a number of areas.

      Google didn't create Go as the result of some corporate masterplan, a small team at Google created it and managed to get buy-in from some other groups at Google. It's still far from the most widely used language for new projects inside Google, but it does have some advantages (though is slightly let down by Rob Pike's refusal to accept that some people who are not Rob Pike have had good ideas in the last 30 years).

      The recruiting thing can't really work. It would only really make sense if people would learn a cool language and then discover that there are very few places where they can work and use it. This is sort-of true for something like Erlang or Smalltalk, but Swift is fairly widely used by people developing for iOS and OS X (and would probably not be worth Apple's effort in developing it if it weren't). If the language is successful enough that enough people are learning it to significantly affect the pool of potential applicants for a company the size of Apple or Google, then enough other companies are likely to be using it that it isn't a significant benefit.

      --
      I am TheRaven on Soylent News
  3. Re:Huh? by istartedi · · Score: 5, Insightful

    It weeds out the people who aren't fan-boy enough to become proficient in your proprietary language before you even interview them. TFA cites a lot of other reasons they wrote these languages. This one got crab-apple picked for some reason.

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
  4. Re:Multiplatform is king - and Go is multiplatform by ncw · · Score: 5, Informative

    From wikipedia

    Go's "gc" compiler targets the Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, Plan 9, and Microsoft Windows operating systems and the i386, amd64, ARM and IBM POWER processor architectures/ A second compiler, gccgo, is a GCC frontend.

    So there are two major compilers for Go already, one of which is gcc based which targets just about every platform under the sun. I'm not saying go will run everywhere gcc will compile code because the runtime also needs porting, but it is very cross platform.

    I developed one of my command line apps in Go http://rclone.org/ and I release binaries for it which run on Windows, OS X, Linux, *BSD and even Plan 9 all cross compiled from my Linux workstation.

    --
    Every man for himself, all in favour say "I"
  5. Review of TFA by Matchstick · · Score: 4, Insightful

    This is a bad article; and the submitter, editor, and readers should all feel bad.

  6. Because no one else does by Alomex · · Score: 4, Interesting

    The reason why companies develop new languages is because the ones coming from academia are focused on the wrong things. Product development requires an industrial strength, strongly typed (for the most part) fast language.

    Projects coming from academia are interpreted, JVM based, functional, obsessed with (im)mutability, closures, and lambda functions.

    This is not to say those things are not nice, however they are not central to a programming language as used in large scale industrial systems.

    1. Re:Because no one else does by radish · · Score: 4, Interesting

      As someone who works on such large scale systems, I disagree. When you need to deal with extremely high concurrency the functional paradigm with immutable structures is a really nice way to reason about problems - I'd say it contributes significantly to reliability over standard threaded imperative code.

      "Fast" is such a vague term as to be meaningless - but I can say that we typically hit the performance limits of something external (network, disk, DB) before the fact that we're in a JVM makes any difference. If your problem is purely compute then maybe it's worth looking at C or golang, but the vast majority of stuff I work on is network services, and compute is not the bottleneck.

      I do 100% agree with the strongly typed bit though :)

      --

      ---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"

  7. Re:Dumb argument by TheRaven64 · · Score: 4, Insightful

    Add to that, Go and Swift are pretty small languages. Learning either is something that a moderately competent programmer ought to be able to do in a few weeks. Neither is sufficiently different to other languages that there's a big cognitive jump. The difficult thing is always learning new libraries and frameworks, not learning a new language (well, unless the new language is C++, where after a decade of daily use developers are still not surprised to come across a language feature that they've never seen before).

    --
    I am TheRaven on Soylent News
  8. better language? by Anonymous Coward · · Score: 5, Insightful

    is it really impossible for anyone to believe that a language and toolchain can actually
    make an organization more productive?

    it seems like everyone is so lost in technical marketing that they've forgotten
    about actually programming computers

  9. Re:Huh? by Grishnakh · · Score: 4, Insightful

    Exactly, this doesn't make sense at all for recruiting, it's actually backwards: using your own programming language makes it far more difficult to recruit, because very few people from outside your organization will have any expertise in the language.

  10. Re:That last sentence makes no sense by jcr · · Score: 5, Informative

    Anyone who is proficient in Swift has hundreds or thousands of companies outside of Apple looking to hire them. Apple has to compete with every iOS software development shop in the world for those people.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  11. Re:Huh? by istartedi · · Score: 4, Insightful

    But they don't have a shortage of applicants. They actually want to narrow the field. If that were not the case, Google wouldn't have had (perhaps they still do) such a notoriously difficult interview process.

    Economies of scale are critical here. Only a handful of companies are that big, and that desirable as places to work. So for these behemoths the usual logic is inverted. For them, narrowing the field really does "help recruitment"--the semantics of that phrase are inverted when dealing with relativistic money.

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
  12. Re:Huh? by MillionthMonkey · · Score: 4, Insightful

    OTOH, it's easier to retain employees who only know "your" language.

  13. Re:That last sentence makes no sense by Anonymous Coward · · Score: 4, Informative

    Masculine pronouns can be used in the gender neutral sense in English. Feminine pronouns cannot. Posting as AC because I don't want saying obvious fucking truths archived on my slashdot account, thanks to the witch hunts political shitfucks will inevitably engage in.

  14. Re: Huh? by Anonymous Coward · · Score: 5, Insightful

    Plenty. All of your criteria have little to do with the language and much more to do with the developer. Any properly defined/debugged program is "safe". Any properly optimized program is "performant". "Clear" is just about source code, which means that it's entirely up to the developer.

    ISO 9899:2011.
    ISO 14882:2014E.
    ECMA 334.

    Swift is a "lookalike" to all of these in several ways, especially as that list goes on. The list of languages that aren't ancestral to Swift but that have standards could go on for quite a while longer.

  15. Re:Huh? by Jeeeb · · Score: 4, Insightful

    Economies of scale are critical here. Only a handful of companies are that big, and that desirable as places to work. So for these behemoths the usual logic is inverted. For them, narrowing the field really does "help recruitment"--the semantics of that phrase are inverted when dealing with relativistic money.

    A filter is only useful though if it removes the bad applicants and leaves the good applicants. Filtering by language (/framework) although common is also a very good way to exclude a significant amount of programming talent on the basis that you don't want to give them a few weeks to get productive in your pet language/framework. I've never interviewed (or applied) at either but both Google and Apple seem to have more farsighted hiring practices than that.

  16. I know why Swift exists. by jcr · · Score: 4, Interesting

    ...and it had nothing at all to do with recruitment.

    When Apple came up with the LLVM static analyzer, they became much more aware of just what kind of coding mistakes were costing them the most time and money, and Swift addresses those issues.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  17. Re:That last sentence makes no sense by Livius · · Score: 5, Funny

    Yes, it's very unfair to men that they don't have their own pronouns.