MANDY WAITE: Another
one for you.
Another performance.
So, what is the performance
difference between GAE Python,
GAE Java, and GAE Go?
FRED SAUER: OK.
Fair question.
This is actually one that
comes up a lot.
It's a question that I try
at first not to answer--
MANDY WAITE: Right.
FRED SAUER: --and then I'm
happy to give an answer.
But I'd like to start out
and say there are subtle
differences between the three
different runtime
environments.
Python--
if you write any application in
Python versus Java versus
Go, there are some things that
work better in one language
versus another.
What's probably much more
important for your
application, for your service
that you're running, is what
your developers know and where
they're going to be
productive.
So if you have a Python shop--
everyone knows Python really
well, and there's one or two
guys that know a little
bit of Java--
even if Java were slightly
better for your application,
you're going to be much more
productive building in Python,
so you should do that.
And the same goes the
other way around.
Having said that, if all things
were equal, if you
hadn't hired any development
staff yet or you could pick
any language or you just want to
learn something new, there
are some trade offs to make.
And maybe you should look at the
complexity of the product
that you're building and how
long it's going to last.
Python is a scripting
language--
tends to be a little more
productive for people
prototyping, iterating
in small teams,
kind of working together.
Let's you be very agile.
You can do things
very quickly.
If on the other hand, you're
building a product and you
have a very large development
team or a very complex code
base-- you're doing a lot of
refactoring and you could use
some help from tools that can
kind of refactor your code, do
static analysis--
then Java is probably a
language that's more
productive.
And if you want to do something
that's really
performance sensitive and you
want to build with the stuff
that Googlers are building on, I
would seriously check on the
Go runtime.
There's some really pleasing
results there.
Having said that, it's an
experimental runtime still, so
if you're building a production
app, right now
probably Java or Python.
Pick the one you'll
be in productive.
MANDY WAITE: So retraining your
Java developers to work
in Go is probably not the best
way to get performance?
FRED SAUER: Unless that's
what motivates them.
And for some people, a new
language is the thing that
wakes them up in the morning,
more so than a cup of coffee.
For other people, it's being
able to be productive and hit
the ground running.
MANDY WAITE: Excellent.
OK.
Good advice.
