I know I'm asking in the rails sub so I'll get some biased answers, but I'm really struggling to decide between dedicating more time to learning Rails, or properly learn Go.
I have a really solid foundation of Ruby, and have made a few small apps with Rails. My Go experience is very limited, like a month of learning maybe.
My concern with Rails is simply the job market for it where I live, but I do love the developer experience of Rails. Go has been good, and I like static typing, but I will say the learning curve has been pretty steep!
A con for Go would be the use cases for it. I'm not sure at this point in my career (2.5 yoe) I'd be expected to solve the type of problems Go is suited for. Also, I want to do more full stack instead of all backend, and Rails seems like a good choice for that move.
Any thoughts on the two would be greatly appreciated :)
Videos
I have a few years of experience as a "web developer" and have primarily worked with Ruby (on Rails) in work due to pretty much all legacy projects being written with it.
Some months ago we've started working with Go to develop a new microservice. I've since then been very into the language and have found myself enjoying more and more its simplicity, backwards compatibility promise/philosophy and overall it's been a very refreshing experience to me who has been introduced to computing with C.
What I've found so far is that Go excels in allowing code to be as simple as it's expected to be. There's just very few reasons to overcomplicate things and create huge abstractions to give the feeling of cleaner code. I don't miss the syntactic sugar and the bloat of features other languages have. The language design was very well thought through from the beginning and I like that they are very selective about what comes in to the language.
And of course there are specific things I love about it, like the error handling 'framework', the typing system, the stdlib, gofmt, etc. The one thing I wish I get to work with more is the concurrency model (channels, goroutines), but I haven't bumped into a good use case yet.
Wondering if others share the same feeling. It seems Go is gaining more popularity and acceptance again and that they're very ready for it
Hello everyone. I'm looking to learn to code as a hobby, so I'd like to get into a language that isn't too hard to understand for a beginner. I already studied the basics of Go, but I am very confused on Methods and Interfaces, it seems to me that the concept of Classes makes code easier to understand, so I'm thinking of learning a language that uses that. I'm thinking of trying with Ruby but I wouldn't like to find out that it is just as hard or more than Go. I'd appreciate if anyone could tell me the difference between the two languages.
First and foremost, first is in quotes because I already have some basic experience in Python and JS.
Second, please don’t recommend either of those. I don’t have any problem with them, and I know what language you learn to start out doesn’t really matter in the long run. But for the sake of my question, please choose one of the two I asked about (or if you feel strongly about a third, feel free to say).
I’m not completely new to programming, but I’m still fairly novice. I haven’t built really any substantial projects outside of dedicated class assignments, and with the summer ahead of me I’d really like to improve my programming abilities (e.g. get better at “thinking link a programmer”)
Ruby has fascinated me conceptually for a long time and seems very beginner friendly. But I’ve heard that with the amount of “magic” it has it it’s not always great to start with.
I’ve also seen Go recommended to start with, since static typing and compiled languages forge you to learn some important aspects of programming. The syntax also seems somewhat beginner-friendly, but I’m not sure.
I’d love to get some feedback!
Thanks!
Hey r/golang,
I just started learning ruby/rails about a month ago and noticed that Go has been picking up a lot of traction these days.
While I enjoy the syntax of ruby and also the rails community, I'm curious if I should look into Go instead. My main interests (aside from learning how to program) are developing web apps. So, am I better off investing into Ruby or Go?
Sorry if my question seems trivial or amateurish, as I mentioned I am still new to web development.
Thank you!
EDIT: Thank you for all your responses, the community here is really great and helpful :)
Truth be told, i’m no great programmer, but i have some understanding of Ruby, and by extention of Rails. I am seeing a lot of golang passing by and i am wondering if any Ruby programmers made the change to golang? Was it hard? Im just not sure which language i should commit to :)
Professional Ruby developer by day, Go tinkerer by night here.
I did Rails for about 6 years then Go for 2. I’m back doing Rails but looking for a job doing Go. I a fan of the stronger typing and compiler checks in Go. In Ruby you’re basically on your own and end up writing a bunch of tests to cover things that compiler would tell you before you even ran your code.
Which language should I learn? I've been scouring job boards for security engineer positions to see what's in high demand, and these have been the most popular languages I've been seeing. So far I only know Java and a little bit of Swift.
I came to Go from Ruby but I've been writing mainly Go for quite some time now and I forgot how it was to work on a Ruby project. For those doing this daily, with PHP, Python, Ruby, JS, ..., do you feel that there is a huge productivity gap between those languages and Go when dealing with web applications? (server side rendering)
Hello again Ruby,
I posted a few days ago asking for initial direction into learning Ruby with the intent of using Rails.
I have a discussion question for anyone with an opinion. Why are some language communities against Rails like frameworks or just lacking them(in the case of JS).
I'm coming from a JavaScript and Go standpoint.
-
JavaScript - This ecosystem has always felt so fragmented to me. There is no one all encompassing framework that is mature in a similar way to rails. In JS, you find a front end framework, then some backend node server, then attach authentication, find an ORM, etc... So many decisions.
-
In the Go community, it seems people are against the concept of Rails. Searching "Rails for Go" gets you this post in r/golang. Where the top comment is "Thanks god we don't have go on rails". Just one instance, but the sentiment seems common enough. I just don't get it.
I want a framework taking decisions off my plate. Am I missing something? Just looking for discussion.
Edit: I could also be interpreting it this way when it is not actually the case.
Former Ruby/Rails programmer, current Go programmer (mostly reluctantly, although I don't necessarily think Go is bad, I didn't choose it over Ruby) here.
Firstly, Go wouldn't be a good fit for an implementation of Rails. Rails depends on Ruby flexibility and dynamism for a lot of its implementation. Groovy got Grails because Groovy and Ruby have pretty similar language features overall.
Also the things that Go people like are very different than the things Ruby people like. Most Go people I know would break out in hives if they had to deal with the amount of metaprogramming in an average Sinatra app, nevermind Rails.
Go folks by and large seem to favour things that are very direct and obvious. And to my Ruby sensibilities absurdly repetitive and long (meaning lots of code). The flip side is, code I like in Ruby they find inscrutable and full of "magic."
I'm not saying they're wrong. But they have different preferences and their language of choice has different strengths.
(Edit just for typos.)
Wel if you want rails, then you have rails. And if you want go, you have go. I think the ideologies of the two communities just don’t match.
go is a community that prioritizes having no magic. Rails is all about magic. Ruby core team cares about speed, but makes it easy to write inefficient code. Go cares about speed, and if you write inefficient code it’s often very easy to track down why. Rails has a much higher learning curve than go does. Go is, as a community, all about how easy the code is to read. They don’t have sugar in places they could, because they view syntactic sugar as harmful.
I do think there’s some things that fit well in the go ecosystem. A lot of go devs would probably agree with “if there are 20 ways to do something then that’s confusing, I only need one”. And that does fit with the idea of rails: you define routes in routes.rb and only routes.rb. Your models are in the same folder and all follow the same patterns. Controllers are skinny, authenticating, validating data, then delegating the task to models. However the ruby ideology of “well you use find if you want to find it, and detect if you want to check if it exists! They do the same thing though” can then be a turn off.
I'm a backend dev with 6 YOE mostly with Go, Python and C++, doing API development, SQL, async services and other web stuff.
I want to learn Ruby and Rails and I plan just to start building an HTTP web server to learn it the hands-on way. I never wrote a line of Ruby btw.
I also want to get up to speed with the basics of both Ruby and Rails. I was going to buy the book "Agile Web Development with Rails 7" but wanted to ask here for some guidance.
I don't care if it's a website, a book or anything else, I'm just looking for reference(s) that best fit my situation.
I'm also asking myself if I should straight jump into Rail or start with some Ruby.
Hello there! Which language should I pick first if I want to improve myself as sysadmin and DevOps? I'm engaged in Linux server administration and I need a language for authomatization routine tasks or building useful scripts e.g. for sending notifications about suspicious actions on server. Looks like, I should pick Ruby or Python for scripting, but I'm not sure.
So my boss and I have been arguing over the fact that you cannot be productive and implement things fast in GO, especially as it grows into a monolith and there is a ton of features. He is a Ruby on Rails developer and he believes because GO doesn't have a huge MVC framework, it's not a very productive language and doesn't scale well with new features.
I am a GO developer and I've been trying to tell him that you can be productive and have scalable code in GO as long as you follow best practices and know what you doing. And it's fast to write code. Especially APIs as that's all we are doing and we don't need your framework for that.
What do you think about this? Do you think that you can't create huge apps with GO lang or he is wrong?
Interested to hear your thoughts and experiences as I don't have much GO experience to know for sure if he is right or wrong.