Live data from Hacker News

Google App Engine for Go

code.google.com

41–50 of 73 posts

Re: Google App Engine for Go

#41
State my assumptions: GAE allows you to deploy multiple versions of your app and access the same datastore. Go should significantly out perform Python for certain CPU intensive tasks.

...

If Backends are available at versioned URLs too (and I suspect they do/willdo) then there might be nice opportunities to build little Go Backends to do heavy lifting within your main Python applications. Sounds cool.

Re: Google App Engine for Go

#42
post #19

It looks like this is still going to be limited to HTTP (port 80) web applications. So you won't be able to run a process like Doozer that communicates with other ports/protocols. EDIT: More details from the docs at http://code.google.com/appengine/docs/go/runtime.html An App Engine application cannot: -write to the filesystem. Applications must use the App Engine datastore for storing persistent data. Reading from t…

yeah, app engine is pretty limited in that regard. that's why my current go webapp (which needs to send sms and IM) won't run on the app engine. ec2 ahoi ...

Re: Google App Engine for Go

#43
post #40

Earlier quoted context omitted.

People keep touting this, but the actual number of cases where you really want this is actually pretty limited.

With robust server-side javascript... its not hard to see the application of this. It is easier to generate executable javascript for the client on the server in javascript itself. Certainly in Web2+ you want this for increasingly dynamic behavior?

I do want more dynamism, but I don't see why you should be passing and executing arbitrary code from a source you can only verify with the greatest of difficulty. And having executable code be your communications protocol seems like an absolute nightmare if anything goes wrong. Hell, just versioning it will be hard. It might work for some simple demo apps, but I seriously question the wisdom of such an approach with a team who's size is >1.

Why not pass Json, and write your client code. It's not like Node is so expressive that it's a big win on server side code (especially with the flood of great altjvm & altclr languages these days).

Re: Google App Engine for Go

#44

Go's a System language. Doesn't that mean it's more suitable for writing a web server, database, driver or OS than as a web site scripting language? I mean, no one would write System code in PHP, and it's rare to see web sites written in C, so why write a website in Go?

Go turned out to be a pretty nice general purpose language. You got garbage collection, sane native string handling, native maps and lists. Mix that with static typing and you got a pretty nice language that enables fast and sane web development.

Re: Google App Engine for Go

#45
post #8
post #6

Any advantage (performance? memory use?) for using Go vs. Python? Or is just programming language preference?

I've been enjoying using Go as a C replacement when I need more performance than Python, but don't actually need to use C. It's been fine for that purpose. I would note that they do keep changing the syntax on a fairly regular basis, the libraries are still young, and I do find the language oddly unexpressive in places compared to even C++ with boost. (E.g., no ternary operator, no list comprehensions, using the same…

Have you looked into other Python performance solutions like Cython which lets you add type declarations to Python code, and compile it into a C/C++ module?

In my tests, it produces speedups on numerics that put it within spitting distance of hand-tuned C.

Re: Google App Engine for Go

#46
post #6

Any advantage (performance? memory use?) for using Go vs. Python? Or is just programming language preference?

For me it's only preference at the moment. My Go code isn't that performance critical that I couldn't implement it with Python. But having not to put up with the whitespace/indentation hell of python is a great relief.

Though the Go ecosystem is nowhere near Python's.

Re: Google App Engine for Go

#47

It's going to be a tough sale for Google to convince people to adopt Go for their web apps when Node.js is taking over that scene. With Node I get the best of two worlds: high concurrency and speed -- presumably the top two selling points for using Go with web apps -- without having to teach myself yet another programming paradigm. Everyone and their mother knows some Javascript; good luck hiring help for your Go-bas…

> good luck hiring help for your Go-based startup.

If you're unable or unwilling to become fluent in a new language (especially Go, which isn't that difficult to learn), there is no way I'd hire you to program in any language.

Programming ability is multi-dimensional: not everyone is a top-notch as programming language geek AND an algorist AND an architect/designer AND systems hacker. Nonetheless, a programmer should have some aptitude in each of these areas, even if they shine particularly in only one.

A more eloquent summary of this thesis can be found at:

https://twitter.com/#!/moonpolysoft/status/19553333429

Re: Google App Engine for Go

#48
post #35
post #9

Earlier quoted context omitted.

My general feeling is that Go is kind of like a lighter Java. Go is compiled, but also optimized for fast compile times, and it should be faster than python. However, from wikipedia: "Of features found in C++ or Java, Go does not include type inheritance, generic programming, assertions, method overloading, or pointer arithmetic." Ken Thompson is a co-creator, and the language came from Google. I think Google is just…

> However, from wikipedia: "Of features found in C++ or Java, Go does not include type inheritance, generic programming, assertions, method overloading, or pointer arithmetic." For many people (including me) the lack of all this "features" is a feature in itself. I certainly have not missed any of them.

I miss the occasional pointer arithmetic in string manipulations. But that's all I miss of the mentioned features.

Re: Google App Engine for Go

#49
post #38
post #32

Earlier quoted context omitted.

With Node I get the best of two worlds: high concurrency and speed With Node you still need to write in an event-based style, which is something devs often complain about working with Node.js. "With goroutines and channels, you can say 'I'm going to send a message to another goroutine or wait for a message from another goroutine', but you don't have to actually leave the function you're in to do that," Gerrand says.…

It's going beyond cute and getting into downright tedious that the Node.js crew think they have some sort of unique lock on concurrency and speed, when instead they are late to the party with an inferior implementation . This meme needs to die. I'd take Go in a heartbeat over Node.js for anything remotely non-trivial.

[deleted]

Re: Google App Engine for Go

#50
post #35
post #9

Earlier quoted context omitted.

My general feeling is that Go is kind of like a lighter Java. Go is compiled, but also optimized for fast compile times, and it should be faster than python. However, from wikipedia: "Of features found in C++ or Java, Go does not include type inheritance, generic programming, assertions, method overloading, or pointer arithmetic." Ken Thompson is a co-creator, and the language came from Google. I think Google is just…

> However, from wikipedia: "Of features found in C++ or Java, Go does not include type inheritance, generic programming, assertions, method overloading, or pointer arithmetic." For many people (including me) the lack of all this "features" is a feature in itself. I certainly have not missed any of them.

You don't miss generics? In my limited time working with Go, the lack of generics felt like a glaring hole in the language. That said, maybe that feeling goes away as you spend more time with Go, and perhaps learn to program it more idiomatically.
Post reply on HN