DHH answers: What makes Rails a framework worth learning in 2017?
91–100 of 135 posts
Re: DHH answers: What makes Rails a framework worth learning in 2017?
#92Re: DHH answers: What makes Rails a framework worth learning in 2017?
#93Re: DHH answers: What makes Rails a framework worth learning in 2017?
#94> You get to use Ruby, which [...] remains the most extraordinarily beautiful and luxurious language I’ve yet to encounter. I've used Ruby sporadically as gap-fill in small projects, but I didn't feel the language has any qualities that sets it apart from others. Perhaps I missed something, any Ruby devs care to comment?
This article might be helpful: https://martinfowler.com/bliki/HumaneInterface.html . I use Ruby occasionally only, but agree with DHH's point. At least compared to the languages I knew before I learned Ruby, I found it to be designed to be aesthetically pleasing to humans. This might be even be the cause for the parse ambiguities.
Just to add, my work revolves around the JVM ecosystem, but mostly in Scala and some Kotlin... Both already provide a nicer interface for Java :) e.g. in the context of collections both have `list.head` or `list.first` and `list.last`.
Re: DHH answers: What makes Rails a framework worth learning in 2017?
#95Here's a reason: money. Rails is still very popular, so there's plenty of work out there.
Re: DHH answers: What makes Rails a framework worth learning in 2017?
#96Maybe a more relevant question is whether Rails is worth learning if you're looking for a job. Searching Indeed.com's API by title, which removes duplicates, there are currently 133 Rails jobs in the USA compared with 763 PHP (excl. WP, Drupal etc.) and 467 Node.js. In the UK there are 104 Rails jobs compared with 1013 PHP (excl. WP, Drupal etc.) and 230 Node.js. However, if you deleve deeper it turns out that half o…
Besides, if for 133 rails jobs and 763 PHP jobs there are 60 and 1500 rails and PHP candidates (respectively,) you're clearly better off choosing rails.
Re: DHH answers: What makes Rails a framework worth learning in 2017?
#97Earlier quoted context omitted.
He considers the monolithic architecture to be an advantage: https://m.signalvnoise.com/the-majestic-monolith-29166d02222...
If he really believed that, then the thing todo would be to re-write rails to run on top of node. Then he'd have a runtime that spanned nearly every possible use case and device. Sticking with Ruby betrays that aesthetics are really the core premise of Rails, rather than aspirations of being the one framework to link all run times and in the darkness bind them. Frankly, node needs such a framework.
Re: DHH answers: What makes Rails a framework worth learning in 2017?
#98Maybe a more relevant question is whether Rails is worth learning if you're looking for a job. Searching Indeed.com's API by title, which removes duplicates, there are currently 133 Rails jobs in the USA compared with 763 PHP (excl. WP, Drupal etc.) and 467 Node.js. In the UK there are 104 Rails jobs compared with 1013 PHP (excl. WP, Drupal etc.) and 230 Node.js. However, if you deleve deeper it turns out that half o…
Re: DHH answers: What makes Rails a framework worth learning in 2017?
#99Earlier quoted context omitted.
Agreed. Would love to see DHH build an opinionated framework for node rather than waxing poetic about Ruby.
This is the first time I've seen someone complain that Ruby is a worse language than JS(ES5). Care to elaborate for those curious?
ES5, for me, was a complete surprise because I wasn't really expecting to enjoy using it. Perhaps I let myself be unduly influenced by the crowds ;-).
Prototypical inheritance is surprisingly nice. It is a simple concept and it is obvious exactly what's going on under the hood (if you care to look ;-) ). It allows a lot of functionality without requiring a large amount of language syntax. Ruby, on the other hand, has a more complicated (perhaps one can say more sophisticated) system, but requires a lot of language features to implement. Things like method_missing and all of the meta programming features feel bolted on.
ES5 has this really nice core design where language features just pop out. So private accessibility is done simply by using closures, etc. You have higher order functions without the absolute craziness of procs and blocs. Even things like mixins and traits are incredibly easy to implement with a couple of lines of code. Ruby, on the other hand, is a kind of byzantine structure where everything is bolted on with C code and the language itself is rather inflexible.
I really like the idea in ES5 that classes are simply functions that return an object. Hooking up inheritance structure is a complete PITA, but conceptually the design is really clean. Even the idea that objects are simply hashes and that methods are simply functions in a hash is really nice. Even the weird this pointer is at least consistent (despite being practically useless).
Where ES5 gets its bad reputation is in type/data coercion (which it shouldn't do at all IMHO, and it certainly shouldn't do it the way it does it). It also has a truly awful standard library -- to the point where most experienced developers simply avoid it! My main other problem with ES5 is that it is overly verbose, but this is something I feel that is shared with Ruby in many ways.
IMHO, use of a transpiler is just a good idea with ES5 because while the core of the language is excellent, the stuff surrounding it is full of pitfalls. I personally like CoffeeScript quite a lot and honestly prefer writing CS to Ruby. Typescript seems like it is also quite nice, though I haven't used it. Lately I've been playing with Purescript and while it is legitimately a different language compiled into JS, I really enjoy reading the compiled JS output, because it often compiles into something very elegant.
Conclusion: Ruby is fine, but ES5 is just a lot more elegant internally and it is much easier for me to use it intelligently to produce nice code. Ruby has a much better standard library, but language features are bolted on without them being driven by an internal design. Basically, I think they think "Hey, this would be a convenient syntax. Let's write the C code to make that work." without really evaluating whether there is any internal consistency. Some people may actually consider that a plus, but I prefer simpler languages. Note that I feel that in many ways ES6 is wandering over in this direction and I am somewhat disappointed with it. I was happy you specified ES5 in your question, because a similar question about ES6 would have been harder for me to answer.
Re: DHH answers: What makes Rails a framework worth learning in 2017?
#100Earlier quoted context omitted.
If I read your comment correctly, I believe you are suggesting that backends will provide APIs, which would leave us with the MC in MVC, the controller is still needed to map data structures to API endpoints. My question to you is this: why do you believe that? I think we have all witnessed a growth in popularity in front-end MVC frameworks, but are they the correct solution to all problems?
> the controller is still needed to map data structures to API endpoints. I mean, kind of. You don't really need much controller logic most of the time anymore. Last Rails backend I wrote probably involved personally writing a few lines of code here and there. Generally, I'm just pushing a JSON object back and forth. Auth and emails can just be 3rd party. The vast majority of controller type behavior ends up client s…