Presume you were born a slave. Your family had been slaves for 5 centuries. Slaves are taught in early childhood that walking is always the "honourable" thing to do - only free people ride. Slaves also never fight back in an argument, always give way, always put other people's needs first, shrink their own presence as much as possible, etc.
Even when you earn your freedom, your instinct when anyone asks for riders would be to walk. You have to unlearn multiple anti-patterns of freedom and it is a conscious effort every single day to keep up your guard. When someone rejects you, you never know if it is because of the specific task you completed, or an anti-pattern, or your past slave roots. 30% of your brain goes towards self-correcting and self-consciousness, leaving only 70% to focus on a task. That means only slaves that sport an IQ of 130 to keep up with a non-inhibited free person. Furthermore, every single one of your elderly and senior Slave relatives scolds you every time you do a free person action, for not honouring your heritage. On top of that, some unknown percentile of free people cannot see themselves taking orders from a former slave in a higher position than them at work. Add insult to injury, because it is very obvious you are a slave (all slaves have an extra body part) a mistake is instantly attributed to your slavehood, further adding to the bias libraries of free people and to your own self-consciousness. Forgot to mention, you still have to do 100% of your slave duties in 50% of your time as a free person. It is a HUGE f-ing hill to climb.
However since slaves have carried half of humanity's domestic needs for the past 5 centuries, they've also built up tremendous self-discipline and other valuable muscles required to survive that darn hill. The moment they are able to apply their freedom and start thinking and acting like independent enterprising people is the moment they solve all mundane unnecessary inefficiencies they have been doing to "honor" the heritage of servitude. Humanity gets half of its productivity back, and uses the brainpower to deploy to more important things than walking. Before that point you're feeding 100 people but get the productivity of 50. After that point, you are getting 100 at the productivity of 200 for the same feeding costs. Add the exponential growth of knowledge and tech and developed technology might beat an extinction level event to save itself one day because of the acceleration. Conditioning and history aught to teach us to stop treating other humans as inferior and to build systems that apply the intellect of every one of us. The alternative is a waste.
Java takes longer to build with and it's harder for startups that are working on product market fit. Once we figure things out, we can rewrite in Java, but before then it's premature optimisation in my book.
> Java takes longer to build with and it's harder for startups that are working on product market fit.
Longer or harder than using Golang? Unlikely.
Golang has some advantages over Java like a simpler deployment model, less runtime overhead, etc but overall for a fairly standard web application it makes much more sense to pick Java over Golang.
> but before then it's premature optimisation in my book.
Then so is using Golang. You have answered your own original question :). Keep using Ruby.
Looking into it and setting up a sandbox. From a performance standpoint, how does Phoenix stack up against Rails or Node.js for you? I'm looking at benchmarks http://www.techempower.com/benchmarks/#section=data-r12&hw=p... and, while there are advantages, it doesn't seem to stand out.
IIRC there were some issues in how Phoenix was configured for the techempower benchmarks, I expect that it will have much better results in the next one.
From my experience, Rails and Phoenix speed isn't comparable. Even in development mode (with code-reloading etc) Phoenix is much faster than a production Rails server.
I've also replaced three Node.js servers with one Elixir server which did the same work with less memory and CPU usage, but I'm aware that most rewrites have a similar story, so I won't claim that this is enough proof.
Our previous startup was with Rails and we did hit performance bottlenecks, even without Payments being involved. Consumers are very sensitive to speed, so that plays a big role in the decision as well. Team skills are adjustable - the founders are technical and the team is being built up hereafter. The big question is does GoLang still have any inherent issues that may conflict with the expected reliability of a financial company - is the Braintree objection out of date?
you'd have to explain more about what you're doing, but i'm sure go is fine. i'm also sure rails is fine.
i can't speak for the first two points, but those seem simple enough to avoid with tests, really. most issues are.
the third issue is something you have to decide on. i'm sure the tooling around go is much better than it was three years ago, but you're not going to have everything in a pretty package like you do rails.
honestly the choice is probably inconsequential, unless you have some actual reason why the language choice matters for your application (which it almost always doesn't).
also if you're in fintech and doing bitcoin, i've heard the node ecosystem has the most BTC support, so that's a consideration
Even when you earn your freedom, your instinct when anyone asks for riders would be to walk. You have to unlearn multiple anti-patterns of freedom and it is a conscious effort every single day to keep up your guard. When someone rejects you, you never know if it is because of the specific task you completed, or an anti-pattern, or your past slave roots. 30% of your brain goes towards self-correcting and self-consciousness, leaving only 70% to focus on a task. That means only slaves that sport an IQ of 130 to keep up with a non-inhibited free person. Furthermore, every single one of your elderly and senior Slave relatives scolds you every time you do a free person action, for not honouring your heritage. On top of that, some unknown percentile of free people cannot see themselves taking orders from a former slave in a higher position than them at work. Add insult to injury, because it is very obvious you are a slave (all slaves have an extra body part) a mistake is instantly attributed to your slavehood, further adding to the bias libraries of free people and to your own self-consciousness. Forgot to mention, you still have to do 100% of your slave duties in 50% of your time as a free person. It is a HUGE f-ing hill to climb.
However since slaves have carried half of humanity's domestic needs for the past 5 centuries, they've also built up tremendous self-discipline and other valuable muscles required to survive that darn hill. The moment they are able to apply their freedom and start thinking and acting like independent enterprising people is the moment they solve all mundane unnecessary inefficiencies they have been doing to "honor" the heritage of servitude. Humanity gets half of its productivity back, and uses the brainpower to deploy to more important things than walking. Before that point you're feeding 100 people but get the productivity of 50. After that point, you are getting 100 at the productivity of 200 for the same feeding costs. Add the exponential growth of knowledge and tech and developed technology might beat an extinction level event to save itself one day because of the acceleration. Conditioning and history aught to teach us to stop treating other humans as inferior and to build systems that apply the intellect of every one of us. The alternative is a waste.