Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google App Engine - Go vs. Python recommendations? [closed]

I'm looking into writing my first application of Google App Engine. C# is my 'native' language, and so writing the app in Java would of course be most logical. BUT, I'm a geek and would like to take to opportunity to learn something new.

Therefore its a toss-up between Python and Go.

  • Do you have a strong preference based on experience (ideally in the context of writing on App Engine).
  • If you've come from C# (or another similar language), how was the transition?
like image 746
isNaN1247 Avatar asked May 29 '11 08:05

isNaN1247


People also ask

What is the latest Python version that can be used for App Engine?

The Python 3.10 runtime is capable of running any framework, library, or binary. Optimized to scale nearly instantaneously to handle huge traffic spikes.

Is App Engine always running?

App Engine attempts to keep manual and basic scaling instances running indefinitely. However, at this time there is no guaranteed uptime for manual and basic scaling instances.


2 Answers

The recently-released Go runtime for App Engine is labelled experimental for a reason: Both Go and Go-on-appengine are new and in a state of change.

If you want to experiment with Go and running Go apps in the cloud, go for it. If you want to write a production app on App Engine, use Python or Java.

like image 152
Nick Johnson Avatar answered Nov 01 '22 18:11

Nick Johnson


This question is about as subjective as they come, but I'll bite anyway.

Python is easier to learn, has a much larger development community, is mature, and has a lot of third-party libraries available for you to integrate into your application. It's a winner for sure.

That said, Go is an extremely well-designed language. Far, far more so than Python. Go was specifically designed to allow you to catch most mistakes at compile time, while Python is almost legendary for its ability to mask your mistakes. Go code tends to be easier to maintain. Go is also dramatically more efficient than Python -- several times faster or even several orders of magnitude faster, depending on what you're doing.

Both languages are very powerful and very fast to write code in -- you can accomplish a lot in a short amount of space. But Go is unfinished and still in a state of flux, with core APIs still changing. It has a comparatively small developer base, and very few "real world" usage examples. Nonetheless, even this early in its development, it's already shown to be a compelling alternative with a clear use case.

like image 40
tylerl Avatar answered Nov 01 '22 17:11

tylerl