4 ms·
So if you had to do it all over again, would you write the API from the start in Go, or would you start with Ruby and transition to Go again?
by beat 11y ago
So if you had to do it all over again, would you write the API from the start in Go, or would you start with Ruby and transition to Go again?
- spimmy 11y agoHard to say. Ruby really did let us move and ship products insanely fast, without having to sink precious engineering time into boilerplate and standard libraries. Most startups fail, and it's often because they couldn't move fast enough. So I don't think it was a bad choice at the time. We were able to do the rewrite once we had grown up a bit, gotten acquired, hired more engineers, and had a proven business model that was worth investing in.
- supster 11y agoDid you guys consider Erlang or Elixir? Elixir might have especially been a good fit given the history with Ruby.
- mixmastamyk 11y agoIt's not uncommon (and may be a good idea) to prototype in something like Ruby or Python, and port later when the problem is well understood.
- beat 11y agoThe interesting question for me is, is Go straightforward enough to use through the discovery phase? Or do you really need to use a scripting language to evolve the API rapidly? I love Ruby and have worked in a high performance Ruby environment, but it can be pretty problematic to scale (and frankly, it was Apache and Solr that made the environment high performance, not Ruby). Clearly Go can scale, but would it significantly slow down early development?
- deleted 11y ago[deleted]
- mixmastamyk 11y agoI believe the language is less cumbersome than some of the previous contenders, however there are fewer third party libraries. As it continues to mature, the line will get harder to draw.
- lacker 11y agoIf those were my choices I would start with Ruby again, but start planning for a transition earlier.
- MrBra 11y agoThat's one heck of a bullseye question. Thanks for the perspective.