
Steve Yegge Grades His Own Predictions - krupan
https://sites.google.com/site/steveyegge2/ten-predictions
======
pbiggar
I think he's being overly harsh on himself. As he said in the original rant
"the predictions themselves don't matter! Most of them are probably wrong. The
point of the exercise is the exercise itself, not in what results"

Imagine someone in 1850 making the prediction that "by 1950, everyone will
have a horse". Though they say "horse", they really mean "everyone will be
able to afford their own personal transport", as a reflection on the changing
socioeconmic something something. And they would be right. Sure the horse is
mechanical, isn't shaped like a horse, and consumes petrol, but your
prediction is correct, even though you didn't know exactly how it would play
out.

The same is the of Yegge's XML DB prediction. If he was saying that XML is
going to be amazing, then he's wrong. If he's saying the RDBMSes have
problems, then he's right. And actually he's saying "RDBMSes suck, so
something will replace them, and XML is big enough that it will be XML". So
that looks like a 50% score to me.

With Apple, he's basically saying "apple is shiny, and shiny will win". That
prediction has been 100% correct. The fact that iPads disrupted the laptop
model means he's more correct than if they had just sold more Macbooks. 100%
score here, IMO.

~~~
barkingcat
Hindsight is 20/20\. You don't get to reinterpret statements made earlier just
because he got the general gist.

Like he said, his specificity screwed him (laptops, xml, etc) - He's totally
not being too hard on himself. He's being fair and honest in his evaluation.

It would be super easy to predict trends if you are nonspecific: I predict new
and shiny will win in 10 years. Bleh that's a non-statement.

~~~
jsmeaton
How specific do you need to be? Do you need to provide implementation details?
I give full marks for the XML Database prediction because he began with this
statement: "Nobody likes to do O/R mapping; everyone just wants a solution."
And then: "XML is the most popular vehicle for representing loosely-
structured, heirarchical data."

I could quite happily interpret that as "schemaless databases (using the most
popular vehicle for representing loosely-structured data) will surpass
relational databases in popularity by 2011". I'll take marks off for 2011
being too early, but not for the datatype choice.

It's unfortunate that he went into more detail by describing XPath and current
support for XML operations, but I feel that's just justification for the
specificity of the datatype choice in the title.

I totally agree with you regarding laptops and apple though. "New and shiny"
is hardly a prediction, and the specificity is relevant to the prediction.

~~~
Goladus
> I'll take marks off for 2011 being too early, but not for the datatype
> choice.

I would. If he had said something like "XML is most popular... but really
meant for documents not data, so something similar will probably replace XML"
then I would have given full marks, even if he didn't specify JSON or BSON
explicitly.

(I would give ~50% though, not 20%)

------
abc_lisper
Steve, if you are reading this, please know that we miss your writing. It
would be awesome if you could write now.

~~~
david927
From 2007:

 _... I 'm sure someone will let me know, probably by tying a nice note to a
nice red brick and hurling it through my window. You should see the email I
get sometimes._

I think you can estimate the maturity of a culture by how easy it is to commit
heresy. There is simply no excuse for how people reacted to his writing. It
reflects poorly on all of us.

Maybe Alan Kay is right that we (the IT industry) are a pop culture, complete
with our own sort of Kanye West.

~~~
kristopolous
You mean full of undeservedly famous and ignored genius?

------
wvenable
> NoSQL data stores in their various incarnations apparently have equalled or
> slightly surpassed RDBMS as of 2014-2015

Wait, what is this based on? Hacker News postings? There is no way that NoSQL
has surpassed RDBMS even among startups.

~~~
jsolson
It would be interesting to know how much data Google stores in traditional
RDBMS versus NoSQL stores (BigTable, Spanner[0], etc.). I could probably track
down this number, but then I expect I wouldn't be able to talk about it after,
so for now I'm saying ignorance is bliss :). I would wager that we're rather
more NoSQL heavy than most organizations, so it wouldn't really be a good
proxy for the industry in general, but it might be helpful for justifying
Steve's claim. It might be particularly helpful if we looked at the workloads
Google runs on NoSQL stores that traditionally would have mandated an RDBMS.

[0]:
[http://research.google.com/archive/spanner.html](http://research.google.com/archive/spanner.html)

~~~
wololongong
Google actually built a RDBMS on top of Spanner:
[http://research.google.com/pubs/pub38125.html](http://research.google.com/pubs/pub38125.html)

~~~
jsolson
Indeed! However, many uses of Spanner are what I would call native. It should
be possible to separate out the two.

------
Frozenlock
> "I had high hopes for Clojure for a while, but they're fairly user-hostile,
> even if they think (and loudly assert) that they aren't."

Is that a prevalent opinion? I'm often in #clojure/#clojurescript and found
the community quite helpful.

~~~
albemuth
I took that to mean the language and tooling were hostile, not the community.

~~~
pbiggar
Would love to hear more about this. AFAICT (from using it every day for 4
years), it's all pretty awesome (except startup time, but that doesn't matter
much because REPL).

~~~
camdez
We're discussing this a bit more on Reddit:
[https://www.reddit.com/r/Clojure/comments/3jjit5/what_does_s...](https://www.reddit.com/r/Clojure/comments/3jjit5/what_does_steve_yegge_mean_by_clojure_being/)

------
temuze
Dan Luu's original post: [http://danluu.com/yegge-
predictions/](http://danluu.com/yegge-predictions/)

~~~
mykphyre
Thanks for posting this. Context is always welcome :)

------
jbreinlinger
I really wish more people would revisit predictions to see how good they were.
Not enough of this. Great job.

~~~
mykphyre
I know exactly what you mean. Most predictions are cast into the wind and only
the ones that are correct are recognized later. Nate Silver talks about this
in his book "The Signal and The Noise"; I highly recommend it.

------
budu3
It's good to see that Steve is back publicly blogging.

~~~
presidentender
Let's not count our chickens.

~~~
bcoates
This is more of a one swallow does not a summer make situation

~~~
presidentender
Yes, but a bird in the hand is worth two in the bush.

------
NhanH
What exactly is multi-threaded programming in this context?

~~~
grayrest
I interpret it as shared state concurrency. That is, multiple threads sharing
the same address space performing reads and writes on shared data: atomics,
mutexes, etc. From the update I understand that he's considering things like
Actors, Communicating Sequential Processes (goroutines), and data partitioning
divide+conquer (MapReduce) approaches as different even if they happen to be
implemented on different threads sharing the memory space.

I'm not sure on the relative prevalence but I can say that I've read
relatively little about what he's calling multi-threaded programming. Mostly
just a handful of lock-free data structures from the C++ guys and Rust's take
on how they can do it while avoiding data races due to the type system. The
alternatives, on the other hand, have been on HN pretty much continuously
since HN started up.

~~~
wvenable
And this is in direct contrast to how much hype there was for programmers to
use multi-threaded programming due to leveling off of single-core performance
and the prevalence of multi-core systems.

------
cpeterso
He should stated at the beginning (or title!) of the post when he originally
made these predictions. You have to read to the very end to see the footer
"(Published Nov 10th, 2004)".

------
lackbeard
Regarding #1: he did mention, offhand, that folks might use json instead of
xml, which is basically what happened.

------
krosaen
Would love to hear more about the assertion that clojure is user hostile. He
last elaborated in 2012 here:

[https://plus.google.com/110981030061712822816/posts/KaSKeg4v...](https://plus.google.com/110981030061712822816/posts/KaSKeg4vQtz)

which basically boiled down to an impression drawn from a conference where a
speaker warned against using macros. I fully accept Yegge doesn't dig clojure,
and perhaps he owes nobody any further explanation, but given his previous
visibility as a champion of lisp and all the cool stuff happening in clojure /
clojurescript, it just doesn't add up; his critiques are incomplete in that
they fail to acknowledge the positives in the language.

~~~
cgrand-net
Ah! So it's my fault…

------
ac29
> Apple Macs only have 13% market share as of late 2014

Can anyone find a source for this claim? The 2 I found [1][2] claim OS X has
about an 8% market share, which is about 40% lower than his claim.

[1]
[https://en.wikipedia.org/wiki/Usage_share_of_operating_syste...](https://en.wikipedia.org/wiki/Usage_share_of_operating_systems#Desktop_and_laptop_computers)
[2] [http://appleinsider.com/articles/15/07/09/new-idc-numbers-
sh...](http://appleinsider.com/articles/15/07/09/new-idc-numbers-show-mac-
sales-up-161-percent-in-june-quarter)

------
dochtman
On number 9:

"Apple's laptop sales will exceed those of HP/Compaq, IBM, Dell and Gateway
combined by 2010"

So, the prediction mentions "laptop sales", but in his grading, he talks about
"Apple Macs only have 13% market share", which I would assume means unit
market share? Given the profit share vs market share dichotomy seen in
smartphones in particular, I'm left wondering if he isn't a bit too harsh on
himself here. It seems likely to me that sales-based market share would
substantially exeed unit market share for Apple Macs; surely Asymco or some
other smart analyst has run the numbers on this?

~~~
phonon
He should definitely give himself more credit...in the US at least, Apple
laptop revenue exceeds that of all Windows laptops combined.
[http://betanews.com/2015/08/12/yikes-apple-laptop-revenue-
sh...](http://betanews.com/2015/08/12/yikes-apple-laptop-revenue-share-
exceeds-windows-pcs/)

------
DKnoll

      7) The mobile/wireless/handheld market is still at least 5 years out.  Nope, it was 3 years out.  iPhone came out in 2007.  Pretty easy to calculate this one.  Score: 0.6
    

Well, when he made the prediction the smartphone market was already there, it
just didn't appeal to consumers. The year of his prediction the Treo 650 was
released which I would argue was the first fully-fledged smartphone (that I
know of, anyway) similar to those we use today. There were also earlier models
of the Treo lacking mobile data. Kyocera made some similar devices as well.

~~~
sampo
> _Treo 650 was released which I would argue was the first fully-fledged
> smartphone_

Or Nokia Commumicators from 1996 onwards.
[https://en.wikipedia.org/wiki/Nokia_Communicator](https://en.wikipedia.org/wiki/Nokia_Communicator)

~~~
DKnoll
That's another good example, although it only had a WAP browser until 2004 as
far as I can tell.

~~~
sampo
It had a web browser already in the year 1996 model.

~~~
DKnoll
Yeah, a WAP browser.

~~~
sampo
No, not just a wap browser, a web browser.

------
idlewords
Substance aside, this is an excellent example of how people will give
themselves partial credit even for unequivocally wrong predictions. The
temptation to double down on your original hunch can be irresistible.

~~~
wzdd
Right -- all the predictions that mention specific percentages, or include
specific dates, are wrong. The ones which are actually correct are the vague
ones ("A new internet community-hangout will appear", "Someone will make a lot
of money by hosting open-source web applications"). This is why fortune
tellers don't mention dates.

The whole point, which Steve himself covers eloquently in his original post,
is not to score the predictions but to talk about the ideas. And if you look
at intent behind each prediction, some of those "partially-correct" ones are
actually completely wrong.

I mean look at these lines on the prediction about the mobile market being at
least five years out: "But the carriers don't know what the hell they're
doing, and the content and distribution models aren't worked out yet, and
won't be for a long time. A lot of players need to get their collective acts
together for the mobile market to take off, and it just hasn't been happening.
[...] Don't get me wrong: it will happen someday. But I think it's not going
to be any time soon. Betcha!" Then Apple told the carriers what they were
doing, and figured out "content and distribution models", and this all
happened within three years, and the reason it happened so quickly is because
Apple didn't rely on any of the large set of third parties and vested
interests which Yegge thought someone was going to have to motivate in order
to make progress.

That prediction was apparently 60% correct. It's doublethink.

------
Jun8
For his 10th prediction: Using the Chebyshev inequality
([https://en.wikipedia.org/wiki/Chebyshev%27s_inequality](https://en.wikipedia.org/wiki/Chebyshev%27s_inequality))
and assuming Yegge means being two sigmas away from mean programming talent to
be "average" (k=2) we see that the probability for this to happen in 0.75 for
_any_ distribution. So most of us _are_ average.

------
jrochkind1
> There was also some discussion on HN about whether I thought NBL was
> JavaScript. Yes indeed I did, and said so on stage at OSCON

NBL?

~~~
edmccard
>NBL?

Next Big Language

------
kriro
I think just the fact that Carmack (and Carmack Jr.) is interested in Racket
deserves a bump from 0.0 to 0.1 for the Lisp prediction.

VR has the potential to become a big and interesting market and one of the
leading tech guys in that field is fascinated by a Lisp. He might just make it
work.

[note: I've never used Lisp for anything just an obvervation]

~~~
Guthur
He is not the first to look at Lisp, and I would surprised if he is the last.

Lisp has some really compelling properties as means of expressing a program.

Unfortunately there is a severe impedance mismatch between Lisp and the Algol
inspired languages of today's mainstream. Overcoming the mismatch is not
difficult but takes effort and so few are willing to expel any real effort;
Carmack is certainly not the sort to shy away from some effort.

I would recommend trying out Racket or Common Lisp if you can. Common Lisp
really need Emacs so if you are not familiar with the editor I would recommend
the former.

~~~
why-el
Can you elaborate further on the efforts needed to close up the mismatch?
Perhaps something concrete to work on today? ;)

~~~
Guthur
The immediate mismatch is the alien nature of the parenthesis delimited
s-expressions. My advice is that if you find yourself editing text as opposed
to the structure of the s-exp or balancing parenthesis manually you are doing
it wrong; Emacs has modes like paredit and smartparens to do it.

The next "culture shock", though I think this has lessened now due to other
languages catching up, is the concept of closures, functions as values, and
higher order functions.

Lisps also tend to be dynamically type so if that is not familiar to you then
it will take some getting used to.

There are other high level concepts such has syntax abstractions (macros) but
that can wait.

And Common Lisp has CLOS which is a different take, compared to the likes of
C++ and Java, on Object Oriented programming.

As for what to do first; I am not really sure, depends on whether it's Racket
or Common Lisp and a lot on what interests you. If you like doing small
algorithmic problems such as the Euler Project then start there.

For Common Lisp there is Practical Common Lisp which is always a good primer.

[http://www.gigamonkeys.com/book/](http://www.gigamonkeys.com/book/)

And Learn Lisp the Hard Way (I am not familiar with it though)

[http://learnlispthehardway.org/](http://learnlispthehardway.org/)

For a Common Lisp implementation I would recommend SBCL if on Linux (your
package manager should have it) and CCL on Windows or MacOS.

SBCL: [http://www.sbcl.org/](http://www.sbcl.org/)

CCL: [http://ccl.clozure.com/](http://ccl.clozure.com/)

Also use quicklisp for grabbing Common Lisp projects, it's alot easier than
doing it manually.

[https://www.quicklisp.org/beta/](https://www.quicklisp.org/beta/)

This might also be useful:

[http://eudoxia.me/article/common-lisp-sotu-2015/#specific-
pr...](http://eudoxia.me/article/common-lisp-sotu-2015/#specific-problems)

Someone else will have to give info on the Racket ecosystem I am not familiar
with that.

~~~
TazeTSchnitzel
> Lisps also tend to be dynamically type so if that is not familiar to you
> then it will take some getting used to.

Eh, dynamically typed languages like JavaScript, Python, Ruby, PHP and Perl
are rather popular.

~~~
Guthur
The comment is obviously aimed at someone who does not use dynamic languages
C++, Java etc.

------
incepted
> 4) Java's "market share" on the JVM will drop below 50% by 2010. Definitely
> hasn't hit 50%. However, Scala has really tremendous adoption

Yeah, not really [1].

[1]
[http://www.indeed.com/jobtrends?q=scala%2C+java&l=](http://www.indeed.com/jobtrends?q=scala%2C+java&l=)

------
Marazan
He's hard on himself over the smartphone start, the orignal iphone had sales
numbers that were a rounding error.

~~~
pavlov
Quite true. The iPhone didn't really take off until late 2008 when iPhone 3G,
the global launch and the App Store happened.

In the first two months, iPhone sales were slacking so much that Apple
suddenly dropped the price by $200 after just two months on the market:
[http://www.nytimes.com/2007/09/07/technology/07apple.html?_r...](http://www.nytimes.com/2007/09/07/technology/07apple.html?_r=0)

~~~
ghaff
I strongly suspect that the vast majority of people--even here--"remember" a
number of Apple's biggest wins as being inevitable from Day One. In fact, as
you say, the iPhone didn't become a must have smartphone until 3G/3GS
timeframes. Similarly, until the 4th gen iPod with the click wheel, the iPod
was pretty much just another reasonably well-regarded, albeit pricey, MP3
player.

~~~
abritinthebay
I think that anyone that doesn't remember the iPhone as being a wild crazy
success was just not paying attention - and the numbers back that up.

The 3GS was when it _exploded_ but it was already a big success by that point.

What people have to remember is the success of the iPhone is practically
_unprecedented_ in terms of adoption. It's incredibly rare to come out and
dominate an industry like that when you're a new entrant into the space.

Even if the iPhone had continued it's July-September sales curve it would have
been a success. It just got _even more-so_ when the other versions came out.

~~~
Marazan
I looked up other phones and really No, the number do not back that up.

The Nokia N95 sold 7 million units in a year after launch, pretty much exactly
the same numbers as the original IPhone.

Unless you are declaring the N95 a wild crazy success you are talking rose
tinted nonsense.

~~~
abritinthebay
I didn't realize Nokia got into the business with the N95... oh wait... (Also
it was a large success for Nokia so that does t help your case much)

Also - either selling 25% of the U.S. market is not a success to you or you
don't understand the market.

------
math0ne
Why isn't this guy a professional writer, hes so good at it!

~~~
fixermark
Professional software engineer at Google pays better, in a probability-of-
income-per-dollar sense.

~~~
Tloewald
The number of writers who make more than a senior Google engineer would be
very, very small.

------
yellowapple
I think he would've gotten a better score on the Lisp prediction if he didn't
specify Lisp and instead went after Lisp-like features. Metaprogramming and
homoiconicity are becoming increasingly popular, as are machine learning
techniques.

~~~
kibwen
Macro systems are becoming increasingly popular (e.g. Rust and Sweet.js), but
arguably neither of those languages is homoiconic in the Lisp sense (though
see also Dave Herman's "Homoiconicity isn't the point"
[http://calculist.org/blog/2012/04/17/homoiconicity-isnt-
the-...](http://calculist.org/blog/2012/04/17/homoiconicity-isnt-the-point/)
).

~~~
yellowapple
By homoiconicity, I was referring to Julia and Elixir, both of which are cited
as being homoiconic (even though some purists disagree).

Also, I think "Homoiconicity isn't the point" misses the point. Homoiconicity
isn't about syntax - indeed, Lisp isn't _technically_ confined to
s-expressions, and was originally designed for M-expressions before folks
realized that s-expressions were much easier to implement - but rather about
the ability to represent a program as ordinary data and to manipulate it as
such. Yeah, I can do all sorts of metaprogramming in, say, Ruby or Perl, but
you won't be able to go very far before you end up passing strings into
`eval`; this is because they're not homoiconic (at least in their current
forms). Meanwhile, the ability of languages like Elixir to actually modify a
program's syntax tree directly - a.k.a. homoiconicity - makes metaprogramming
_much_ easier. The two concepts go hand in hand.

S-expressions happen to be very convenient for defining tree-like structures,
like - for example - Lisp programs. They're not strictly required, however.

------
throwawayaway
he predicted ruby's massive success relative to python over some of that time
stretch in another article. he predicted everyone would be writing code in the
browser instead of emacs & co and i don't think that has come true.

~~~
lgas
Ruby's massive success relative to python? The August 2015 Tiobe index lists
python up to 5th from 7th a year ago, and ruby holding steady at 13th across
both years. I know tiobe isn't necessarily an ideal source, but this fits my
intuition better than your suggestion. Can you elaborate on your perception of
the two?

~~~
jsmeaton
I think that's the point the parent comment is making. That Yegge made two
other predictions that were not even close to right.

------
lazyant
2- Google App Engine and Heroku are not Open Source, can't think of an Open
Source PaaS or one that is Open Source and made somebody a lot of money,

~~~
sciurus
They aren't open source, but people run lots of open source software on them.

~~~
lazyant
I think I'm not smart enough to get it; lots of servers run on Linux so how's
that different?

~~~
sciurus
You don't say "I want to run linux, I'll pay Heroku to do it for me."

You say, for example, "I want to run Wordpress, I'll pay Heroku to do it for
me."

------
alexdowad
I don't care about whether Steve's "score" is 50% or 70% or 80% or something
else. The fact that he was able to come up with these 10 predictions back in
2004 shows he has a whole lot of vision.

Steve, what are your next 10 predictions? Obviously, you're at least 10 years
ahead of me...

------
Double_Cast
> I had high hopes for Clojure for a while, but they're fairly user-hostile,
> even if they think (and loudly assert) that they aren't.

I'm curious as to what this means. In what way is clojure hostile? Is there
some reason I should avoid it?

------
personomas
> But even I don't use Lisp anymore, other than the occasional Emacs hacking.

What do you use? Why don't use Lisp anymore?

~~~
wtbob
Personally, I'm still trying to use Lisp every chance I get. My window manager
is stumpwm (Common Lisp) and my editor is emacs (elisp). Racket definitely has
some very cool ideas, but I just don't like Lisp-1s and I do like the
industrial strength of CL.

The early-to-mid 2000s were an exciting time for Lisp. Practical Common Lisp
([http://gigamonkeys.com/book/](http://gigamonkeys.com/book/)) was coming out;
Paul Graham was writing about how Lisp was a secret weapon; reddit was based
on it. It seemed like the stars had finally aligned.

But then…nothing happened. Ruby captured a huge amount of the hype cycle,
Python captured a huge amount of the pragmatists, and…nothing happened. The
Common Lisp community kept on churning out incredible code, building a better
mousetrap and waiting for the world to beat a path to its door and…nothing
happened. It really is dispiriting to reflect on.

------
brianobush
Any good next ten year predictions? Steve, or anyone else?

------
PaulHoule
Management refuses to believe

Error Prone == Evil

far more than programmers.

------
m0v_eax
He is way off about XML.. It is bloated and tedious to work with. For most
scenarios, there are immensely better alternatives.

For the record, I was heavily involved with XML years ago and helped create a
popular light weight xml-based cms.

~~~
adevine
I think he's saying his main point, though, is that storing objects in a RDBMS
using OR-mapping is a pain in the ass and there will be better ways to do it.
With the advent of NoSql DBs, and the number of DBs that store their data in
JSON, I think this is largely correct. Back in 2004, XML was largely shorthand
for "serialized object". He was wrong about the serialization format, but
right about the overall idea.

~~~
panzagl
People who hate XML never had to deal with variable-length bit field
formats...

