4 ms·
I 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 app
by bradleyland 15y ago
I 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.