You know, every time I see some Googler shocked at the effectiveness and various advantages of coding in Go, I wonder why Google never adopted Erlang. They could have been getting all these same advantages (and then some) a decade ago :)
Rewriting a large production system in Go
141–150 of 196 posts
Re: Rewriting a large production system in Go
#142> If I could get out of the 1970s and use an editor other than vi, maybe I would get some help from an IDE in this regard, but I staunchly refuse to edit code with any tool that requires using a mouse. So you've shown that Go is appealing to rigid curmudgeons. Personally I'm still hung up on the "every function (edit: that does anything which might itself return an error code, which in large scale code is quite a lot…
Re: Rewriting a large production system in Go
#143The number of strongly typed garbage collected compiled languages is surely shrinking. I can understand someone's disgust towards Java considering dwindling velocity in adding next-gen features and now sleeping in same bed as lawyer run Oracle. That pretty much had left C# in the arena until Go came on the scene. I was honestly hoping Go would give us head-to-head battle with C# but from initial looks Go pretty much…
I'd take a second look at Go. It has a number of innovations over C# - and of course also a number of shortcomings. It's quite a different language, much more so than Java compared to C# (1.0 even). A couple of things of the top of my head: * goroutines and efficient multithreading, both in terms of syntactical constructs and language implementation. Go doesn't have await/async because it fundamentally doesn't need t…
Re: Rewriting a large production system in Go
#144Earlier quoted context omitted.
Obviously, but the author is smart enough to acknowledge this and take it into consideration. So.. what's your point?
Original production code is messy, especially the ones that have been maintained over the years through multiple requirement changes. A rewrite will make those messiness go away, for now, regardless on languages used.
Re: Rewriting a large production system in Go
#145Earlier quoted context omitted.
What would the static analysis that "vet" is performing enforce to stop this? No interface-to-interface downcasts?
eventually, within the context of the `go vet` tool, the http://godoc.org/code.google.com/p/go.tools/go/types package may be used to analyze interface conversions ("I said I expected interface type A, but I'm using it as interface type B", which is unusual for go programs). i think that answers "yes" to your second question, but I'm not on the go team, so take my opinion with a grain of salt. short of disallowing int…
Re: Rewriting a large production system in Go
#146Earlier quoted context omitted.
The joke goes, "If every other line of code you write starts with 'if err != nil', you might be a Go programmer."
No, we can just see the "if err != nil". It's still there in Java or Ruby or Python, lurking in the notional space between the lines and waiting to branch to an exception handler you installed in the caller's caller's caller.
Re: Rewriting a large production system in Go
#147Earlier quoted context omitted.
> Now, quite possibly as consequence of the litigation, Java developers targeting Android have to live with Java the language version 6 forever. I suspect this was one of the motivations behind Dart.
Actually I did wonder about it at this year's Google IO, as it was hinted Dart is being used for some projects that would be in due time revealed. That is actually the only way I see any future for Dart.
Re: Rewriting a large production system in Go
#148Earlier quoted context omitted.
I did, and to be honest it is not much different than Microsoft with Visual J++. Without the "Google is cool glasses" on, I came to the conclusion that Google just took enough care to avoid all the legal traps that could make them loose a suit like it happened to Microsoft.
The president of Sun himself praised Google's Dalvik initiative. What legal trap were they trying to avoid here? http://www.techdirt.com/articles/20110724/11263315224/oracle...
From James Gosling himself,
http://nighthacks.com/roller/jag/entry/my_attitude_on_oracle...
> Google totally slimed Sun. We were all really disturbed, even Jonathan: he just decided to put on a happy face and tried to turn lemons into lemonade, which annoyed a lot of folks at Sun.
Re: Rewriting a large production system in Go
#149The number of strongly typed garbage collected compiled languages is surely shrinking. I can understand someone's disgust towards Java considering dwindling velocity in adding next-gen features and now sleeping in same bed as lawyer run Oracle. That pretty much had left C# in the arena until Go came on the scene. I was honestly hoping Go would give us head-to-head battle with C# but from initial looks Go pretty much…
Yep, Go would be hardly mentioned here if it wasn't being developed at Google. Having said this, Go can be a nice replacement for many use cases one would use C for.
"Yes, C would be hardly mentioned here if it wasn't being developed at Bell Labs."
Re: Rewriting a large production system in Go
#150Earlier quoted context omitted.
I'd take a second look at Go. It has a number of innovations over C# - and of course also a number of shortcomings. It's quite a different language, much more so than Java compared to C# (1.0 even). A couple of things of the top of my head: * goroutines and efficient multithreading, both in terms of syntactical constructs and language implementation. Go doesn't have await/async because it fundamentally doesn't need t…
Did you ever actually use Go for a few minutes? Most of these bullet points are plain wrong.