

It is my belief that Apple is working on a new language (2010) - Doctor_Fegg
http://waffle.wootest.net/2010/06/19/surpass/

======
TillE
Given the sheer quantity of people who post their thoughts about Apple, you
can probably find one or two who made an accurate prediction about any product
release.

~~~
hkmurakami
It's almost like Shakespeare's monkeys! :)

~~~
skizm
"The relevance of the theorem is questionable—the probability of a universe
full of monkeys typing a complete work such as Shakespeare's Hamlet is so tiny
that the chance of it occurring during a period of time hundreds of thousands
of orders of magnitude longer than the age of the universe is extremely low
(but technically not zero)."

[http://en.wikipedia.org/wiki/Infinite_monkey_theorem](http://en.wikipedia.org/wiki/Infinite_monkey_theorem)

~~~
Thirdegree
But it's not about "a universe full of monkeys", it's about Infinite monkeys.
Significantly more.

~~~
coldcode
Infinite monkeys would also produce infinite crap. Infinity means everything
is going to happen.

~~~
huxley
As in poop or as in Dan Brown novels?

~~~
rthomas6
Both! On a related note, if you had infinite Dan Browns typing on typewriters,
you would end up with infinite novels that all follow the same formula.

------
vlunkr
If you look down into the comments (on the original post), he says "My guess
for what xlang would actually look like is rather close to Objective-C without
the C." Pretty good prediction considering they used almost the same phrase in
the announcement.

------
Doctor_Fegg
The timing's interesting on this one. The blog post is from 19th June 2010;
Chris Lattner says he started working on Swift in July 2010, "with only a few
people knowing of its existence", but presumably with some approval from
higher-ups.

~~~
Kaizyn
Perhaps it was a self-fulfilling prophecy? Chris read the blog post and
decided to start working on a new language... and the rest has been history.

~~~
huxley
To be fair, John Siracusa has been beating that drum for a long time:
[http://arstechnica.com/apple/2010/06/copland-2010-revisited/](http://arstechnica.com/apple/2010/06/copland-2010-revisited/)

~~~
wootest
I love Siracusa, but what he's been saying is "well, they're gonna need
_something_ or they'll fall behind". Which is a fine bet and was a prescient
analysis even in the rounds before. Copland 2010 was his idea in 2005 that
they'd essentially have something new and modern by 2010, which they didn't,
but they had started evolving Objective-C again and added GC, so they hadn't
been completely standing around.

I made a separate bet, saying that "they're working on a new language with
these characteristics". For four years, this was an insane idea, they're not
going to go all that trouble just to chuck Objective-C, I was mad and should
be ignored. This week, that line of dismissal argument changed into "in
hindsight, he was only stating the painfully obvious and anyone could have
done that", which is nice and weird and a reversal fit for Steve Jobs.

That said, both Siracusa and I completely missed ARC, which is basically
probably what made Swift worthwhile.

------
slaven
Well, except the work on the new language according to the language creator
didn't start until July 2010, a month after this post.

~~~
wootest
Yes, I may have been wrong on that part. Or it was planned but not started
yet. Or Chris Lattner read that post and thought "we've gotta get on that". Or
whatever.

Regardless of that, a lot of details match (opt into it, side-by-side with C
and Objective-C, compiler based on LLVM, not based on C, modern language,
specifically made to match the frameworks).

------
abalone
So the thesis is the only reason they would switch to LLVM is if they wanted
to abstract away from Objective-C?

I'm no compiler expert but I do know Apple rolled out Automatic Reference
Counting in 2011 (one year after this post), a pretty f'ing massive compiler-
based feature. That was probably the biggest leap forward in Objective-C in a
decade. For those not familiar, that's the thing that automates memory
management but without the runtime overhead of garbage collection, instead
using static code analysis to figure out where to compile in the commands to
release memory. So I'm guessing LLVM had something to do with that.

~~~
stusmall
ARC uses runtime reference counting, as the name would imply, not static code
analysis.

~~~
pjmlp
Clang uses dataflow analysis to remove redundant increment/decrement
operations.

There was even a WWDC session about it when ARC was made available.

~~~
puppetmaster3
pjmlp, can you please contact me re d?

cekvenich.vic (at) gmail.com

~~~
pjmlp
Why?

------
mikeash
Speculation on a new language from Apple has been going on for ages. Lots of
people have discussed the possibility for years. There are no details in this
prediction beyond "a new language", some obvious stuff like "it'll be modern",
and some wrong stuff like the implication that it will use garbage collection.
This is not a very interesting prediction. Just coincidental, and not
particularly so.

~~~
cefstat
Moreover, the specific predictions turned out to be wrong: Swift has no
garbage collection (ARC is not GC), and is not a completely clean slate but is
using the ObjC runtime.

~~~
wootest
No points for "based on LLVM" and "opt-in as you please side by side with
Objective-C"? (Side by side with Objective-C probably does not require the
Obj-C runtime, but it's hard to see how it wouldn't want to use it.)

I did not predict ARC. I'm not a genius, oracle, memory management expert or
compiler writer.

------
TheMagicHorsey
Prescient.

