

LLVM is One Thread Holding Apple and Google Together - 127001brewer
http://www.wired.com/wiredenterprise/2013/07/apple-google-llvm/all/

======
randallu
WebKit regularly pulls changes from Blink and I'm sure the reverse is true
too.

The One Last Thread Holding Wired Together Is Linkbait Headlines.

~~~
127001brewer
Regardless of the link-bait headline, I submitted this article because I
thought it gave a satisfactory high-level overview of LLVM.

------
archangel_one
Ridiculous. Of course it's not holding the two companies together - they both
use it, but it doesn't determine any kind of strategic direction common to the
two.

~~~
samspenc
LOL, exactly. Just like SQLite "holding" iOS and Android together, even though
both mobile OSs use SQLite as the data store of choice!

------
DonPellegrino
LLVM is truly a wonder of modern software. By making the development of new
programming languages easier, it's accelerating the development of new tools
and techniques.

~~~
emn13
I really don't understand this point of view. LLVM is really cool, but its not
revolutionary. It, like most (all?) other modern compilers uses an IR. GCC -
the obvious comparison - has gone through at least two over the years. The
original 1987 release had one. Promoting IR as an interop layer isn't new
either (1992:
[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.1...](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.1069)).
The JVM+CLR were both around by the time LLVM came to be too; CLR was supposed
to be multi-language from the start. Modern GCC's IR layers were around not
much later.

At the time apple bet on LLVM, it wasn't nearly as polished as it is now: they
didn't pick it because it was great, but because of the liberal licensing
(just like khtml, for that matter).

That's not to denigrate LLVM - clean, modern code that's easy to use is
wonderful - but that doesn't make it a wonder. If I had to guess, I bet it's
like 99% of other projects: lots of work, copying good ideas liberally from
several sources, and solving the right problem at the right time.

~~~
wladimir
The major difference with GCC's and other IRs is that LLVM and clang made it
easy to use and embed the APIs in other software (due to the license as well
as exporting a library). This made it much more convenient to make compilers,
as well as code inspection and analysis tools (and even graphics drivers).

Sure, everything was possible before, but much harder for the average
programmer interested in this stuff. With just Python and LLVM-python you can
do very interesting things, quickly, without delving into GCC sources.

It may be possible that GCC cached up in that aspect, but back in the day I
heard from language researchers, the GCC low and high level IR were a hell to
introspect and required delving into the GCC source at a deep level.

~~~
rcxdude
The difficulty of accessing GCC's IR is partially deliberate - Stallman didn't
want any convenient way for non-free software to take advantage of GCCs
internals.

~~~
emn13
It would seriously surprise me if Stallman had much of anything to do with the
current GCC IR, which is from 2003. But maybe I'm mistaken.

Do you have any reference for this intentional obfuscation in any version?
It'd be disappointing even if it were the case in earlier versions, but
conceivable, I guess...

------
craigyk
The last thread holding them together is that Google is still primarily a
services company and Apple a consumer electronics company. The extent of their
divergence is a direct result of how far along they are at stepping on the
other's toes (Android, Maps, Siri).

------
astral303
"Thanks to Lattner’s online resume and other sources, we know that LLVM is
“deeply integrated” with Xcode, and that it was used to build the latest
versions of Mac OS X and iOS."

Ugh. Linkbait headline and "brilliant" reporting--the "other sources" must be
the entire front page of a Google search for "Xcode LLVM".

It seems like an incredible stretch to claim that it's the last thread holding
Apple and Google together. I do not believe that there is a single Google or
Apple engineer that would not want to reuse a tool or a library between the
two companies.

~~~
revelation
The author doesn't seem to understand that this is just a compiler. From him,
it sounds like LLVM is the magic sauce in smartphone software on the planet.

~~~
jtome
I actually know very little about the LLVM, so the article had me almost
confused for a second until I confirmed that the LLVM is just a compiler as I
thought.

Ignoring the issues with his analysis of google and apple being brought
together by the LLVM, which has its own issues, this is a really horrible
article.

And the android NDK uses the gcc.

