Live data from Hacker News

Go is amazing, period.

poincare101.blogspot.com

61–70 of 241 posts

Re: Go is amazing, period.

#61

As someone who is 38, and has programmed in everything from 6510/68k/MIPS/ARM assembler to C/C++ to ActionScript/haxe/JavaScript to D to Python, et al, I also think Go is pretty great. In addition to the cool things in the language, I really love what they are doing with the build system. The Go programming I've been doing has been on Windows but targeting an ARM CPU (the PXA168 in the Chumby 8 device) and cross-comp…

You have to build the standard libraries and cross compilers first. I've seen this pair of zsh functions around. It will build the necessary bits and will also build for win/mac/linux/freebsd in simple projects and zip up the results for distribution (You can link to the raw zips then on github). For others looking to do this with go: https://github.com/colemickens/scripts/blob/master/dotfiles/... (Minor editting is needed due to some assumed values $ARCH, $OS, etc)

Re: Go is amazing, period.

#62
post #42

Here's a summary of the article: * author cannot write portable C sockets code * author cannot handle C/C++ * author believes his app would be too slow in Python, later abandons App, but retains his bias against Python * Go has no parens for if/for * Go has unicode support * Go has closures "like salt shakers" * Go is cohesively designed * Go has nice libraries Go may or may not be a good language, but this kind of a…

Wow. 1. Have you written or debugged C sockets code? Because if you have, I doubt you would be dinging him on not wanting to do that. 2. He doesn't want to handle C/C++. I would say that most people who write application code are with him. 3. Yeah... I'm pretty sure Python, an interpreted language, is slower than Go, a compiled language. Even with the progress PyPy is making, I doubt it's going to beat Go. The author…

PyPy is an optimizing JIT compiler; 6g/8g is not an optimizing compiler. I'm pretty sure one could construct examples in which PyPy beats Go for this reason (try something that relies on loop-invariant code motion, for example).

Additionally, PyPy has many garbage collection algorithms, while Go has a stop-the-world mark-and-sweep collector.

Re: Go is amazing, period.

#63
post #38

Earlier quoted context omitted.

I completely disagree. My goal is to build better systems, and if an evolutionary change helps this, then that's where I'm going. You seem to value "breaking the mold" for the sake of "breaking the mold" Or, you didn't give a good reason to value it. "that stuff is already more than 40 years old.". Is this the fashion industry? Or do you believe that quality is a function of age?

I agree with your goal. But the parent is correct in that learning a really different language will help you become a better developer and thus build better systems.

That isn't the only thing he said. I'm all for learning different paradigms, but he made a much different argument.

"i truly believe go contributes negative work to society"

Re: Go is amazing, period.

#64
post #55
post #25

Earlier quoted context omitted.

Go has the advantage of being developed by Rob Pike and Ken Thompson. It also potentially has the marketing muscle of Google behind it, although the most I've seen so far is free stuffed Gophers at OSCON. Type safety, easy concurrency, static checking, C-like syntax, fast compilation time, concise syntax, etc. Java is ripe for replacing as the default language for (new) large systems. The replacement could be another…

Depends what you mean by type safety. If by type safety you mean free from segfaults, Go is very much type-unsafe (send a map over a channel, access it concurrently, and it will segfault).

Maybe I'm mistaking terminology but that doesn't seem like a type issue you're describing.

Re: Go is amazing, period.

#65
post #59

Earlier quoted context omitted.

Windows port details? I start at golang.org, link to http://golang.org/doc/install.html . Says "A port to Microsoft Windows is in progress but incomplete." That in turn links to the world's least helpful wiki page: Page "WindowsPort" Not Found. Where do I find out more about the Windows port?

Go 1 is about to be released. See the install docs for Go 1 at http://weekly.golang.org/doc/install - these include windows instructions.

Thanks. If I was somehow supposed to know about the weekly site, I failed.

Re: Go is amazing, period.

#66
post #55

Earlier quoted context omitted.

Depends what you mean by type safety. If by type safety you mean free from segfaults, Go is very much type-unsafe (send a map over a channel, access it concurrently, and it will segfault).

Maybe I'm mistaking terminology but that doesn't seem like a type issue you're describing.

There's no one definition of type safety. It ultimately depends on what your type system is trying to enforce. I strongly suspect, however, that most programmers expect "type-safe" languages to enforce memory safety, and that Go's lack of memory safety is surprising in this context.

Re: Go is amazing, period.

#67
post #28

Earlier quoted context omitted.

Are you processing data using 4000 threads? Do you have access to a cluster? Otherwise it seems counter-productive. BTW, Python has great facilities (IPython.parallel) for doing parallel and distributed computing. It is also pretty good at number crunching using Numpy.

Goroutines are multiplexed onto a set of threads defined by the Go program. They're not each a full thread; it's more like Stackless Python's version of threads. http://www.stackless.com/

Good point. Since the OP was talking about execution speed, I thought he was using the word thread to refer to OS threads.

Re: Go is amazing, period.

#68

Earlier quoted context omitted.

I've used web.go successfully before; its quite nice.

What's it like to use a compiled language for a web server?

Because the Go compiler and linker are so darn fast, the extra compilation step is just a blip. It's not like working with Java or C++.

Re: Go is amazing, period.

#69
post #34

I have'nt managed enough time yet to familiarize myself with Go, but the little that I have glanced at, it seems a nice enough language for scientific computation. The syntax and semantics of arrays are nice and binding to C is purportedly simple. Ease of binding with Fortran would have been nice too. So I find it a bit strange that I never hear of Go in the context of array based computation, that is the stuff peopl…

Thus far you barely hear of anyone using Go in any context, though that is changing. I think the primary reason for the lack of users has been language stability. The Go team are currently working on the first actual "release" of the language ("Go 1") to address this. But prior to the move towards Go 1, the language was very much in flux, more so than you'd want for a language (that you'll actively be maintaining cod…

> And gofix, while nice, isn't really a substitute for language and standard library stability

I agree with you in principle but practically, gofix (+ gofmt) it is pretty darn close. I revisited a Go project that I wrote back when it first came out (in other words, an ancient one :). Biggest pita was dealing with the 'error' changes that gofix couldn't fix (and some minor pain due to time and Duration), but everything else was taken care of by the tool.

In any event, my understanding is that the Go authors will strategically depend on gofix to deal with language evolution (beyond "Go 1").

I've been coding since '82 and have had my share of PLs. Go is a serious contender and I highly recommend it to anyone looking for a "modern" C.

Re: Go is amazing, period.

#70
post #59

Earlier quoted context omitted.

Go 1 is about to be released. See the install docs for Go 1 at http://weekly.golang.org/doc/install - these include windows instructions.

Thanks. If I was somehow supposed to know about the weekly site, I failed.

Nope, there's no way you could have known.

We've been working on Go 1 for about six months now, but have resisted pushing people toward the weekly (unstable) snapshots until the most recent one, as the documentation story was incomplete and we didn't want to leave newbies out in the cold. We're nearly ready on all fronts now, and hope to pull the pin on Go 1 before the end of the month.

Post reply on HN