Frankly I'm not a fast learner, unfortunately. Although it's possible that I've convinced myself of that because I hate the Java ecosystem so much that my brain just doesn't want to absorb information about gradle and intellij configuration and java dependency management and so on.
I guess what I’m trying to say is if you end up focusing on working only with what you’re proficient at, you may be missing out on other opportunities that you may end up enjoying more long-term.
My email is in my profile.
I'm not into Ruby but I see people hesitate similarly about my preferred lang and mostly think they should just take that leap.
Depending on the size of the library it might make sense to rewrite it. Using C extensions is more popular than Python or other languages
Based on my ambient knowledge, I wouldn't want to write anything in the machine learning space in ruby. Or for that matter in any language other than python (or maybe scala/java, if you are using spark).
Or are you suggesting that python has more/superior libraries compared to ruby across the board?
That is not to say that you can't get a job and you might win the market by doing something increasingly rare in relatively high demand. Or you might not. Or you might do ruby for a multitude of other reasons but relative popularity better not be one.
- https://trends.google.com/trends/explore?date=all&q=%2Fm%2F0...
- https://trends.google.com/trends/explore?date=all&q=%2Fm%2F0...
But this is well known :)
Nor is Ruby a secure bet, nothing is really. Ruby is niche but it still has a very strong community, there is almost nothing web related Rails and the community haven't solved. I think people overrate the importance of community size. Does it matter if JS has 10 million devs or 20 million? Not really imo. Maybe even 10 is better than 20, less decision fatigue.
Besides, unless a language has a strong point compared to others, it's a hard sell, like PHP is good on web, JS is known by everyone and ecosystem is huge and python is good for ML and scientific stuff but what's the selling point of ruby besides rails?
With that said I do like the language itself (but not the typing system in 3) and would like to use if there's a place for it.
I'd say it is custom webapp development (with rails) and scripting on the command line (anything bash can do, ruby can do better).
PHP is good on the web with the huge installed base of wordpress, but when it comes to custom web app development, ruby (well, rails, really) holds its own with laravel, symfony and the other MVC frameworks.
That's true but you could say that about zsh too, and any number of other languages. Usually, the important reason that shell programming is used is the lack of need to install anything to run a script, which makes it easy and portable, and hence, reliable.
I can't write a script in Ruby and share it safe in the knowledge it will work on another system, especially if it relies on a gem or two. I'd much rather go with something that compiles and move a binary around if I'm dropping dash/bash/zsh. If I was forced to choose an interpreter to do that kind of work, perl would be much safer than Ruby, Python or Javascript.
completely agreed. on a linux system, most of my shell scripts are written in ruby at this point, simply because it is much better to work with than bash.
* The text editor I use day to day.
* A messaging middleware server
* A private cloud orchestrator (running ~1000 VMs across on-prem, a couple of colo's, managed servers and
* Many web application backends for various sites; e.g. e-commerce, CRM systems.
* Forecasting and simulation framework for a VC.
* Framework for statistical analysis of error rates for OCR engines, and models to attempt to reduce the error rates by applying various clustering methods (for my MSc; "dipped down" to C for kmeans a couple of other things via FFI; 95%+ of the lines of code was Ruby)
* Map-tile renderer (we rendered custom maps based on hundreds of layers of proprietary map data for customers) and the webapp to go with it (document managed linked to map data)
* FUSE filesystem doing on demand rendering and caching of the map tiles mentioned above for newly uploaded layers.
* Code to generate terraform files to deploy infrastructure.
And when I have time I play with writing game code using DragonRuby.
I can do all of this in a dozen other languages too. I've done in Ruby because Ruby is pleasant to use and feels most productive to me.
I think these 2 quotes by matz describe best ruby's philosophy.
> I hope to see Ruby help every programmer in the world to be productive, and to enjoy programming, and to be happy. That is the primary purpose of Ruby language
> Often people, especially computer engineers, focus on the machines. They think, "By doing this, the machine will run fast. By doing this, the machine will run more effectively. By doing this, the machine will something something something." They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves.
That's why I wish ruby to succeed but after 20+ years of the language being around and python is taking all the scripting needs outside of web, I'm not sure what area is left for ruby.
Feels soft, malleable, agreeable, and defines the minute-by-minute experience of using it.
Puts me in a state of flow and contributes to me looking forward to coding sessions.
In devops, at least, Puppet extensions and facts can be written in ruby.
I much prefer ruby as a scripting language, as well.
* Job board for Ruby https://jobs.gorails.com/
* top companies using it? (shopify, github, stripe)
* number of stars on github for projects? https://github.com/rails/rails has 50k stars
* place in the Redmonk language rankings? https://redmonk.com/sogrady/2021/08/05/language-rankings-6-2... shows it at #9
* ability to get a good paying job? https://marketing.dice.com/pdf/2020/Dice_2020_Tech_Salary_Re... has the ruby salary at 114k, more than typescript/javascript
I am an active member of the ruby community so am definitely biased, but I'd love to know. Sorry if that's combative, but I always wonder how folks choose languages based on popularity. If there's anything folks can point at, or if it is more of a gut feel. (Unless it is javascript or C, which are always going to be around because of their huge deployed base.)
Edit: added place in the redmonk ratings. Changed to be less combative.