4 ms·
These are great points, if you already have Ruby in your stack. For me, when Bash ain't enough I upgrade to the Project language (PHP, Python, JS, etc). For co
by djbusby 2y ago
These are great points, if you already have Ruby in your stack.
For me, when Bash ain't enough I upgrade to the Project language (PHP, Python, JS, etc). For compiled project I reach for LSB language (Perl, Python) before introducing a new dependency.
- sestep 2y agoWhat does LSB stand for?
- wisemang 2y agoLinux Standard Base. Already on the system.
- nequo 2y agoI assume it means Linux Standard Base: https://refspecs.linuxbase.org/LSB_3.2.0/LSB-Languages/LSB-Languages/book1.html https://refspecs.linuxbase.org/LSB_3.2.0/LSB-Languages/LSB-L...
- sestep 2y agoThanks, I didn't know about that! I'm curious though; even LSB 5.0 only demands Python 2.4: https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Languages/LSB-Languages/pyversion.html https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Languages... Do people really write scripts against Python 2 just so that they're guaranteed to be supported by LSB?
- o11c 2y agoNobody actually follows the LSB as written. But it remains useful as an idea of "stuff that was installed in old distros so usually has some newer version available". Assuming you can survive all the incompatible interpreter changes for Python etc., the main annoyance with LSB proper is shared library versions.
- nequo 2y agoThat is one reason to use Perl I guess where you can request the feature set of a specific Perl version.
- deleted 2y ago[deleted]
- cortesoft 2y agoRuby is fantastic for the main project language, too! And is also standard on many Linux distros.
- simoncion 2y agoRuby's fine for small to medium-sized projects. It's pretty great for small DSLs. In my professional experience on medium to large-sized projects, its lack of explicit typing, the habit of Rubyists to use its fairly-substantial metaprogramming capabilities at the drop of a hat, and (for projects that include pieces or all of Rails) the system's implicit library loading make such projects a nightmare to reason about and maintain. I'm sure these aspects are manageable with a small group, or a very, very disciplined group, but when you have large-sized projects that have been continually worked on for ten, fifteen, more years, you're just not going to be able to guarantee that everyone involved will have the combination of knowledge and discipline require to ensure the thing remains easy to understand, extend, and maintain.
- cortesoft 2y agoI work on a 12 year old Ruby project at my job, and while some of what you say is true, I still love working on it more than anything else.
- simoncion 2y ago> ...while some of what you say is true... What parts of what I said is not true, and how?
- amarshall 2y agoImplicit library loading isn’t even the real problem, it’s the global namespace. I think it, more than anything else, makes large projects difficult to manage due to the inability to grok the dependency graph.
- simoncion 2y ago
- nightpool 2y agoMany distros come with Ruby standard, it's not very big and I think it has a lot to recommend it over Python or Perl when it comes to lightweight scripting for sysadmins and day to day automation. I wouldn't necessarily pull it into an open source project where they weren't already present, but I would definitely choose it for personal use well before Python or Perl
- dymk 2y agoUbuntu, Debian, Arch, CentOS - none of these, as far as I know, ship with a Ruby interpreter by default. I’d like to be wrong, but I don’t think many do.
- drusepth 2y agoIt's been a while since I reinstalled Ubuntu, but the latest version (24.04 LTS) definitely includes Ruby (3.2) according to their docs [0]. [0] https://canonical.com/blog/canonical-releases-ubuntu-24-04-noble-numbat#:~:text=Ubuntu%2024.04%20LTS%20includes%20Python,and%20Rust https://canonical.com/blog/canonical-releases-ubuntu-24-04-n....
- mixmastamyk 2y agoIt's in the repos, but not installed by default. Not on my Fedora box either.
- gavindean90 2y agoAnd Python 3 is everywhere
- o11c 2y agoIt might be installed by default from the graphical CD, but you can't assume everybody uses that, even outside of server environments.
- bigstrat2003 2y agoDoes Arch even ship with Python by default? Its whole thing is being minimalist by default and letting you customize what is and is not installed.