4 ms·
An Introduction to Google's Go Programming Language
- zsouthboy 17y agoGoroutines seem nifty as hell; is anyone here using Go for anything yet? Pet projects? How mature does it seem?
- jxcole 17y agoI have used Go for some minor project work. I used it for a while to generate images of ring patterns that were meant to be like wood (it never went any where). I also made a simple web page using their template language and http server. This didn't really work. I found their template language to be clunkier than what I am used to in PHP. Also, I like having my hosting software (Apache) separate from my script (PHP), though I suppose that is a matter of taste. In all, I would say that the language of go is superb, but it still needs some development in it's libraries. Once it picks up a little more I will probably use Go for most of my projects. I haven't used another language I like more.
- j-g-faustus 17y agoI've been using Go for a few hobby projects, and I like it so far. It's considered beta, and parts of it has changed once or twice since I started using it late last year, but it's stable enough for hobby projects. I haven't had any issues myself, but they don't recommend using it for production systems yet. I believe goroutines are the "killer feature", they beat alternatives like Java threads and multiple Ruby processes hands down. Among the languages I know, Go and Erlang are the primary contenders for the "most convenient multithreading" prize. Go aims to have the "simplicity of a dynamic language with the performance of a static language", I'd say they are reasonably close to that goal. For my purposes, Go doesn't replace Ruby/Python for shell scripts and quick prototyping, but it is a much nicer alternative to Java and C for performance.
- notnoop 17y agoScala has pretty nice concurrent programming support with its actors, which can even run distributed across machines: http://akkasource.org/ http://akkasource.org/ . Scala actors are modeled after Erlang.
- stevejohnson 17y agoSome friends and I are building a specialized database in Go as our senior project in college. Our code has lots of fiddly bits and currently weighs in at about 4,000 lines of Go (4,000 more of Python) with a lot more code on the way. We plan to release parts of it this summer. So far, the language feels great. After a week of regular use, it feels very natural. Error reporting is wonderful. As mentioned elsewhere, library support is lacking, but it's been a good experience for us to build a lot of that stuff ourselves. The interface and package systems feel just right. We will likely try to contribute to the standard library in the future. The only thing we're really missing is generics. We are having trouble generalizing some data structures and ended up duplicating some for multiple data types. I hear that those issues will go away this year, though.
- zsouthboy 17y agoHow's calling go from Python (and vice versa)? Did you have to roll something or is there something already available? Python for UI and non-perf sensitive stuff and Go for the under-the-hood stuff seems like the perfect mix for my future pet projects(having not used Go yet; perhaps that will change).
- stevejohnson 17y agoWe are simply passing JSON back and forth over Unix pipes. JSON support in both languages is great.
- enneff 17y agoThat sounds like one of the largest projects undertaken in Go so far. I'm excited to see how it turns out - please keep us posted in golang-nuts! :-)
- stevejohnson 17y agoWe haven't been following go-nuts, simply because we haven't had the time. I hope to write a comprehensive postmortem in May. I'll be sure to join the list at that point.
- marketer 17y agoI've been using it a lot. I've built a couple Facebook apps with it and they're running great. Recently the language got exceptions, which makes writing robust services a lot better.
- enneff 17y agoI'm interested to hear more about this, particularly: - what does it do? Serve HTTP requests? Does it persist state in a database? If so, what kind? - how is it deployed? Running on a VPS somewhere?
- ajstarks 16y agoI've written a library for the generation of SVG. Code: http://github.com/ajstarks/svgo http://github.com/ajstarks/svgo Examples: http://www.flickr.com/photos/ajstarks/sets/72157623441699483/ http://www.flickr.com/photos/ajstarks/sets/72157623441699483...
- malkia 17y agoI've did a small application called "go runner" - instead of writing Makefile to run the .go application - it's kind of smart and does it for you - just type "go something" and it would compile (if needed) and run it, if "something.go" requies other .go modules it would compiled them too. It's basically using the Go's own libraries to parse the given .go file, and detect what additional files needed to be compiled. http://github.com/malkia/go-runner http://github.com/malkia/go-runner But that won't compile with latest Go. I've stopped using Go, as I got busy with other things, but might come back at it.
- johngunderman 17y agoA friend of mine actually forked a project that is similar to what you describe. I believe it currently can build most Go projects, with the exception of libraries and Go code that calls C. Here's the link to his fork: http://github.com/timtadh/gobuild-fork http://github.com/timtadh/gobuild-fork
- stevejohnson 17y agoTim is also working on the project I mentioned elsewhere in the comments. We couldn't find a build tool we liked, so he forked gobuild and made a series of changes to make it more functional. We will try to get the maintainer to pull from us when we are sure the whole thing is stable and documented.
- jongraehl 16y agobad taste in names: type FloatArray []float type StringArray []string type Interface interface {