I think the survey as constructed overlooks the demographic of people like me who knew several languages, used ruby, and then went back to mostly using other languages that we already knew before learning ruby.
I was a haskeller who learned ruby mostly because of metasploit, and realized it was a fine language for quick scripts, and I still pick it up now and again, but I’ve gone back to mostly using Haskell because I liked it much better.
I tried to balance many things while aiming to still keep it short & sweet. Before I “set the survey free” I was adding a sentence about also checking the boxes if you did something before and then went back to it/renewed interest in it. I decided it might clutter it too much and lots of people don’t really read the text.
So yeah, definitely - maybe/hopefully I find another/better way next time.
That’s exactly me. I know a variety of other languages, but I learned them all prior to Ruby. The only new ones I’ve done anything with are Elixir and Go.
This is me also, sort of. I never started a real project in Ruby, but have contributed to Ruby projects. The reason I never did much else with it is that it isn’t a viable option for the things I enjoy doing.
Clojure. It felt like the natural progression, especially since I was interested in diving deeper into FP. Now I can’t not love s-exps and structural editing, as well as even more powerful meta-programming.
(Also notable that I saw Russ Olsen, author of Eloquent Ruby, moved to Clojure, and now works for Cognitect.)
I’m really interested in Clojure, but compared to Ruby there seems to be an order of magnitude fewer jobs out there for it.
I can’t swing a dead cat without seeing 4 or 5 people a week looking for senior Rubyists. I’ve seen maybe 2 major Clojure opportunities in the last 6 months.
Clojure never really got me personally - I would have liked but weirdly short names, friends telling me that for libs tests are more considered “optional” & others were ultimately a bit off putting to me. Still wouldn’t say no, just - switched my focus :)
Tests are definitely not considered optional by the Clojure community. However, you’re likely to see a lot less tests in Clojure code than in Ruby.
There are two major reasons for this in my experience. First reason is that development is primarily done using an editor integrated REPL as seen here. Any time you write some code, you can run it directly from the editor to see exactly what it’s doing. This is a much tighter feedback loop than TDD. Second reason is that functions tend to be pure, and can be tested individually without relying on the overall application state.
So, most testing in libraries tends to be done around the API layer. When the API works as expected, that necessarily tests that all the downstream code is working. It’s worth noting that Clojure Spec is also becoming a popular way to provide specification and do generative testing.
I think Ruby on the whole is an excellent language. I just don’t really gel with what it is typically used for now: web apps.
I had to spend a few days recently trying to get a Rails 4 app running, and it felt like a lot of wasted time Googling around and changing gem dependencies when it worked just fine a few years ago. I don’t know if it is fair to lay that criticism at the feet of Ruby, but I feel it is sort of part of the culture at this point. As much as I prefer the syntax of Ruby, Python has a sort of boringness to it I tend to appreciate over the long-haul, especially in dependencies.
I’m a Rubyist who moved to Elixir. The BEAM seems to be fundamentally a better foundation for web development than Ruby can offer: concurrency, fault tolerance, and not having your service fall over because of one expensive request. There are fewer libraries (for now), but it’s easier to add libraries to Elixir than to build shared-nothing concurrency into Ruby.
Elixir is great and I feel like most of the major building blocks are there. It’s not just elixir itself though - especially these days I just feel like Ecto is so much better. ActiveRecord and triggering DB requests whenever along with all those validations can be hard toll to take. Today I had to make preloading an association while only selecting certain columns work. Not nice. Would be nicer in ecto as ecto is just a tool to work with the database.
Thanks for Saša’s talk - didn’t know that one yet. On the “to watch list” now :)
I’m an on-again-off-again ruby coder. Right now I’m “on” again (for personal stuff), but I really like messing with any and all languages I can find. It’s not like I get bored with ruby, I still use it for things here and there. So where did I go? No where!
I see that my title implies something wrong - I don’t think Ruby is dying or people are frenetically leaving it by a long shot. Maybe, What do Rubyists look at/are interested in would have been a better title but also a bit less catchy :)
I definitely also think that being polygot is awesome and on the raise - you don’t have to “leave” or “go” somewhere - you have a toolbelt with many options to choose the most suitable one.
I think the survey as constructed overlooks the demographic of people like me who knew several languages, used ruby, and then went back to mostly using other languages that we already knew before learning ruby.
I was a haskeller who learned ruby mostly because of metasploit, and realized it was a fine language for quick scripts, and I still pick it up now and again, but I’ve gone back to mostly using Haskell because I liked it much better.
Thanks for the criticism!
I tried to balance many things while aiming to still keep it short & sweet. Before I “set the survey free” I was adding a sentence about also checking the boxes if you did something before and then went back to it/renewed interest in it. I decided it might clutter it too much and lots of people don’t really read the text.
So yeah, definitely - maybe/hopefully I find another/better way next time.
That’s exactly me. I know a variety of other languages, but I learned them all prior to Ruby. The only new ones I’ve done anything with are Elixir and Go.
This is me also, sort of. I never started a real project in Ruby, but have contributed to Ruby projects. The reason I never did much else with it is that it isn’t a viable option for the things I enjoy doing.
Clojure. It felt like the natural progression, especially since I was interested in diving deeper into FP. Now I can’t not love s-exps and structural editing, as well as even more powerful meta-programming.
(Also notable that I saw Russ Olsen, author of Eloquent Ruby, moved to Clojure, and now works for Cognitect.)
I’m really interested in Clojure, but compared to Ruby there seems to be an order of magnitude fewer jobs out there for it.
I can’t swing a dead cat without seeing 4 or 5 people a week looking for senior Rubyists. I’ve seen maybe 2 major Clojure opportunities in the last 6 months.
What’s been your success rate when bringing carrion to job fairs?
The way the local job market is, I doubt it’d damage my chances that much.
Clojure is absolutely great and so is Russ. He still loves Ruby (as well) though :)
I still maintain that one of the best books I ever read for my coding skills is Functional Programming Patterns in Scala and Clojure.
Clojure never really got me personally - I would have liked but weirdly short names, friends telling me that for libs tests are more considered “optional” & others were ultimately a bit off putting to me. Still wouldn’t say no, just - switched my focus :)
Tests are definitely not considered optional by the Clojure community. However, you’re likely to see a lot less tests in Clojure code than in Ruby.
There are two major reasons for this in my experience. First reason is that development is primarily done using an editor integrated REPL as seen here. Any time you write some code, you can run it directly from the editor to see exactly what it’s doing. This is a much tighter feedback loop than TDD. Second reason is that functions tend to be pure, and can be tested individually without relying on the overall application state.
So, most testing in libraries tends to be done around the API layer. When the API works as expected, that necessarily tests that all the downstream code is working. It’s worth noting that Clojure Spec is also becoming a popular way to provide specification and do generative testing.
I think Ruby on the whole is an excellent language. I just don’t really gel with what it is typically used for now: web apps.
I had to spend a few days recently trying to get a Rails 4 app running, and it felt like a lot of wasted time Googling around and changing gem dependencies when it worked just fine a few years ago. I don’t know if it is fair to lay that criticism at the feet of Ruby, but I feel it is sort of part of the culture at this point. As much as I prefer the syntax of Ruby, Python has a sort of boringness to it I tend to appreciate over the long-haul, especially in dependencies.
ocaml for me, though I still turn to ruby when I just need to code something up fast, or want to use code to explore something.
Sure glad I added the OCaml option :D Must admit, never really looked at it - probably I should :)
I came to OCaml via Clojure and before that Python. So not exactly from Ruby but close enough.
I’m a Rubyist who moved to Elixir. The BEAM seems to be fundamentally a better foundation for web development than Ruby can offer: concurrency, fault tolerance, and not having your service fall over because of one expensive request. There are fewer libraries (for now), but it’s easier to add libraries to Elixir than to build shared-nothing concurrency into Ruby.
Saša Jurić’s talk “Solid Ground” explains well and has some nice demos. https://www.youtube.com/watch?v=pO4_Wlq8JeI
I also wrote a related post: http://nathanmlong.com/2017/06/concurrency-vs-paralellism/
Elixir is great and I feel like most of the major building blocks are there. It’s not just elixir itself though - especially these days I just feel like Ecto is so much better. ActiveRecord and triggering DB requests whenever along with all those validations can be hard toll to take. Today I had to make preloading an association while only selecting certain columns work. Not nice. Would be nicer in ecto as ecto is just a tool to work with the database.
Thanks for Saša’s talk - didn’t know that one yet. On the “to watch list” now :)
As for elixir - I also have a list of non performance reasons I like it: https://pragtob.wordpress.com/2017/07/26/choosing-elixir-for-the-code-not-the-performance/
I’m an on-again-off-again ruby coder. Right now I’m “on” again (for personal stuff), but I really like messing with any and all languages I can find. It’s not like I get bored with ruby, I still use it for things here and there. So where did I go? No where!
I see that my title implies something wrong - I don’t think Ruby is dying or people are frenetically leaving it by a long shot. Maybe, What do Rubyists look at/are interested in would have been a better title but also a bit less catchy :)
I definitely also think that being polygot is awesome and on the raise - you don’t have to “leave” or “go” somewhere - you have a toolbelt with many options to choose the most suitable one.