Earlier quoted context omitted.
A seasoned Java developer is expected to have worked with one of the mainstream ORM like Hibernate or Ebean. But a Go developer gets away with not having to know an ORM because there is no mainstream ORM in Go. :)
So what, the lack of a mainstream ORM implies "So there is really nothing to learn besides the language itself"? I don't think so. And there's probably more to a lack of an ORM other than "Go is immature." It's a fairly common opinion among the Go community that ORMs are not worth their complexity. I tend to share that opinion myself, after having worked with a few in a couple different languages.
How We Went from 30 Servers to 2: Go
351–360 of 511 posts
Re: How We Went from 30 Servers to 2: Go
#352Earlier quoted context omitted.
It's quite strange to me that people would identify as or look for a "[language] programmer". Sure, I happen to write more C++, Python, and C than anything else, but I've dabbled in just about everything and could reach comfortable proficiency in a matter of weeks. Most of programming and all of computer science is universal. Any serious programmer should be a polyglot by default.
What, you don't know about The Programmer Hierarchy? https://news.ycombinator.com/item?id=1622553 http://lukewelling.com/wp-content/uploads/2006/08/programmer... I find a lot of people who use high-level languages are terrified of tediously direct contact with the machine, and a lot of people who use low-level languages are terrified of the performance costs of abstraction. I'm terrified of both. I think that in gene…
Re: How We Went from 30 Servers to 2: Go
#353Re: How We Went from 30 Servers to 2: Go
#354Earlier quoted context omitted.
Comments like this are weird. Go does not like exceptions. They've built a whole idiom around error returns. When you said, "I need exceptions", what did you expect them to say? "Oh, sorry, we forgot that, we'll get right on it"? I also don't understand what you mean by "interactive debugger". What is gdb if not an interactive debugger? Gdb is my go-to debugger for Ruby as well.
Something like RubyMine IDE debugger or Firebug javascript debugger. If you are a Ruby developer then I highly recommend trying out RubyMine. I promise that you will never debug Ruby code using gdb again!
That's not for the go team to develop.
> If you are a Ruby developer then I highly recommend trying out RubyMine. I promise that you will never debug Ruby code using gdb again!
I haven't used RubyMine, but I have used Visual Studio and Eclipse debuggers, and I still debug using gdb, ruby-debug, pdb et al.
Re: How We Went from 30 Servers to 2: Go
#355Earlier quoted context omitted.
It's pretty typical of the Plan9 mentality. See this post on the Acme text editor: http://9fans.net/archive/2008/08/134
wow, worse than the irc python channel.
- How do I do this?
- Why do you want to do this?
- Because XXX
- Then that's not really what you should be doing, it's dangerous/inefficient/etc., do this instead
The post about Acme could have been a one-line answer: "If you want do do any of this, just use a better editor".
Re: How We Went from 30 Servers to 2: Go
#356I was originally very excited about Go when I first learned about it. But then I got tired and frustrated quickly after having to listen to the other Gophers telling me that I don't need this or that feature because there is a better way to do it in Go. Like. I don't need exceptions because Go function can return multiple values. I don't need a mocking framework like Mockito because Go has interfaces. I don't need an…
Comments like this are weird. Go does not like exceptions. They've built a whole idiom around error returns. When you said, "I need exceptions", what did you expect them to say? "Oh, sorry, we forgot that, we'll get right on it"? I also don't understand what you mean by "interactive debugger". What is gdb if not an interactive debugger? Gdb is my go-to debugger for Ruby as well.
Unless you are debugging the ruby process(and not the running script), what does gdb buy you over ruby-debug?
Re: How We Went from 30 Servers to 2: Go
#357What changed in the architecture? It is rather interesting that by just having a language change you could remove 28 servers from the system.
I chuckled at "just a language change". What could be more expensive than rewriting all you code? For many Rails web apps the cost of additional servers is far below the cost to rewrite things in Go.
Obviously, the economics of a rewrite depend very much on the size and complexity of the code base, but it didn't sound like they had a huge code base at the time of the rewrite.
Re: How We Went from 30 Servers to 2: Go
#358Earlier quoted context omitted.
By this definition, Ruby/Rails are pretty crappy (I kind of disagree). As a newcomer, the amount of stuff going on in a Rails app and the stack trace when there's an error are pretty overwhelming. Meanwhile, people expound on how simple and elegant Rails is. Lately I've been thinking that this is because those people started using it 5 years ago when it was small and their knowledge has built incrementally with the e…
Rails is pretty crappy if you ask me. It's "omakase" which is Japanese for "acts according to what DHH wants despite what the community wants". And there's a lot of magic happening that isn't explained very well. There are better frameworks in Ruby. Ruby itself doesn't take all that long to be an expert at.
This sounds great. I'd hate software made in the way some "community" wants. Community is the other name for committee.
Re: How We Went from 30 Servers to 2: Go
#359Earlier quoted context omitted.
Thanks guys, I guess I really have had some rough times. I like how Lisp and Assembler at the top of the hierarchy capture the two extremes. Some hypothetical language in the middle would be great, but maybe the best we can do is to straddle that point, e.g. with C++ and Python.
> I like how Lisp and Assembler at the top of the hierarchy capture the two extremes. Not really. I'd place Agda or Coq above Lisp.
Because more than 10 people have heard of and use Agda or Coq?
Re: How We Went from 30 Servers to 2: Go
#360Earlier quoted context omitted.
A seasoned Java developer is expected to have worked with one of the mainstream ORM like Hibernate or Ebean. But a Go developer gets away with not having to know an ORM because there is no mainstream ORM in Go. :)
So what, the lack of a mainstream ORM implies "So there is really nothing to learn besides the language itself"? I don't think so. And there's probably more to a lack of an ORM other than "Go is immature." It's a fairly common opinion among the Go community that ORMs are not worth their complexity. I tend to share that opinion myself, after having worked with a few in a couple different languages.
Really? Because we managed to get just fine without one for decades...