3 ms·
You'll never be able to equate Rails development to dead-simple, single-page PHP scripts, because they're not even remotely similar. You want dead-simple, sing
by bradleyland 15y ago
You'll never be able to equate Rails development to dead-simple, single-page PHP scripts, because they're not even remotely similar.
You want dead-simple, single-page web development in Ruby? Check out CGI [1]. Once you get in to Rails, all examples are completely incongruent, because you're dealing with a large(ish) framework. When you compare Rails to a framework like Symphony or CodeIgniter, the learning curves and tool stacks begin to compare a little better. I don't know what version of PHP ships with OS X, but I know the web is full of HOWTO articles explaining how to get a more sensible stack of PHP version x.x.x on OS X. Many PHP devs are how using Nginx with PHP-FPM, which isn't there by default. Then there's the question of versions. Does a version manager for PHP even exist? What happens if you need to run an old PHP 4 application?
Those questions are rhetorical. I'm sure they all have answers, but that's not my point. My point is: you end up with the same problems on a different stack once you move past trivial examples or start dealing with other people's code.
IMO, Rails scales downward just fine. A new developer shouldn't jump right in to Rails development. MVC is too complicated for someone who can't handle basic tools If you're uncomfortable with tool chains like XCode, Terminal, RVM, and Bundler, then you have some learning to do. You don't get to be a doctor without understanding anatomy, and you don't get to be a programmer without understanding the fundamentals.
1 - http://www.ruby-doc.org/stdlib-1.9.2/libdoc/cgi/rdoc/CGI.html http://www.ruby-doc.org/stdlib-1.9.2/libdoc/cgi/rdoc/CGI.htm...
- ajross 15y agoWhich sounds like you're agreeing with me. Rails (I'd extend the argument to most web frameworks, honestly) is simply too complicated for newbies. They should use something else. So I ask you: if a platform is so complicated that it simply doesn't support new developers, can it survive? By analogy, is Rails turning into the C++ of web development?
- bradleyland 15y agoI think the notion that a framework should simultaneously be suitable for someone who can't use a bash shell and able to host some of the worlds largest web applications is a little silly. You have to know what problem you're trying to solve. MVC alone is a bit much for a beginner. Beginning programmers should not start with large frameworks. Period. "So I ask you: if a platform is so complicated that it simply doesn't support new developers, can it survive? By analogy, is Rails turning into the C++ of web development?" This is so tough to answer. From my perspective, the question is completely absurd. It's like asking "if a semi-tractor-trailer is so complicated that a new driver simply can't drive it, can it survive?" Programming is conceptually difficult. Even with the best tools we have today, and probably the best tools we have tomorrow, programming will remain a challenging task. As the problems become bigger and more complicated, so do the tools. Rails is large, so there is a lot to learn. The notion of a framework is that we should avoid solving the same problems over and over again. People are often frustrated that it can take a year or more to really learn the Rails framework, but it would take orders of magnitude more time to solve all the same problems Rails solves if writing from scratch. The more relevant question is, "What problem are you trying to solve, and does the Rails framework help you do that?" A garden spade is fine if I want to plant a few daisies, but if I want to build an inter-continental pipeline, I'm going to need something a little more robust. I'm also not going to stick a 16-year-old driving permit holder at the helm of a multi-billion dollar tunnel boring machine.
- ajross 15y agoThis goes beyond "can't use a bash shell". I've written chunks of IP stacks, multiple implementations of HTTP as both clients and servers, and done a ton of server-side socket level code. I'm reasonably confident that I meet the requirements. Yet every time I need to look at Rails, I run screaming because of the huge, steaming mess that learning it has become. The point about C++ was real. It's exactly the same feeling I get when I bump into boost nerds who honestly think template metaprogramming is the path to the future.
- jshen 15y agoI've come to the conclusion that large frameworks like this are meant for people that use the framework on a regular basis and can therefore keep it in their head. I do web dev daily, so rails is great for me, but whenever I have to deal with someone's chef deployment setup my head starts to hurt. But they do devops everyday and chef makes their life easier so they get a lot of value out of it.
- bradleyland 15y agoCalling Rails a "huge, steaming mess" could hardly be considered objective. Rails has a well organized module and class structure, and solves many common problems. It's a large framework, and when frameworks get large, they take a lot to learn.
- bradleyland 15y agoCalling Rails a "huge, steaming mess" could hardly be considered objective. Rails has a well organized module and class structure, and solves many common problems. It's a large framework, and when frameworks get large, they take a lot to learn.