I get your point and I mostly agree with it, but you've tagged this with #beginners and so I think it's wise not to speak in such definitive and harsh terms.
One of the most important things to stimulate the learning process and to keep people wanting to push forward is seeing results of what they do. It's why Hello World is the first thing we show usually with no other explanations than how to compile/run it.
So let's say we have a beginner wanting to learn webdev and they have an idea about the thing they want to make. Can they make it in vanilla html/css/js? Of course they can. If they know those languages inside and out. Which they don't. Because they're beginners.
So what if they take a simple framework and get their new thing out there? Does the world end? I'm all for people understanding the stack and not being trapped by a lib/framework's way of doing things, but there's a way to express that point without making beginners feel stupid for not being able to do without one for now.
Why is there always such a rush for a beginner to create a fully fledged website quickly?
Why is this always seen as so important? It seems to be the case because most bootcamps seem to start you off with rails or an equivalent.
Beginners dont have to rush in to make an amazing fully-fledged website. They should have the maturuity to realise that maybe it takes time to learn software development and running a few rails commands is not actually learning.
I can't argue with that but again it seems to me that the issue is not Rails, is the industry that's trying to churn devs that are not fully formed or teach them they just need to read a tutorial.
Maybe that's what we should rant against 😛
I think that's maybe the tone missing from OP but certainly what i get from it is that new developers would be better served learning the basics and making "simple" websites at first, rather than diving into a framework where the knowledge you learn is far less portable and sometimes quite harmful.
"Maybe that's what we should rant against."
That hits a nerve with me, because I think that's what happened to me. I raised my hand at work one day and said I'd like to help design and develop a new SPA, having only done one static site before. There was no one else I could learn from, so I went to a framework because they wanted the project (of unknown complexity) done in a certain amount of time. I needed a shortcut. Now, being that I didn't know JS, build systems, etc etc either, it was hard at times when I was stuck to know whether I needed to search SO or the framework docs, but the benefit as a new developer was the conventions and organization that the framework brought. Since that time 5 years ago, I've learned a LOT more about JS, and frameworks are somewhat easier to use. I think they are valuable when you have SPAs to build and low-maturity devs. And my opinion is that if you have a project of any complexity, and more than one developer, you will create your own conventions and your own system and unless everyone really knows what they're doing, it will be a Frankenstein framework anyway, so why not use a a framework like Angular, React, or Vue that already has established conventions and decent documentation, and then senior devs can help juniors identify where vanilla JS is the better option.
"So let's say we have a beginner wanting to learn webdev and they have an idea about the thing they want to make. Can they make it in vanilla html/css/js? Of course they can. If they know those languages inside and out. Which they don't. Because they're beginners."
That's kinda the point though. If you don't understand the basics enough to use the holy trifecta to make something. YOU NEED TO LEARN THEM!!! Why? Becasue all those frameworks and libraries use them. And adding another layer of abstraction on top of something you don't understand well is very difficult. I graduated from a coding bootcamp and knew React pretty darn well by the time I graduated. And now I work for a company building stuff in Angular 2+ all day every day. I find the thing that helps me grow the most as a dev is building complicated things with nothing but the basics. Learning to do that helps so much in equiping you to jump from framework to framework.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.