Live data from Hacker News

Replacing Ruby on Rails: Let's Go

madebymany.com

21–30 of 89 posts

Re: Replacing Ruby on Rails: Let's Go

#21
post #14

I've had nothing but bad experiences trying to do things I'd ordinarily do in Rails in Golang instead (and I really like Golang). Writing "Rails apps" in Golang feels a like like writing them in Sinatra used to feel: good at first, but halfway through you realize you're just wasting time reimplementing a buggier version of half of Rails. On the other hand, I've had very good experiences factoring subsets of Rails app…

Factoring out microservices into Go (I assume where you need better performance or concurrency) seems like a really interesting way to go rather than cutting over wholesale. Anything about it particularly difficult or interesting, or was it pretty straight forward?

Re: Replacing Ruby on Rails: Let's Go

#24

Earlier quoted context omitted.

I for one would like to see a serious Go-based alternative to Wordpress. Virtually every major CMS out there uses PHP, and all of them are highly prone to hacking.

Would you say that they are prone to hacking solely because they are written in PHP? Is secure PHP impossible?

Secure PHP is certainly possible, and not even that difficult. The problem is that insecure PHP is even easier to write.

In my experience, most vulnerabilities tend to come from insecure, poorly written, unvetted third party plugins and libraries.

Someone writes a plugin that creates a widget, security is either a non-thought or an afterthought. They think someone else might like the widget so they publish it. Thousands of people find it useful, even years after originally released. They are all unknowingly using an insecure piece of software.

Re: Replacing Ruby on Rails: Let's Go

#26
One of the things I still think Go is weak at is the internationalisation and localisation.

There is nothing as feature-rich and widely adopted as the Django equivalents for translation https://docs.djangoproject.com/en/1.8/topics/i18n/translatio... formatting of dates and times https://docs.djangoproject.com/en/1.8/topics/i18n/formatting... or for handling timezone conversions https://docs.djangoproject.com/en/1.8/topics/i18n/timezones/ .

Ideally the Go core, or the Go community, would provide a great experience (consistent, idiomatic, documented, supported) for developers coming from Rails, Django and other platforms.

Right now I recommend Go for backend and APIs, but I stop short of recommending replacing your Rails or Django with Go. There's still an enormous amount of work you would have to do to come close to the kind of web app support you'll find in platforms that are already mature and focused on delivering front-end web experiences.

Re: Replacing Ruby on Rails: Let's Go

#27
post #14

I've had nothing but bad experiences trying to do things I'd ordinarily do in Rails in Golang instead (and I really like Golang). Writing "Rails apps" in Golang feels a like like writing them in Sinatra used to feel: good at first, but halfway through you realize you're just wasting time reimplementing a buggier version of half of Rails. On the other hand, I've had very good experiences factoring subsets of Rails app…

I've taken a similar path as you - trying "Go for all", and ending up front-ending them with Rails,Node, etc. I felt sort of dirty doing it - but the Go ecosystem specifically around web projects is not nearly as far along for "basic things" as Rails. Heck, I saw last night that people were arguing on the right way to create basic web auth in Go!

Re: Replacing Ruby on Rails: Let's Go

#28
I don't know why this post got so many likes? Many Go fans here?

I personally think any language that compiles to JavaScript and are quite similar are the perfect language for web. Since you can re-use code from client and the server. Right now my bet is TypeScript.

Re: Replacing Ruby on Rails: Let's Go

#29
post #16

I like Go, and I am replacing aspects of Rails apps with Go, but for a lot of web app uses, Rails is really, really good. Hashicorp, who has a very high Go competence, migrated away from Go to Rails for their web service. http://blog.gopheracademy.com/advent-2014/atlas/ > Once we decided to evaluate other technologies for our web service, we had a few choices. Based on having Rails experience and the maturity of that…

I commented above that I felt dirty taking the Rails for web applications, and Go for "Other" approach. But it was the best I had come up with. Thanks for the link - It was helpful and mirrors my experience.
Post reply on HN