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.
