+1 for non-web Ruby usage.
Ruby sees usage in IT operations as evidenced by LogStash, Chef, and
Puppet. I think the language lends itself well to applications with
extensible architecture (plugins, multiple services, queues, etc..). This
kind of architecture is required to integrate with multiple systems from
network and application vendors. Since many systems are closed or implement
standards poorly, integration is often achieved via adversarial
compatibility. Ruby's flexibility enables the quick changes needed to keep
up with vendors' changes.
The fact that I can leverage Rails' web/db/jobs integration for a nice web
interface is icing on the cake
. That's not to trivialize a good web
interface, I enjoy using Rails, otherwise that final 10% could take 90% of
the time. A system will only be used as well as its user interface permits.
Ruby has script-ish features that enable quick development of ad-hoc CLI
utilities, and - more importantly IMHO - a flexible approach to OOP that
permits what were once throwaway scripts to be grown into well structured,
maintainable tools. Combine that with the conventions, ecosystem, and
infrastructure of RubyGems, Bundler, Semver, TDD, etc.. and you can count
on being able to maintain and deploy your code reliably for a long time.
These are benefits of Ruby I don't hear mentioned often enough.
*For all those reasons and more, my Ruby code has the longest useful
lifetime of any code I've ever written. *
(Some of it is almost old enough to vote and drink
.
However, it would be nice to see a standard way to package apps directly to
users outside an operationally managed environment in a user-installable
cross-platform way, but that problem is common to interpreted languages.
For those who like to work closer to the metal (real or virtual), there's
lots of activity at the intersection of MRuby, LLVM, WASM, etc..
Finally on the fun side, there's game dev with GOSU and DragonRuby (based
on MRuby). I was pleasantly surprised at how much "Ruby" you can write in
"MRuby" 
I would greatly enjoy Ruby as a scripting language supported by the
batteries-included game engines like Unity, Godot, etc.. .NET does not seem
to be a viable bridge, maybe LLVM oir WASM will be.
Okay, I'm all done going on and on about how Ruby makes me happy and my
life better, thanks for listening and ありがとう Matz
.
-gf-
···
On Thu, Feb 3, 2022 at 9:26 AM Mohit Sindhwani <mo_mail@onghu.com> wrote:
On 2022-2-3 6:41 pm, KOTP wrote:
> On 22/02/03 09:28AM, Carlo E. Prelz wrote:
>> Subject: Re: Ruby for structured conversations
>> Date: Thu 03 Feb 22 04:11:59PM +0800
>>
>> Quoting Bitfox (bitfox@bitfox.top):
>>
>>> Does ruby work primarily on web development?
>> Sadly, this appears to be the case.
> "appears" might be somewhat key here, as the "Web" is something that is
> very visible, while systems administration is not so much so. But I
> would venture a guess that it is used for "glue" in systems
> administration as well, as evidenced by such things as sensu[1],
> logstash[2], chef[3], puppet[4] and can be used where one might use bash
> or Perl for systems administration, which simply is not a very visible
> area.
Yes, I have to chime in here and say that you can use Ruby rather
comfortably in a wide variety of use cases (unlike for example something
like PHP that's very web-focused).
Where I work, we use Ruby for a lot of backend automation:
* Data processing and conversion
* Data formatting and encoding (into standards)
* Data movement (across FTP, Amazon S3, and similar services)
* Orchestrating execution of complex processes
* System monitoring and alerting (via calling a webservice or sending an
email)
* Downloading data from some of our systems (calling web services) and
doing something with it
* Testing non-Ruby backed systems (using RSpec)
* Rendering graphs or visuals for offline use
* ...and so on
We also use JRuby (an implementation of Ruby that runs on the Java
Virtual Machine) to package some of the Ruby scripts into stand-alone
JAVA JARs so that they can be used anywhere you have a Java runtime
installed. This is also written up on my blog at:
JRuby on Windows: Day 2 - Creating Executable JARS
Hope this gives some ideas - please ask if you have any follow-up questions
Best Regards,
Mohit.
Twitter: @onghu
Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk>