5 ms·
Is it a good time to learn Ruby? I mostly do React and Node + Java work professionally, but I've been looking into Ruby as a fun side project language. I would
by alfredmuffin 8y ago
Is it a good time to learn Ruby? I mostly do React and Node + Java work professionally, but I've been looking into Ruby as a fun side project language. I would appreciate any anecdotes!
- unixhero 8y agoIt a language made to make you as a developer happy. So, yes.
- theredbox 8y agoAs good as any time. You will loose a lot of performance when compared to v8 but the ruby paradigm is subjectively much more pleasant to work with.
- faitswulff 8y agoEnumerable methods are almos always what make me want to ditch Javascript for Ruby.
- jonahx 8y agoHave a look at: https://ramdajs.com/ https://ramdajs.com/
- zephyrfalcon 8y agoES6 has map, filter, reduce, etc... and anonymous functions which can be used in lieu of Ruby blocks.
- xiphias2 8y agoFor me it is too much fun. I love that I can use most of the standard library without thinking / looking at the documentation, and not needing to wait for compilation. But at the same time I hate that I love a language that performs so bad compared to being closer to the metal.
- rakoo 8y agoHave you looked at crystal (https://crystal-lang.org/ https://crystal-lang.org/) ? Very ruby-like, but has additional safeties and compiles to native.
- xiphias2 8y agoIt looks fun, but as I'm doing financial modelling right now, Julia may be a better fit for me, as it has very nice libraries as well.
- amalawi 8y agoYou may want to check APL family as a possible option for prototyping at least.
- xiphias2 8y agoAPL itself looks really really bad language with bad documentation, no real libraries, non-existent type system, bad function names, and I don't see any GPU programming support in it. In the family Matlab is still the best (It can do Monte Carlo simulation on the GPU, and has a great library for different distributions), but it's still much slower language than Julia generally.
- faitswulff 8y agoWhat use cases do you have that are more performant in other languages?
- xiphias2 8y agoRight now I'm working on financial time series modelling. I can't use numerical arrays because the model is not parallelizable. Also R / Mathematica are not good for these kind of stuff. I'm thinking of trying out Julia, as it's dynamic but still has a lot of interesting libraries, but for now I just decided with working with small data, so actually I don't have performance problems.
- jb3689 8y agoRuby isn't perfect but it's a great utility language and can do a lot of powerful things with very little effort. Read through Eloquent Ruby The only problems I wouldn't go to Ruby for are CPU intensive ones or ones where I need parallel threads (which you already have Java for)
- Gravityloss 8y agoYou can also use JRuby. Powerful and can be very easy to the user.
- jwdunne 8y agoHad a problem that I'd typically use Ruby for but needed to shed the GIL. JRuby worked beautifully. The only gotcha was I needed to use the JDBC driver for Sequel instead of the usual drivers. Obvious in hindsight but not so much with zero JVM development experience. I'd use it again.
- igouy 8y ago> CPU intensive ones Truffle Ruby ? https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/yarv-truffle.html https://benchmarksgame-team.pages.debian.net/benchmarksgame/...
- hamandcheese 8y agoFrom the Truffle readme: > TruffleRuby is progressing fast but is currently probably not ready for you to try running your full Ruby application on. However it is ready for experimentation and curious end-users to try on their gems and smaller applications. > TruffleRuby runs Rails, and passes the majority of the Rails test suite. But it is missing support for Nokogiri and ActiveRecord database drivers which makes it not practical to run real Rails applications at the moment. Emphasis mine, but that puts it firmly in the "fun toy" category rather than a viable technology for anything mission critical.
- igouy 8y ago
- lettergram 8y agoDepends what you want to do, 90% of what I code in is python or Ruby, and I'll switch to C when I want performance. I've done a lot of rails (Ruby), Django (python), and flask (python) work in web development. Much prefer rails, eaiser, and better thought out. I have several websites with hundreds of thousands of visits a year, it is fine (all the frameworks are). I have had to do some inline C to speed up my Ruby in a couple of instances - but that's very specific (and something you can easily do). In terms of data science, python is my go-to and much more tooled for that kind of work. For any kind of desktop app I'll use C++, and for browser extensions / add-ons it's JavaScript.
- cknoxrun 8y agoYou should give crystal a go for the parts you need to be performant! You can even prototype those parts in ruby and easily convert to crystal when it becomes necessary. We’ve found a really nice balance, with business logic and interfaces in Ruby/Rails and crystal for AI/data processing.
- ascar 8y agoRuby is awesome for prototyping. It's just incredibly fast to work with, because the language makes an effort to provide as much help as possible and adding as little obstacles as necessary. E.g. you can even add/change functions to/of Object, even during runtime, if you think it helps. Rails adds `blank?` like that, which is a helper for `nil? || empty?`.
- maxfurman 8y agoI am a big fan of Ruby. The syntax and stdlib let you write code that is very close to a natural English sentence. For example, Ruby has both `if` and `unless`, so you can express a condition as `unless condition` instead of `if !condition`. And the frankly great Enumerable module provides a great collections API, miles ahead of Java in particular. If you're sick of writing for-loops I recommend giving Ruby a try!
- empath75 8y agoIt’s a good time to learn any language if it has any popularity at all.
- Koshkin 8y agoIt is as good time as to, say, learn Farsi. It's beautiful, it's fun, learning it is a great experience, and, plus, quite a few people already enjoy speaking it. Or, you could learn something else without feeling much of a loss.
- joelbluminator 8y agoAlmost has nothing to do with learning Farsi, great analogy otherwise
- gaius 8y agoIs it a good time to learn Ruby? I mostly do React and Node + Java work professionally It can be fun and it's as close as Smalltalk will probably get to mainstream acceptance, but if you are hoping for a lucrative commercial skill then probably you have missed the boat. Ruby is mainly used for two what most would now consider legacy things, Rails based websites and Chef based infrastructure. There is still some money to be made in maintenance of course and will be for a few years but the sun is definitely setting on Ruby. But 10 years ago it was super-hot.
- lloeki 8y agoAs a Ruby dev on the hiring market until recently Ruby seems to be in kind of the same spot as Perl some time ago: many new/existing Ruby/Rails projects are around, so it's kind of mainstream but not as much as PHP/Node/Java/whatever is which means less job offers, yet not quite niche neither, and there seems to be kind of a slight lack of Ruby devs around, and it can act as a differentiator, even for non-Ruby jobs. There's quite an interesting market dynamic at play here.