Slashdot Mirror


Why Apple, Google, and FB Have Their Own Programming Languages

An anonymous reader writes: Scott Rosenberg, author of Dreaming in Code dissects Apple's Swift, Google's Go, and other new languages — why they were created, what makes them different, and what they bring (or not) to programmers. "In very specific ways, both Go and Swift exemplify and embody the essences of the companies that built them: the server farm vs. the personal device; the open Web vs. the App Store; a cross-platform world vs. a company town. Of all the divides that distinguish programming languages—compiled or interpreted? static vs. dynamic variable typing? memory-managed/garbage-collected or not?—these might be the ones that matter most today."

7 of 161 comments (clear)

  1. Naming by Anonymous Coward · · Score: 3, Interesting

    So Apple named a language "Swift", Google named a language "Go", and Facebook named a language "Hack"?
    Obviously it's not just the dirty FLOSS hippies who can't come up with decent software names.

  2. Algorithms by Anonymous Coward · · Score: 5, Interesting

    If I give you an algorithm, throw a dart at a page of programming languages to select one and if you cannot implement that algorithm in that language then you are nothing but a code monkey.

    A computer scientist can implement any algorithm in any language.

    Why are these companies using their own languages?

    Coder lockin. That is the only reason to have your own language.

    Work a few years at XYZ company working on their proprietary algorithms in their ABC programming language?

    Good luck getting another job.

    See, they learned the hard way with their stuff in Javascript - common language and coders - uh, I mean Javascript engineers - left for greener pastures because so many other companies were using that language.

    1. Re:Algorithms by SQLGuru · · Score: 1, Interesting

      I disagree with your coder lock-in statement. But I agree with your "throw a dart" metaphor.

      Just because you CAN code an algorithm in a language doesn't mean it's the best option. Just because I can drive a screw into a 2x4 with the heel of my shoe doesn't mean I should.

      Languages are developed to make certain problem domains easier. If they are flexible enough, people will adopt them for other problem domains as well. If they aren't flexible enough, they might stick around in their problem domain, but they'll stay on the outskirts. That's it.

    2. Re:Algorithms by tlambert · · Score: 5, Interesting

      If I give you an algorithm, throw a dart at a page of programming languages to select one and if you cannot implement that algorithm in that language then you are nothing but a code monkey.

      A computer scientist can implement any algorithm in any language.

      The "D" language used in writing DTrace scripts does not have loop constructs or recursion, and is not Turing complete. While I can do some pretty astonishing things in "D" that would make your jaw drop, even without looping constructs and recursion, it's pretty easy to come up with things which are impossible to implement in "D".

      So I would say your page of programming languages would, at a minimum, need to be Turing complete programming languages.

  3. Good reasons for Swift and Go by sideslash · · Score: 3, Interesting

    Swift needed to be created because Objective C stinks, and no other modern language would have fit smoothly into the Smalltalkish legacy of the Cocoa framework. I'm just glad that the Apple fanboys who constitute most of my fellow iOS developers are finally allowed to believe bad things about Objective C, at least now that there's a nice alternative. Made me a little sick before to hear people praising Obj-C while writing reams of ridiculously verbose code that nobody will want to maintain 5 years from now.

    Go is a fantastic language for server side development with concurrency that's not painful to wrap your head around, and is perfect for cloud development in Google's world.

    Won't comment on Facebook Hack, since it's not clear to me why Facebook itself needs to exist. But to each their own...

  4. Go does not see significant use, even at Google. by tlambert · · Score: 3, Interesting

    Go does not see significant use, even at Google. It's one of the allowed implementation languages, along with Python, JavaScript, and C/C++, but it doesn't see a lot of uptake internally at Google.

  5. Proud tradition by Just+Some+Guy · · Score: 3, Interesting

    Like when Bell Labs developed C to write Unix? There's a long tradition of major companies coming up with new languages to scratch an itch. Thank God is hasn't died. How boring to live in a time when we'd decided that there was nothing left to innovate?

    --
    Dewey, what part of this looks like authorities should be involved?