happy coding tutorials are awesome! But very basic and old technologies are explained (like jsp, servlet). I agree with you that it is very important to know the basics of everything. Today, there are technologies such as React, Spring, vue.js that make our work easier.I would love to learn these technologies from you and see them in your trainings.
Thanks! This is valid feedback, and itās something I think about a lot. Let me see if I can try to explain my thoughts out loudā¦
My Path
My path to learning web development (while building my old site, Static Void Games) was very unorganized. I started out doing everything in JSP, eventually learned more about JavaScript, then added Bootstrap on top of that. Somebody told me I should be using Spring instead of JSP, so I switched over to that. I was very confused and frustrated by Spring, and it wasnāt until I took a class in grad school where I learned about servlets that everything clicked into place for me.
Fundamentals
So like you mentioned, I think itās super important to learn the fundamentals before you start using frameworks and getting into advanced topics. I wasted a lot of time being lost in Spring, because I didnāt understand the fundamentals of how everything fit together. In other words, I feel like I learned things in the wrong order: I learned Spring before servlets, when I should have learned servlets before Spring. Thatās why Happy Codingās Java server tutorials use servlets and JSP: because I think learning the fundamentals first is essential to really understanding what youāre doing.
Coding and Backpacking
And while Iām introspecting, Iāll also say that I think thereās merit in not going directly for a framework for everything. I see coding (especially coding as an individual and not on a team of full-time engineers) a little bit like backpacking, where everything you add has a weight. You wouldnāt want to hike 10 miles with the fridge from your kitchen strapped to your back. And I wouldnāt want to spend my weekend fighting with setting up a framework just to get a simple website up and running.
The Framework Trap
A trap Iāve seen a lot of folks fall into is skipping the fundamentals and learning a framework instead. Iāve done about 50 interviews at Google, and one of the more awkward scenarios is when somebody knows React, but doesnāt know what a request is, or how to debug JavaScript.
On the other hand, I will say that understanding the fundamentals has been crucial in helping me understand the frameworks I use at my day job. Google uses a bunch of proprietary, closed-source frameworks that you canāt find information about publicly, so itās super important to understand whatās happening behind the scenes. Being able to say āoh this is just like JSP but with a slightly different syntaxā has really helped me, in a way that I donāt think would work if I had skipped the fundamentals and tried diving straight into the deep end.
The Process
All of that said, Iām not saying people shouldnāt learn these frameworks. I just think they should learn the fundamentals first. If you want to learn Spring, cool, but Iād suggest learning servlets and JSP first, so that you understand whatās happening behind the scenes, and you appreciate what Spring is doing for you. Thatās why the server tutorials currently end with learning about Struts, because I think that learning about frameworks is the logical next step after you learn the fundamentals.
So I see Happy Coding as a starting point. I want to show people the process of learning, researching, and playing around with code. To me, thatās more important than the syntax of any particular framework. And if after that they want to learn about Spring or React or whatever the hot new framework is these days, then theyāll be able to apply that process to learning anything they want.
The Future
Now all of that said, itās not out of the question that I might write React / Spring / fill-in-the-blank tutorials someday. But itās not going to be anytime soon: Iām currently updating the Java tutorial to use the latest Jakarta stuff. After that Iām (fingers crossed) going to be teaching an intro to web dev course, so thatās going to keep me busy through the middle of 2022. Then after that I feel like I need to dust off the Java tutorials, which will likely keep me busy until the end of 2022, assuming I donāt teach another course in the fall.
In the meantime, I like the idea of Happy Coding doing one thing well (or, at this point, 10 things pretty well) and not adding stuff just for the sake of adding stuff. Everything on Happy Coding was something that I learned for a specific reason. And right now, Iād just be learning React for the sake of adding tutorials, which isnāt really how this works for me. Someday I might have to learn React, and at that point Iāll add tutorials for it. But at this point, Iād rather leave the React tutorials to people who are already putting that work in, and I donāt think thereās much I could add that would improve whatās already out there.
Hopefully that makes sense and doesnāt come off as defensive. I think your question is valid, and obviously itās something I find super interesting to think about.
If you do find a React / Spring / Vue / etc tutorial that you like, make sure you post a link to it so other people can check it out!
I have a lot to learn from you. Iām always following you.
Ah thanks! Honestly I think weāre all learning from each other, so it works both ways!
Liking the ācoding like backpackingā thought. Youāll need those fundamentals when there is no trail ā and eventually, you always get to a cross-country section.
Ha! Funny how easily the backpacking metaphor came to meā¦