7 ms·
There was a time when I used to advocate my fellow folks here at HN (and possibly even reddit) to go for a framework built on faster languages like GoLang or Sc
by neya 12y ago
There was a time when I used to advocate my fellow folks here at HN (and possibly even reddit) to go for a framework built on faster languages like GoLang or Scala or even using platforms like Node.js and avoid slower ones like Rails. Now, it's time for me to apologize to the community for giving you wrong advice [1]. Turns out I could never have been more wrong.
I wish I could write a long post describing each of the WHY's, but I'll be more succinct, this time:
1)If you can throw money at something at something and scale, then you're as good as gold. Rails allows you to do this. Oh, and supportive statements from Pinterest guys on the same topic - [2].
2) The speed of a language has nothing to do with the success of your business. NOTHING. You can go with the world's slowest language and still be successful. Best example of this is Basecamp itself.
As a matter of fact, even many of the popular sites (heck, even popular porn sites) still run on PHP (PHP was one of the slowest from the frameworks speed comparison conducted by Techempower - [3]).
3) The actual thing you want to be able to do is quickly iterate on your product and constantly have it evolve. This is only possible if you have a complete framework that doesn't force you to re-invent the wheel. For example, when I wrote a framework by myself in GoLang, Scala, I found myself focusing too much on basic stuff like authentication, instead of focusing on the features that are needed for the actual product.
4) (P.S this is my personal opinion) I've tried all major frameworks out there and I've come back to Rails again. Why? Because its philosophy resonates with me (yes, now it does). For me, the three most important elements for a successful product are - Speed, Reliability, Consistency. Rails provides me with all these three. (And please try Puma, it's pretty impressive!).
As for me, the ability to seamlessly integrate SASS, Compass and HAML (which help me divide my product development time multiple folds) makes Rails a clear winner for me. And now Active Job, Deliver Later, Adequate Record, Web Console now make Rails much more complete than ever. (Thank you DHH!)
In the last 6 months, I've written 4 complete products for 4 different people (one of them, being mine) that is well tested and works perfectly as intended. Compare this to something like last year where I spent 2-3 months writing just a single software product (for myself) while I was trying to use GoLang (<- or insert another faster language here) (because I also had to take care of all the other things like Authentication, etc). The point is, ultimately you want to run a successful business. And if you're worried if the slowness of your language will hinder it's growth, then nope. That will not happen. I hope this helps someone.
Cheers.
[1] https://news.ycombinator.com/threads?id=neya&next=6993616 https://news.ycombinator.com/threads?id=neya&next=6993616
[2] http://highscalability.com/blog/2013/4/15/scaling-pinterest-from-0-to-10s-of-billions-of-page-views-a.html http://highscalability.com/blog/2013/4/15/scaling-pinterest-...
[3] http://www.techempower.com/benchmarks/#section=data-r8&hw=i7&test=json http://www.techempower.com/benchmarks/#section=data-r8&hw=i7...
- cmelbye 12y agoCan you point to what you think is an example of a good open source web application written in Go? I'm curious to see what non-trivial web applications in Go look like. I've tried Go for web applications a couple times, but I ended up feeling the same way you do about it. I've really liked it for backend things, however.
- deleted 12y ago[deleted]
- elithrar 12y ago> Can you point to what you think is an example of a good open source web application written in Go? * https://sourcegraph.com/blog/google-io-2014-building-sourcegraph-a-large-scale-code-search-engine-in-go https://sourcegraph.com/blog/google-io-2014-building-sourceg... * https://github.com/drone/drone/ https://github.com/drone/drone/ * https://github.com/jordan-wright/gophish https://github.com/jordan-wright/gophish All are reasonably sized; Sourcegraph and Drone especially so.
- sqs 12y agoWe made https://github.com/sourcegraph/thesrc https://github.com/sourcegraph/thesrc as an example large open-source web app in Go because we also wished we had examples like this when we were starting.
- realharo 12y agoWhile I totally agree with your main points, I suspect that a large part of the difference in productivity you describe is a result of your familiarity with Rails and its ecosystem. If you've done many projects in it, have established workflows you're comfortable with and know the framework inside and out, of course you are going to be more productive compared to using a less familiar technology.
- Gigablah 12y agoYeah, the same logic could be used to argue for using Java or PHP frameworks. Plus, SASS/Compass/HAML integration isn't strictly part of a framework, it's the build pipeline.