Live data from Hacker News

Why We Think GoLang Is Ready For Early Stage Startups

jellolabs.com

11–13 of 13 posts

Re: Why We Think GoLang Is Ready For Early Stage Startups

#11
post #7
post #4

Earlier quoted context omitted.

We haven't really ruled out any of the common stack tech choices. They are all good in their own ways, and have their own tradeoffs - and the intention here was not to spark wars about which tool is the best. I think the choice was much more of a proactive choice - we liked Go, we like the way it fitted us - good for fast iterative development upfront, good for the long term, fun to write code in and with a lot of ad…

>We haven't really ruled out any of the common stack tech choices. They are all good in their own ways, and have their own tradeoffs - and the intention here was not to spark wars about which tool is the best. This is way diplomatic. Though for me your article has no beef, the Pros and Cons of Go has been repeated here for so many times. I was expecting to see the v.s. stuffs, why this, why that, your thought process…

I understand what you are saying, and indeed I am trying to be diplomatic.

Picking on Rails/Node was not my goal and I feared that a stronger comparison between these choices would have been seen as such by the current startup community.

At the end of the day most of these choices are tools and I truly believe that while they have their trade-offs, they are all good from one point or another. The point I was trying to make is that Go is a tool worth looking into as an alternative to Rails/Node for early stage.

Unless you build the exact same product in Rails/Node/Go it's hard to make meaningful broad comparisons - and you end up comparing lab experiments around speed in specific toy examples, or end up comparing only certain isolated parts of the toolset.

We are planning on writing more blog posts about our experience using it, more into performance internals and how it all plays out - but I do feel that we'll stay away from comparisons.

Re: Why We Think GoLang Is Ready For Early Stage Startups

#12
post #3

What on earth were you comparing with to come up with go as having stricter code checking? I'd say early stage startups are probably the least likely place for go to be a good choice - it sacrifices a lot for the sake of performance, which only matters once you've made it. As they say, scaling is a nice problem to have. (Edit: and like Java it makes other sacrifices in the interests of being maintainable by less tale…

Go has both faster run-time performance and stricter type checking than Ruby, Python, or JS, competitors in the server space. Go development is fast, because the language is simple and it compiles very quickly. Once you've made it, you certainly don't want to recode. Although, of course, if you've super-made it, you can just get more hardware. But even the largest web companies can run into the performance bottleneck…

> Go has both faster run-time performance and stricter type checking than Ruby, Python, or JS, competitors in the server space.

I don't dispute that, but those aren't the only competitors. If you're willing to give up the extreme dynamicism of those languages, you gain a lot more type-safety and expressiveness, and similar performance, from a modern strongly typed functional language like OCaml/F#/Scala/Haskell.

> Once you've made it, you certainly don't want to recode.

Yes and no. You probably want to accumulate a lot of technical debt during the early stages, meaning you're going to be doing substantial rewriting in any case. The rewrite strategy has worked out pretty well for e.g. Twitter.

> The Go Authors say one of the motives for building Go was the very long compile times of building C++ apps for large-scale web development. One thing they mentioned in particular was the large compile times due to processing and reprocessing of #include files. We know Microsoft ran into the same problem because they put Pre-Compiled Headers (PCH files) into their C family tools. Go has an import facility that prevents the problems of the #include file design.

Sure, like pretty much any language from the past 20 years. The C++ header recompilation problem is basically unique to C++. I can understand Go would seem good if C++ (and Ruby/Python et al) were the only alternatives, but that's really not the case.

Re: Why We Think GoLang Is Ready For Early Stage Startups

#13
We've been using Go for our startup as well and love it. Having programmed in a variety of languages, including Java, Scala, and Python, I have to say that Go has been as easy to work with if not easier than my previous experiences with other languages. Particularly awesome is the tooling they've built around the language. Dependency management is a cakewalk compared to other systems (say goodbye to Spring/Maven/etc. headaches) and compile time is extremely fast. Plus you get all the benefits of static type checking without much verbosity.
Post reply on HN