Why should I use Go over Rust, Java, or Python?
Resource usage of google Go vs Python and Java on Appengine - Stack Overflow
How good is GO as a first language over Python?
Go seems to accomplish the Zen of Python way better than Python
Videos
Will google Go use less resources than Python and Java on Appengine? Are the instance startup times for go faster than Java's and Python's startup times?
Yes, Go instances have a lower memory than Python and Java (< 10 MB).
Yes, Go instances start faster than Java and Python equivalent because the runtime only needs to read a single executable file for starting an application.
Also even if being atm single threaded, Go instances handle incoming request concurrently using goroutines, meaning that if 1 goroutine is waiting for I/O another one can process an incoming request.
Is the go program uploaded as binaries or source code and if it is uploaded as source code is it then compiled once or at each instance startup?
Go program is uploaded as source code and compiled (once) to a binary when deploying a new version of your application using the SDK.
In other words: Will I benefit from using Go in app engine from a cost perspective?
The Go runtime has definitely an edge when it comes to performance / price ratio, however it doesn't affect the pricing of other API quotas as described by Peter answer.
The cost of instances is only part of the cost of your app. I only use the Java runtime right now, so I don't know how much more or less efficient things would be with Python or Go, but I don't imagine it will be orders of magnitude different. I do know that instances are not the only cost you need to consider. Depending on what your app does, you may find API or storage costs are more significant than any minor differences between runtimes. All of the API costs will be the same with whatever runtime you use.
Language "might" affect these costs:
- On-demand Frontend Instances
- Reserved Frontend Instances
- Backed Instances
Language Independent Costs:
- High Replication Datastore (per gig stored)
- Outgoing Bandwidth (per gig)
- Datastore API (per ops)
- Blobstore API storge (per gig)
- Email API (per email)
- XMPP API (per stanza)
- Channel API (per channel)
I am doubting between Go, Python and Java as a first language. Looking for pure programming + web development later.
Looking for easy, concise and future proof language.