4 ms·
Ruby doesn't really have a learning curve... Maybe block syntax but that's super easy. Rails gives you way more structure than Django.
by dismalaf 2y ago
Ruby doesn't really have a learning curve... Maybe block syntax but that's super easy.
Rails gives you way more structure than Django.
- delichon 2y agoYou may be overestimating the rest of us. It took me years to get fluent and I'm still learning after 12 years full time in Ruby. Sure you can learn the basic syntax in short order, but for us muggles, not the quirks of the standard libraries, let alone the whole ecosystem.
- dismalaf 2y agoThere's always things to learn. Ruby does have enough features that you can take years to memorize things, sure. But to learn enough to make a program that does useful things doesn't take long. If you already know how to program in a different language, maybe a weekend at most. Ruby was my first language and it didn't take me long (maybe a week of very part time tinkering) to learn how to make a basic 2D platformer game, or scrape the web for financial data and throw it into a database. The first time I made a Rails app it took maybe 30 minutes, to go from nothing to a basic CRUD app that does things and is online on Heroku. In a professional context, I've heard of non Ruby devs getting up to speed pretty quickly. And as much as there might be to learn mastery, it's still a dynamic language that takes away most details for you (like managing memory) so you can definitely be useful far quicker than if you were to learn C, Rust, Haskell or shudders C++.
- shepherdjerred 2y agoRuby _definitely_ has a learning curve
- hombre_fatal 2y agoEspecially reading other people’s code.
- hatsix 2y agoI tell people that Ruby is a language optimized for reading. Things just make sense when you are reading what someone else wrote, but it can be much more difficult to write something from scratch with no guidance. Take dates, for example. Let's say you are fixing an issue, validation was set to accept one week in the future, but should have been one day in the past. 1.week.from_now becomes... well, how do you look that up? You head to the Ruby Lang site and look up Integer, but Integer doesn't have `.week`, so now you have to rely on Google-fu to find what you need, but you'll get a mix of base Ruby and Ruby on Rails, which modified base classes with some syntactic sugar. Eventually you find 1.day.ago and file that away, only to go through the same research for the next line you need to change. It can be one of the most pleasant languages to read, but a lot of hidden knowledge is required to write it like Ruby wants you to.
- Kerrick 2y agoThat isn't Ruby, that's Rails. Ruby doesn't have nearly as big of a learning curve as Rails.
- dismalaf 2y agoLiterally everything you described is fixed by reading the documentation. Using Rails? Read Rails documentation. Using bare Ruby? Read Ruby documentation. And literally every programming language is like this. C# won't contain Unity C# classes. Basic Python won't have Numpy classes. JS won't have React functions. And so on. Also it's not like Ruby is the only language to ever have monkey patching... It's absurd that this is being brought up as a Ruby weakness when both the Ruby website and the Rails website each have amazing documentation and if you actually read the documentation, go through tutorials, it's all laid out very clearly. https://www.ruby-lang.org/en/documentation/ https://www.ruby-lang.org/en/documentation/ https://rubyonrails.org/docs https://rubyonrails.org/docs Dunno, whenever I learn a new language, I read the official docs. When I learn a new framework, I read the official docs. Even when I was an absolute newbie, I learned from the resources on the official website.
- bluecheese452 2y agoNot my experience
- WD-42 2y agoIf you are coming from a standard C family language like Java(script), Python, or anything really, Ruby looks weird AF. It for sure has a learning curve. No parens around function arguments? WTF is that?
- dismalaf 2y agoInteresting. When I first learned programming in the 90s as a kid, it was Visual Basic (no braces). A good friend of mine was super into Lisp. My dad (who was a programmer) also had loads of Delphi (Pascal) books, apparently it was the language to use in the 90's for quickly building apps. Again, no braces. So definitely not something I really cared about when I started learning Ruby (among other things) in the 00's. When they taught us programming in school, Scratch was the first thing they taught. Then Python. I was in Econ as opposed to CS so then it shifted to Stata and R (for those who didn't want to pay for Stata and were more into current trends). For dropping down to low level, Fortran. I guess where I'm getting at is maybe I just learned at a particular time when there were lots of programming languages that didn't have braces and were popular? Dunno. C was seen as low level sorcery, C++ was for games, Java I guess did become popular by the time I was in university but only the CS kids destined to become enterprise programmers used it. All the "learning" languages I encountered didn't have braces. Nodejs didn't exist yet. So yes, Ruby was very intuitive. It read almost like plain English, had very consistent syntax and was very accessible on Linux systems (which were becoming more common and already very good by this time). Being able to just "blah install Ruby", then open a REPL, have an interactive environment and run things immediately was very easy.