A highly debatable (and hotly debated!) subject, is the choice of
programming language -- me, I'm a Python fan (my vanity license plate is
P-heart-THON -- the heart sign looks a bit like a Y and, of course, stands
for "love":-) so my take will no doubt be biased towards Python -- just as
that of a Java fan will be biased towards Java, and so on.

So, it's important to also check out many such comparisons on the web, such
as
https://www.quora.com/Could-you-give-a-quick-comparison-of-Java-PHP-Python-Ruby-Javascript-for-non-programmer
-- each will come from a different viewpoint, so, by integrating over all
of them, you should be able to balance out the various biases.

One aspect not really covered in such comparisons is the App Engine
specific one, so let me focus on that. All four languages are of course
supported in GAE, but they have different histories and may present
different pluses and minuses.

Generic comparisons will often say that Java is the fastest of the four,
but, while that may apply to ongoing computations, on App Engine (by what
I've measured and benchmarked myself -- I don't believe there's any
official set of numbers), it doesn't apply to starting up a new instance.
Depending on the dynamics of user accesses to your web app, this may be a
rare occurrence, or a very frequent one (for example: you may choose, at a
cost, to keep many idle instances around to serve surges of traffic without
paying the starting up price -- or, to reduce costs, you may go the other
way, but then starting up time is meaningful).

For starting up, by my own measurements on App Engine, Java's actually the
slowest of the three languages I've benchmarked -- considering that the JVM
running your Java program is a functionality-rich, "heavy" environment,
that's not surprising.

At the other extreme, Go is the only one of the four languages that gets
compiled to machine code to run on App Engine (each of the other three uses
an underlying bytecode interpreter, or virtual machine as Java
traditionally chooses to call its own bytecode interpreter) and, perhaps as
a result, in my benchmarks it showed the fastest starting-up behavior.

Python's in the middle (I have not benchmarked PHP).

Another consideration is the different history and thus functional richness
of the various runtime environments on App Engine. The Python runtime has
been around longest, and for years it enjoyed the advantage of Guido van
Rossum, Python's creator, working at Google in the App Engine team to
update and improve it -- many Python runtime features, such as the ndb
package for access to the datastore, are Guido's handiwork, and of course
nobody could be better placed than him to optimize for the architectural
strengths of both Python and App Engine. Java came next, and Go was third
-- PHP is the most recent addition to the group.

Last, but not least, you can get a subjective impression of how easy or
hard, how natural or otherwise, each language and its interface to App
Engine services comes to you PERSONALLY, based on your existing experience,
skill, even personality. Just walk through each of the "getting started"
tutorials, one per language -- Python's is at
https://cloud.google.com/appengine/docs/python/gettingstartedpython27/introduction
, and it immediately links to the other three.

Happy experimenting, and happy App Engining!-)


Alex


On Sun, Nov 15, 2015 at 8:33 AM, Chris Ketchell <[email protected]
> wrote:

>
> Im very familiar with Visual Basic so Im wondering which would be the best
> pplatform for me to use
>
>
>
>
>    - Python <https://cloud.google.com/appengine/docs/python>
>    - Java <https://cloud.google.com/appengine/docs/java>
>    - PHP <https://cloud.google.com/appengine/docs/php>
>    - Go <https://cloud.google.com/appengine/docs/go>
>    -
>    -
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/google-appengine.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/google-appengine/c718ad39-4bfc-45c2-92e9-8092b61a3a3d%40googlegroups.com
> <https://groups.google.com/d/msgid/google-appengine/c718ad39-4bfc-45c2-92e9-8092b61a3a3d%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/CAE46Be-5vde358SsgOjyvpTMJ4RxcFq0kJpqcx4OpbeEhrdVrg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to