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."
Really. That last sentence proves it. They have no fucking idea what different languages are good for, or not.
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"?
This is a bad article; and the submitter, editor, and readers should all feel bad.
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
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
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.
It doesn't matter how many platforms Go compiles for; what matters is how much demand there is for Go programmers. Outside of Google, the answer is approximately zero, so it's a bad choice if you're worried about your continuing employability. C++, on the other hand, is used all over the place, so it's a very safe bet.
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.
There is a minor recruiting benefit, only to "go".
WHY SWIFT IS NOT BENEFICIAL:
Internally, Apple doesn't write a lot of Apps; they might, eventually, convert some of their existing large applications, like Pages or Mail.App, over to Swift; these will largely end up being rewrites. So while knowing Swift might make you better able to get a job at a software house targeting Apple's platforms, it's unlikely to be meaningful in getting a job at Apple.
On the other hand, one benefit to Apple is that if Swift is not strongly used internally, the demand for App developers is unlikely to hire away Apple engineers out from under Apple, which was a big issue with the Objective C "brain drain" when iPhone and other apps took off. One of the things that Apple did, for example, was not let registered developers who were also Apple employees, take App programming classes held by Apple, for a period of six months after they started offering them to non-Apple employees. So there is an "anti-recruiting away of Apple employees" benefit to Apple.
WHY GO IS BENEFICIAL:
The recruiting benefit of "go" is clearer, although even with gccgo, go is not very portable to non-Linux platforms, despite its claimed platform support (for example, the standard libraries *still* have some serious compatibility issues on Mac OS X, despite the fact that almost every Google employee has an Apple laptop).
One thing that companies like to hire is young people; on the theory that "you can't teach an old dog new tricks", someone who knows "go" is a lot more likely to be younger, rather than older. It's not valid due to the theory, but it is nevertheless valid enough that you can pretty much use it as something of an age filter, and legally get away with doing do.
Another thing it means is that you're willing to learn new things; a surprising number of people aren't. If you got into software engineering for the money, and you are just using it as a "paycheck continuation program", instead of actually being passionate about it, it's unlikely that you've bothered to take the time to learn "go".
These are relatively minor benefits, since it doesn't take that long to learn a new language well enough to work in it pretty extensively; so training is not really a benefit, as the article claims.
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"?
OTOH, it's easier to retain employees who only know "your" language.
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.
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?
Ken
He means "I tinkered with this new thing and it seemed pretty easy enough, so that was enough - I never needed to use it, so I never found out all the edge cases I know about in the mainstream languages I use every day".
Its why many people like new languages and things, they think they're simple because they only have to scratch the surface for some simple example and think that's all there is to it.
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.
It reduces the pool of resumes that you have to sort through into just previous employees and liars. Since you know that the previous employees are either no good or have a grudge against the company, you can filter them out and hire the rest for sales.
Exactly. Yet this is something the man-haters would like to redefine.
Some feminists are truly interested in equality.
However a large portion of them are man-haters who are using their platform to gain PRIVILEGE for women.
A campaign has re-strengthened in Australia to remove the 10% GST (Goods and Services Tax / VAT) from tampons. See here
They use emotional slogans such as "stop taxing my periods".
However, I'd like to know why the Australian government won't also consider removing the GST from men's grooming products (razors, shaving cream, etc). Facial hair growth is a natural bodily function for men. And at least one GOVERNMENT department sends men home if they turn-up to work unshaven ... even though facial hair has no bearing on their ability to perform their duties! (Imagine the uproar if they sent women home for not shaving their legs. And why is the Sex Discrimination Commissioner remaining silent in defending these male citizens?)
To say nothing about why there is a GST on toilet-paper ... isn't going to the loo a natural bodily function as well?
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.