Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Businesses Google Programming Apple

Why Apple and Google Made Their Own Programming Languages 260

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."
This discussion has been archived. No new comments can be posted.

Why Apple and Google Made Their Own Programming Languages

Comments Filter:
  • Because they studied Computer Science. If it was easier to do, we would also have people making new CPU architectures and operating systems, just because.

  • Review of TFA (Score:5, Insightful)

    by Matchstick ( 94940 ) on Sunday June 07, 2015 @12:02PM (#49862059)

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

    • by Afty0r ( 263037 )

      I was coming here to post exactly this. It is badly-written, ill-thought-out and generally just incorrect. Even a little critical thinking would have prevented this tripe from ever seeing the light of day.

  • "Google is more likely to hire a developer who's already proficient in the language since she would need less training."

    This is the worst argument I have ever seen and is a total recipe of disaster. Imagine MS only hiring VB people, Oracle hiring PL/SQL and SAP hiring ADABAS and IBM hiring FORTRAN/COBOL people, where would they be today?

    • by vux984 ( 928602 )

      Its not even logical. If the goal is to hire developers who need the least language training, having your own in-house language is the worst way to go. Clearly google and apple should pick the most popular language if that's what they want.

      On the other hand, an in house language probably reduces developer mobility -- they can't go to work for another company if they don't work with common languages.

  • by Alomex ( 148003 ) on Sunday June 07, 2015 @12:09PM (#49862105) Homepage

    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.

    • Closures and lambdas are definitely compatible with strongly typed performant code. C++11 has both and is still very performant (std::function is lightweight enough to toss around, doubly so with reference/move semantics) and as an added bonus with C++14's "auto-goes-everywhere" you get output that's strongly typed without the hassle of naming it. Purists can still opt to explicitly type everything if they prefer of course.

      Similarly, Apple's block extension to C has all of those and is still reasonably perf

    • by radish ( 98371 ) on Sunday June 07, 2015 @02:08PM (#49862691) Homepage

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

      • by Alomex ( 148003 )

        "Fast" is such a vague term as to be meaningless

        If only someone could invent an objective measure of speed of execution, using a newly developed unit which we shall call "microseconds" and use that to compare the performance.

        On a more serious note, I agree that for many applications time is not that important, but there are many others for which it is. The rendering engine in the browser is one. Any app running in a battery constrained phone is another.

    • 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

      Whilst I don't disagree that academic languages rarely get used directly in industry, one of the world's most successful industrial programming languages is J

      • by Alomex ( 148003 )

        ..and do you know why is interpreted? because it was supposed to run in countless cable boxes which never did. I know, because I was heard the language design and spec in the pre-WWW days.

    • It that's what industry needed, Modula 3 could have been a great hit. Object-oriented, statically typed, run-time secure, and compiles to efficient machine code as well.

      But the truth is that language popularity is largely a question of fashion, not of technical merits at all.

      • by Alomex ( 148003 )

        It's a combination of fashion, libraries, how big is the improvement over the nearest commonly used competitor, commercial backing, luck, and yes technical merit.

        For example, Perl is a language that succeeded on the basis of its powerful string manipulation primitives, which is technical merit, and in spite of its many other technical deficiencies.

  • by Theovon ( 109752 )

    Someone at Apple just has the hots for that blonde singer.

    I don't blame them. :)

  • better language? (Score:5, Insightful)

    by Anonymous Coward on Sunday June 07, 2015 @12:12PM (#49862131)

    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

  • More change for the sake of change

  • The makers of this article clearly have no background in computing, or journalism either for that matter. I'm surprised I didn't see a reference to the Illuminati in there somewhere. Bizarrely, the article doesn't even mention Dart, which is no doubt due to the two-minute Bing search that I'd imagine formed the entirety of their background research.

    When considered against the status quo for their purposes and eras, all of these languages show significant, useful advances in programming. And if we're going to declare all languages that are created by a for-profit corporation invalid, say goodbye to Java, C#, C++, and C. Hell, even the Jacquard Loom was meant to make money.

  • by John Jorsett ( 171560 ) on Sunday June 07, 2015 @12:56PM (#49862343)
    If you've made your own language, you're more likely to keep your experienced employees because there are fewer places for them to go to if they jump ship. Sure, there will be companies that use the language because they have to develop software for Google or Apple, but the employees are going to be a lot more locked-in than if they were experienced in something more widely used such as C or Python.
    • by UnknowingFool ( 672806 ) on Sunday June 07, 2015 @02:41PM (#49862791)
      As someone pointed out, that doesn't make sense for retention as Swift is the language that most 3rd party iOS app developers will learn. Apple makes maybe a dozen iOS apps and half of them are free. As for OS X, I can see the same pattern; third party developers are going to outnumber Apple ones.
      • by JanneM ( 7445 )

        No, it's the same mechanism; just think of the third-party developers as "your" employees (share-cropping is quite an apt comparison). If they write their cool apps in a language only your platform uses, they are much less likely to port it to other platforms. You get more "exclusive" content, and your share-croppers/valuable partners are less able to leave for better terms elsewhere.

        • And when have developers been able to port easily to other platforms? Almost never. Wiring an app for WinMobile was never going to be easy to port to Blackberry or Symbian. And that's even if you wrote in C++.
    • the opposite is probably true - the experienced employees will look at their skillsets and start to think how unemployable they are becoming, and jump ship while they still can.

      I've seen it happen with a company that used a DSL, people gained skills in various systems (eg DBs, SQL etc) and then jumped when they could. All the remaining devs were either then ones making the DSL or were new kids who were just happy to have a job.. until they too realised their skills were not up to much.

    • by gweihir ( 88907 )

      That is a far more valid explanation. Of course, it is highly immoral, so the PR types do want to avoid it. But it makes a lot of sense.

  • Logic Fail (Score:4, Insightful)

    by Art3x ( 973401 ) on Sunday June 07, 2015 @01:57PM (#49862643)
    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.

    And had Google used C, it would be more likely to hire someone who's good with C, since they would need less training.

  • by kenh ( 9056 ) on Sunday June 07, 2015 @02:12PM (#49862703) Homepage Journal

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

    Because if they used, for example, Java, when they hired an experienced Java developer they would need MORE training?

    Approximately how large is the pool of 'experienced' Go/Swift programmers outside of Google/Apple?

  • The media is so fixated on these two companies that they're leaving out other competitors that don't come to mind in this exact same sector.

    Facebook now has their own language: Hack. It runs on their own interpreter: HHVM.

    This is similar in mind to the jump from C to C++, wherein existing PHP code mostly runs on HHVM unmodified, but switching to Hack adds a couple restrictions (fixing long standing issues with the PHP language), while adding countless new features (such as type safety and parallel I/O)

    But F

  • 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

    Choosing to do all internal communication in your own language makes recruitment easier -- for instance, since it builds a lot of its own body of literature, WePretendToBeDwarfsOutOfTolkien Inc is more likely to hire a developer who's already proficie

  • It's no surprise that big programming organizations develop new languages to better suite their own needs. If you are running a large server farm, a language that helps you have 25% fewer memory corruption crashes without sacrificing speed is a huge thing. Outside adoption may vary, but over time some will succeed and supplant C/Java as default choices for new projects.

    Personally I am hoping for something that unifies memory and external resource management without leaks, crashes or perceptible GC pauses. T

  • The thing about companies of that magnitude is that unless you're a rockstar programmer (most of us aren't) you're just signing up for some bullshit lord of the flies atmosphere where the job is so internally competitive that it becomes overly stressful and completely unenjoyable. Yes the pay is probably good, however the environment is anything but healthy.

  • You're not a "real" programmer until you've rolled your own framework or language. Sooner or later, everyone worth their salt gets some "bright ideas" and gives it a try. :)

  • "Similarly, Go was designed to make it easier to build complex systems. The old workhorses of the networked software programming industry, C++ and Python, just couldn't keep up with the demands that Google was placing on it."

    Is there an explanation of what those demands could be? C++ and Python are very different languages in every way

  • People that are actually good at developing software will be so in any language after a short time. People that are at the low end of the skill range will learn these languages like Go in order to have some skill at all. They will still produce code that sucks though. Or said differently: Preselecting candidates based on whether they know a specific language is usually a hugely expensive mistake in the long run. Not that other companies are routinely making this basic mistake all the times. Just shows that

  • You won't create a new language if you just need to develop a small app, however, when things become big, creating a new language to fit what you are trying to build may become a worthwhile investment.
    Good programmers can pick up a language very quickly anyways.

  • Comment removed (Score:5, Interesting)

    by account_deleted ( 4530225 ) on Sunday June 07, 2015 @09:29PM (#49864335)
    Comment removed based on user account deletion

Avoid strange women and temporary variables.

Working...