Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming Ruby

Whatever Happened to the Ruby Programming Language? (infoworld.com) 148

Three years after Rails was introduced in 2005, InfoWorld asked whether it might the successor to Java.

That didn't happen. So this week InfoWorld "spoke to current and former Ruby programmers to try to trace the language's rise and fall." Some responses: "Rails came along at the cusp of a period of transformation and growth for the web," says Matthew Boeh, a Ruby developer since 2006. "It both benefited from and fueled that growth, but it was a foregone conclusion that it wasn't going to be the only success story." Boeh recently took a job as a senior staff software engineer at Lattice, a TypeScript shop. "You could say that Ruby has been a victim of its own success, in that its community was a major driving force in the command-line renaissance of recent years," he says. "In the early '00s it was introducing REPL-driven development to people who had never heard of Lisp, package management to people who would have been scared off by Perl's CPAN, test-driven development to people outside the highly corporate Java world, and so on. This is all stuff that is considered table stakes today. Ruby didn't originate any of it, but it was all popularized and made accessible by Rubyists...."

"The JavaScript ecosystem in its current form would have been unimaginable in 2004 — it needed both the command line renaissance and the takeoff of the web platform," adds Lattice's Boeh. "Did you know it took a full decade, 1999 to 2009, to release a single new version of the JavaScript standard? We get one yearly now. Rails became a big deal in the very last time period where it was possible to be a full-stack developer without knowing JavaScript...."

[W]hen it comes to data science, Python has a leg up because of the ready availability of libraries like TensorFlow and Keras. "These frameworks make it easy for coders to build data visualizations and write programs for machine learning," says Pulkit Bhardwaj, e-commerce coach at BoutiqueSetup.net. JavaScript, meanwhile, has spawned seemingly endless libraries that developers can easily download and adapt for just about any purpose. "As a technologist, you can go on your own hero's journey following whatever niche thing you think is the right way to go," says Trowbridge. But when it comes to JavaScript, "these libraries are excellent. Why ignore all of that?"

Many of those libraries were developed by community members, which inspired others to contribute in a snowball effect familiar to anyone involved in open source. But one big player has had an outsized influence here. Python's TensorFlow, which Bhardwaj called a "game-changer," was released by Google, which has followed academia's lead and made Python its internal scripting language. Google, as the maker of the dominant web browser, also has an obvious interest in boosting JavaScript, and Trowbridge gives Google much of the credit for making JavaScript much faster and more memory efficient than it once was: "In some ways it feels almost like a low level language," he says. Meanwhile, Ruby is widely acknowledged to be lagging in performance, in part because it lacks the same sort of corporate sponsor with resources for improving it.

This discussion has been archived. No new comments can be posted.

Whatever Happened to the Ruby Programming Language?

Comments Filter:
  • by 93 Escort Wagon ( 326346 ) on Sunday February 19, 2023 @12:44AM (#63305005)

    It went off the rails. /rimshot

    • From someone who regularly works with over 50 different programming languages, I would still say Ruby is my favourite. There are better languages to be sure, but programming is mostly boring, tedious work and extremely long. Almost all languages focus on collaboration and features but very few focus on productivity. I could get done in a week with rails which any other language would take over a month. My main negative with Rails is version 7, the entire industry is shifting to the browser doing much more
      • by lsllll ( 830002 )

        I could get done in a week with rails which any other language would take over a month.

        I feel like that with Coldfusion, especially because of the libraries I've written for it over time.

    • by phantomfive ( 622387 ) on Sunday February 19, 2023 @03:22AM (#63305147) Journal
      Ruby was on an upward trajectory, but then Twitter came along and said, "Ruby doesn't scale." That opinion spread, and after that people weren't as interested in Ruby.

      After Twitter moved away from Ruby (to Scala), it turned out the problem wasn't the language at all (or Rails, which has all the advantages and drawbacks of any ORM, which can be overcome). The problem was Twitter's incompetence at writing database queries.

      Eventually, Twitter solved their database problems, got bought by Elon Musk, and Ruby is still here and a great solution. For the backend it's much better than Javascript. (For the frontend, you still mostly have no choice but Javascript or raw HTML, but that is slowly changing [fermyon.com].)
      • by narcc ( 412956 )

        You can't really blame Twitter here. Ruby is weird, over-complicated, and needlessly obtuse. I honestly don't see the appeal, and it looks like I'm not alone.

        I don't want to sit here and pick on it, it's not that important to me, so I'll just toss out one thing that I think gets at the core of what's wrong with Ruby: Blocks, procs, and lambdas ... just ... why? It's absolutely baffling. Who in their right mind would choose make a mess like that instead of just first-class functions?

        For the backend it's much better than Javascript.

        What makes you say t

        • by Anonymous Coward
          wat [destroyallsoftware.com]
        • There is plenty of ruby where I work, and there are some big companies and sites out there using it. The thing is the devs who know it are usually valued and staying in their jobs long term. We are having trouble finding devs and are actually hiring people with experience in other languages that is transferrable and teaching ruby on the job. However I do know of some people who moved on to a competing organisation who re-wrote a similar tool to the one we use, and they opted for python only because they cou
        • I honestly don't see the appeal, and it looks like I'm not alone.

          OK, then you should try to understand the appeal. You're basically declaring your ignorance here.

        • Appeal: http://poignant.guide/ [poignant.guide]
          • by narcc ( 412956 )

            I took a very quick look at that absurdity. An early claim is that Ruby is easy to read, which is laughable, given the bizarre and inconsistent syntax.

            I'm glad you like it. Try to understand why so many go out of their way to avoid it.

          • by nmb3000 ( 741169 )

            Why's Poignant Guide is a treasure, but a good reason to use Ruby for serious (commercial) work it is not.

        • Who in their right mind would choose make a mess like that instead of just first-class functions?
          A hobbyist, who "designs" a language.

    • I liked Ruby for small projects, like a mailing list management system I wrote with it, but Rails was unusable for me. It would take 60 seconds to get Rails loaded and once it was it NEVER worked the way the docs said it would. They'd say "oh the system will do for you so you don't have to". Nope, I had to do it regardless. I gave up on Ruby and Rails in 2008 or so when someone suggested Python as a replacement. It's not perfect but it at least doesn't make claims it can't backup.

    • by Kisai ( 213879 )

      What happened to Ruby is the same question of "what happened to Perl" and "what happened to Java"

      The developers of the language took it in a direction that the users didn't want.

      Perl stopped being useful the minute PHP came out. With PHP3, every site that was running mod_perl switched to mod_php, and then eventually by PHP5 mod_fcgid to run php.

      Ruby relied on the latter functionality. But since it was not regularly installed on servers, it had to be installed by things like Cpanel. Which would only install

      • RuneScape was made in Java. I suspect it was eventually ported to something else when it became impossible to run an applet in a browser. Jagex had a suite of other Java games (FunOrb) but let them die rather than try to port them. In that case the issue wasn't so much bitrot as active hostility against the environment needed to execute the games.

        The website javagaming.org reckoned with the same issue. It used to have an annual demo-scene-type contest for applets [wikipedia.org], tried alternatives when it became harder to

      • Perl stopped being useful the minute PHP came out.
        That is nonsense. Perl and PHP have hardly anything to do with each other.

        Hint: /. is written in Perl, and there is no real reason to port it to PHP.

        Look at Java, how many games are made in Java? One. Minecraft.
        There are hundreds of games written in Java.

        I suggest to google a bit, lol.

  • by Arethan ( 223197 ) on Sunday February 19, 2023 @12:53AM (#63305015) Journal

    Rails was the only good reason for Ruby to have a success trajectory. It's an object oriented language with mixin and monkey-patch support -- Python can do this too, as well as several other introspective languages, even Go if you aren't scared (surprise!). The thread and memory models aren't innovative enough to write home about, so no new points there. The switch from jquery to react basically broke Rails and caused a bit of a chasm, which was eventually filled, but it wasn't as pretty as it was before (imho).

    The language itself still has some utility, just by nature of the HUGE number of really solid Gems out there (I think the Ruby community created way better libraries than the JS community, but that's subjective).

    If you're looking to start a new project and thinking "Maybe Ruby" -- don't. Use Python, or Go, or even Rust. Use a language that has a solid community, that a lot of people know, and enjoy using (okay, so probably not Python then ;)

    • Ruby is still in heavy use for DevOps: Both Puppet and Chef rely on it.

      Rails was never great, and as projects using it grew large and unwieldy, developers figured that out. Its database abstractions were especially troublesome when interacting with large, complex data sets.

      • by gessel ( 310103 ) *

        And redmine. I mean updating anything is a horror show, but redmine.

      • by Arethan ( 223197 )

        Puppet and Chef could just have easily used Python or literally anything else. I think those use cases were riding coat tails for publicity.

        One of the strongest points of Rails was the database abstractions. The framework make the data schema a first class citizen, forced you to keep your data models simple (you could break this rule via Gems though), make schema migrations via CI a simple action, and I've yet to find many contenders of equal prowess.

        Have you written anything of size on Rails? I have, and y

        • by narcc ( 412956 ) on Sunday February 19, 2023 @07:57AM (#63305457) Journal

          forced you to keep your data models simple

          You mean ActiveRecord? That's because it was abysmal and too cumbersome for anything by the simplest cases.

          • Activerecord was a mess. Its lead dev had publically stated that he didn't believe that referential integrity constraints belonged in the database which was an *immediate* red flag that perhaps there was something a bit brainbroke about the whole project.

            And don't even get me started on autopluralization. That was a horrifying antipattern (That rails spent the next decade and a half trying to bury but never quite succeded)

            Its a shame, I liked the rest of Rails, but compared to Djangos magnificent ORM, Activ

      • You know what the answer is? Don't encode your business login in complex relational database structures!!

        Less facetiously, I'm not sure why it happened (perhaps as a result of sounding convincing to dumb ass managers?) but at a certain point the whole industry decided (incorrectly) that it was axiomatic that business logic belonged in the relational database. This is just asinine and was driven by DBA's desire to rule the world (in my humble opinion).

        As soon as you look at what is possible with DB tech like

        • but at a certain point the whole industry decided (incorrectly) that it was axiomatic that business logic belonged in the relational database.
          On which side of the planet did "the whole industry" decide that?

          I actually never saw such a monstrosity, but some people tried hard to put as much business logic as possible into stored procedures :P There actually speaks nothing against it: if it makes sense.

          What makes sense and what not is sometimes not easy to know from the start on. I propose usually not to use

      • Ansible is just awesome [ansiblefordevops.com] all by itself, while Ansistrano [ansistrano.com] makes for an easy life.
    • Python is not a better option than Ruby on Rails.
    • Ruby feels like a better Python than Python in a lot of ways. Ruby borrowed heavy from Smalltalk, THE object oriented language, and feels better at it than Python. Although Ruby and Python are extremely similar from my view point; if you can write in one you can write in the other. I've never used Python libraries, you can never rely on the machines having them or being able to tell people how to install them, and Python really broke compatibility with release 3 which was a shame so a double hassle to get

      • Tie with duck tape. Yup, welcome to the world of the web "dev".

        • If you're using tuck tape to "tie" things, then there's a second problem. Both using the wrong tool for the job, plus using the tool wrong.

      • I think this is the overriding (good) point: " tie together other people's code with duck tape" (off topic: I'm comfortable with mixed metaphors as well, fuck the OCD crowd!). Many people who claim to be programmers or even software engineers are just glorified MS macro writers using packages for everything, and then commenting on how great JS is.
    • I love Perl and I love python. Perl is a text woodchipper and a sysadmins wet dream for bash script replacement. Python is better for objects and structured large programs and with numpy and jupyter notebooks it's a wonderful data analysis package. Ruby seems to be Perl with tidier rules and syntax and like a ghetto python upgrade. Why would I want ruby when Perl and python have both ends of the spectrum covered better?

      What was its niche ?

    • Comment removed based on user account deletion
  • Hipsters (Score:3, Insightful)

    by Akzo ( 1079039 ) on Sunday February 19, 2023 @01:15AM (#63305031)
    Overly complicated language with no real upside whose proponents solely lived on Digg. It rose with the hipster wave and died with it too
    • Why is python so corny and square?

    • You should check out the Node camp. Those folks are so far off the charts on the Hipster metric it's actually quite fascinating. They even got some really crazy ideas that actually work. Radical de-normalisation that's truely more of a "What's normalisation?", using Github directly as package archive, the VDOM craze or Utility CSS with crazy sh*t like Tailwind that throws HTML/CSS semantic purists into instant beserk mode. The whole show is actually pretty entertaining to watch, you should definitely chec

  • by theshowmecanuck ( 703852 ) on Sunday February 19, 2023 @01:18AM (#63305035) Journal

    Rusty Rails will be the new programming language.

  • by Andrevan ( 621897 ) on Sunday February 19, 2023 @01:40AM (#63305055) Journal
    For my money, and I've been programming since the 90s and software engineering professionally since 2008, Ruby on Rails is a great solution for a company to build a form-driven web application. In many cases the performance is quite good and you can get something built that works well with a short development time. The community can't be beat and the libraries have a lot of rich functionality. Most of the myths and canards about Ruby and Rails are no longer true, if they even ever were. The main problem with Ruby is that it doesn't have a Google or a Microsoft behind it, although Github uses tons of Ruby. As does Shopify. As does Apple.
    • The main problem with Ruby is that it doesn't have a Google or a Microsoft behind it

      I count that as an advantage.

    • by narcc ( 412956 )

      In many cases the performance is quite good

      Are you sure you're talking about Ruby?

  • it has always seemed clunky and odd. Ever try a Mastodon install? I have taken 2 shots at it so far and still not gotten to a running instance. But that is most likely my fault since I have not used ruby for any real projects, ever.
  • by phantomfive ( 622387 ) on Sunday February 19, 2023 @03:43AM (#63305181) Journal

    Did you know it took a full decade, 1999 to 2009, to release a single new version of the JavaScript standard? We get one yearly now

    Yearly releases are not better.

    • Exactly, languages are something that should be stable. Any change in a language that isn't backwards compatible will incur high maintainance costs at the developer. Changes in a language that are backwards compatible will lead to software products using "all" the features of the language, making the code unmaintainable.

      Therefore it's best to have as little changes to a programming language as possible.

      • I believe Crockford said, "A non-backwards compatible change is an act of violence."
      • I disagree. A language that can't change and evolve with the times, or make improvements... that just sounds like a dead language to me.

        Languages change because there is pressure to fix issues and make improvements. Breaking changes should, IMO, be reserved for very early in the language's life. Adoption is still minimal, and the language designers are getting valuable feedback from users, so the benefits are worth the drawbacks. Once adoption hits a critical mass, backwards compatibility should be the

  • by devslash0 ( 4203435 ) on Sunday February 19, 2023 @03:52AM (#63305193)

    Once the hype is over, it will go away while still needlessly increasing the size of our core operating system as a critical dependency.

    • Exactly this.
    • How does a language increase the size of an operating system?
      • by Entrope ( 68843 )

        The runtime, standard libraries, and whatever other infrastructure it needs must be included as long as any package in the OS uses the language.

        • Thank you. That didn't occur to me. Is it a problem though? Hard drives are so big and so cheap these days?
          • by Entrope ( 68843 )

            It's not just disk and RAM storage, it is also maintainer attention and system complexity and rebuild time.

            Occasionally the OS will migrate to a newer C compiler or C library or something else, and those typically trigger rebuilds of every package in the OS. Unless the other languages have fully self-hosted compilers, their compiler and runtime will also get rebuilt.

          • The problem is low powered devices that lack the resources to build rust.

          • "Hard drives are cheap" only has meaning for archiving--not performance.

            Cache-miss is time expensive, the processor wastes 10,000's of cycles waiting.
            The smaller the program, the more likely it will stay in cache.
            In general: smaller program equals better performance, escpecially in a server enviroment.

    • That depends on whether Rust ends up fulfilling a niche of it's own or not. Ruby was playing is playing in a very busy territory. Rust perhaps less so.

      There have been many languages aimed at replacing, or even rivalling C. All have failed so far. But it will happen eventually. Maybe Rust, maybe not.

  • by Casandro ( 751346 ) on Sunday February 19, 2023 @04:18AM (#63305221)

    From my brief brush with Ruby on Rails software, they did do several things wrong.
    First of all, features like "Money Patching" may sound great at first, but when abused, they can cause terrible software. That combined with lots of inexperienced programmers trying their hand at it, lead to disaster.

    Then the libraries were bad. Switching to a new version broke old code. To counteract this, Ruby comes with its own dependency management system. This might seem like a way to solve that problem, but then all the heavy lifting is done by libraries external to the Ruby universe. In effect you can easily end up with a system that depends on a version of OpenSSL that has the Heartbleed Bug.

    In addition to all of that, the code was completely interpreted. You would see syntax errors only when the code was executed. Still startup times were measured in multiples of seconds. To add to that, the abstractions provided don't actually help that much, but make debugging very hard.

    • No, you definitely get syntax errors at code load time. The interpreter needs to parse an AST from text as the first thing before it can interpret anything.

      • Well at least in that project which I had to maintain, it only showed me syntax errors when executing the code. It may have been very old as the guy who did it originally just copied over their Ruby environment from one machine to another.

        • Well obviously Ruby does not have a compiler, but the code is parsed before it is executed. It may have some dynamic loading of modules which defers this to later in execution, but so do other interpreted languages.

    • You meant monkey patching, but self-modifying code to correct for defects leads to additional self-modifying code correcting for defects in the correction which leads to more self-modifying code to correct for the defect in the correction for the defect for the correction in the defect... Turtles all the way down.
  • by Rosco P. Coltrane ( 209368 ) on Sunday February 19, 2023 @04:42AM (#63305241)

    Try to install Redmine. Once you're done with the nightmare of super-specific ruby and gems version number matching, and decoding the cryptic error messages, you'll know.

    Ruby can rot in hell.

    • What the f has an application with dubious development practices got to do with the value (or not) of a programming language? (rhetorical question , no need to reply).
  • Ruby lost to Python (Score:4, Interesting)

    by inglorion_on_the_net ( 1965514 ) on Sunday February 19, 2023 @04:55AM (#63305253) Homepage

    Ruby is still there, getting updates, getting better. But there are a ton of programming languages out there, and Ruby just hasn't become as widely used as others. It's close enough to Python that going for both is extra effort to little benefit, and between the two, many organizations and most of the world seems to have settled on Python. For a while, it looked like Ruby had found a niche of its own with Rails, and to this day people generally associate the two, but people have moved on from Rails, and Ruby is back to relative obscurity. Shame, because I actually really like Ruby.

  • by Qbertino ( 265505 ) <moiraNO@SPAMmodparlor.com> on Sunday February 19, 2023 @05:49AM (#63305299)

    It just got to fame because the Java grandpas finally discovered that scripting and Convention over Configuration was orders of magnitude better than their sh*tty "We can and must configure everthing with truckloads of XML" approach. The Ruby crowd overhyped Rails that just reinvented the wheel of countless already matured, tried and testen web frameworks, to the sound of PHP already squishing JSP, ASP and whatnot like little pillbugs. They discovered that with with a bad version of Python that couldn't handle UTF-8 - in a time where that already was a dealbreaker - and that didn't have a functioning stateless Apache mod.

    I still clearly remember the hype here on slashdot and even made some well received Funnyposts about it. Some others did too I recall. "I just rebuild windows in Rails this morning. Doom 3 still runs a little sluggish, but I'll get to that after lunch." was one that had me laughing in particular. :-)

    Ruby and Rails came way too late to the party got what it asked for, just like many others before and after: They got their ass handed to them by a little crazy stateless web templating language with training wheels that to this very days still runs circles around anything else in the serverside web, rules supreme and probably will do so until the universe ends or something. PHP.

  • by DrXym ( 126579 ) on Sunday February 19, 2023 @07:09AM (#63305401)

    Ruby on Rails was touted as allowing rapid application development but the code just didn't scale as many companies found out. And Ruby was probably the slowest popular high level language, even slower than Python. Version 3 supposedly speeds up a bit but it's probably too late by this point to expect new adoption.

  • by kbg ( 241421 ) on Sunday February 19, 2023 @08:44AM (#63305507)

    For anyone who has been in the software industry for more than a decade this is obvious stuff. Everybody can create a new programming language in about a days work, that is not the hard part. The real use of a programming language is in the development support and libraries that are available. Even if you have the best programming language in the world, if you don't have a good development environment and third party libraries that you can use, then that programming language is completely useless. This is why it's always best to use an older language until a new language has matured to the point of being actually usable.

  • Puppet (Score:5, Interesting)

    by bill_mcgonigle ( 4333 ) * on Sunday February 19, 2023 @09:56AM (#63305571) Homepage Journal

    Ruby lives on in Puppet. I drop down to Ruby code every once in a while to bang out a function that interacts with the system libraries.

    Generally I don't care what language I write in, and Ruby idioms are always strange, but it gets the job done.

    Puppet's DSL borrows heavily from Ruby, Perl, and others, and if you already have your head around functional programming it's quite usable.

    Unfortunately the onramp is steep and the documentation sparse, but learning by examples works out OK.

    I can't imagine ever trading that for trying to maintain geographically diverse clusters with a procedural language. There be demons there.

  • We already have C, C++ and Java as the dinosaurs still more or less successfully roaming the earth. Perl sort of completely collapsed, so there was a slot to be taken.

    Ruby never appeared to have a real shot at it because it only had its claim to fame as a quick prototyping language with rails, but with its duck typing it is at most solving esoteric gripes that hardly any real devs struggle with in daily work. You can have a rails like prototype system in any language.

    Python looked much more promising and ha

  • Apparently a Ruby can Rust.

  • I think it started dying when Twitter started migrating away from it in the age of the blue whales. If twitter was unable to scale it, nobody was going to touch it for anything serious.

    Rails was good for quick and dirty, but hard to maintain for large and longevous, eventually other languages and frameworks caught up quickly and development moved to the client side for UI and APIs on the backend, mobile grew, so the advantage wasn't there anymore.

  • by nagora ( 177841 ) on Sunday February 19, 2023 @11:34AM (#63305771)

    My observation from the outside is that it was too hard to pretend to do OOP and too hard to just ignore TDD in Ruby. Almost all the Python code I see has neither object orientation nor any sign of decent tests. It often looks very like Bash - just a list of calls to something else and then a marshalling of the results.

    People writing short throw-away scripts like that. "proper" coding has an overhead that doesn't pay off on little scribbled scripts to solve some text processing issue you have this morning because a customer did some data entry on a foreign keyboard and its littered with things that look like comas but are not in fact comas. Python's 'sort of OOPs' works fine for people who need that - maybe not as well as Perl or Bash, but the language you know is infinitely more valuable than some better language you don't know.

    Ruby itself also dropped the ball on the OO part, failing to make booleans and control flow object oriented, throwing away a lot of the expressiveness that they should have inherited from Smalltalk.

    Smalltalk itself, of course, was killed by Xerox's greed and continues to lie in the grave due to the inability to make it support multiple cores (or lack of interest, perhaps). On paper, it's still one of the the best languages out there.

  • It was orders of magnitude more slow, because everything was an object that could be "monkey patched" at runtime. When the topic came up, I used to joke about serving web pages from an integer. I believe it also had scaling issues, and the first rev of Twitter was written in it and had to be re-written. That may have been the turning point, but I don't care enough to google the history. I'm just glad that it's not too popular any more; but just the other day I saw something about Mastodon using it. Ma

  • The ruby library names were all pathological, Celery, Thor, Capybara, and so on give zero clue what there things are.
    Putting then ... end around blocks instead of using simple braces was just wrong.

    Rudy was very ugly, or what they called idiomatic Ruby was very ugly.

    Also the performance was not so great.

  • by Somervillain ( 4719341 ) on Sunday February 19, 2023 @05:49PM (#63306553)
    Ruby led to shit applications. Is that Ruby's fault? Not really, it's just a tool, but all of the lowest-common-denominator languages faced the same fate: VB, PHP, ColdFusion, Ruby, Groovy, and hopefully a few others in the near future. The more non-programmers using a programming language, the shittier the output will be. As a result, there will be a huge stink on the language. It turns out programming is a LOT more than getting for loops working, REST clients connecting, or parsing documents. Java is not necessarily superior to Groovy or Ruby...certainly not in proportion to how much more successful it was to either language. However, shitty non-programmers writing code using libraries and frameworks designed by non-programmers leads to an ecosystem with a terrible reputation. Having to know how to deal with OOP and strong typing does keep out many of the people who should not be writing code:...and as a result they're all writing on node.js now. :)

    You can do great work in any tool. However, it takes experience and training to write applications that scale and can be maintained after your leave the project. These easy-to-use languages like Ruby were hot with non-programmers who wrote horrible prototypes that worked...but were a nightmare to maintain, secure, or scale, so every company that hired them had to hire Java devs to rewrite the application so it can scale and be handed off. I think it's unfair to blame Ruby...I blame the type of people who are drawn to it. People don't respect programming as a trade or occupation as much as they should. It takes a lot of experience and learning to figure out how to do things well and both know the best practices and understand why they're best practices so you can make decisions when you find a problem that has conflicting best practices. However, it takes a lot less skill to just get things working...you just don't find out until much later.

    It's like carpentry. All those building codes seem strange to an outsider and I am sure I could build a structure that resembles a house because I know my way around the tools. It may even be a nice looking house that works fine for awhile, but will it survive a rainstorm?...will it survive the winter?...will the roof collapse if we get freezing rain?...will a small earthquake or just big truck driving by make it collapse?...can it be repaired easily?...will it be prone to early rot?....what about UV damage? It turns out building a house is a lot more difficult than building walls out of 2x4s and screwing sheet rock on the inside and siding on the outside and placing a roof on top. The same applies to writing applications.

    Also, historically, the more easy-to-use and loosely typed a language is, the worse the performance and scalability are. IMO, that's a correlation, not causation. I think someone could make an easy-to-use language that scales well and is easy to use. Unfortunately, if you attract a bunch of people whose only training is reading a few blog posts and aggressive StackOverflow querying, the odds are not in your favor they'll do a good job. It's a bit elitist, but it's true.

    People that have had to learn more to do their work tend to do a better job. The average senior Java programmer does better work than the average JavaScript equivalent. The average C programmer does better than the average Java equivalent. Perhaps the average assembly programmer does better than their C equivalent? I don't know because I've never met anyone making a living writing assembly, but would believe you if you told me that was the case. We can debate the cause, I am not confident I know the answer. I just have seen the results.
  • It's still the backend for a lot of code that heavily makes use of JS on the front end. Even Rails. It's also still GAINING new support in cloud platforms that allow it to run as backend functions, in basically all the places that support Node and Python. (AWS Lambda, and google cloud, pretty much across the board, Heroku) It's not the hipster billboard language anymore, but it's still supporting a pretty big economy. (Maybe not in public github contributions either.)
  • For years, incdluding several after the team lead left, I had to make sure *not* to update ruby (working at a civilian sector federal gov't agency), as anything other than - I'm trying to remember from like 8 years ago - 192 broke the entire application.

It is easier to write an incorrect program than understand a correct one.

Working...