I have been diving into different programming languages & frameworks & I am trying to figure out the best way to balance learning theory with hands on practice. I started with some basic scripting to understand syntax then moved into building small apps to get real experience but I still feel there is a lot more to explore.
I noticed that many developers mention frameworks as a key turning point in their learning When someone switches from just learning Ruby to actually working with Rails it feels such as the concepts start clicking in a different way I came across a Rails course online & it made me think whether following structured learning paths around frameworks really helps in getting a stronger grasp compared to just experimenting on your own.
I wanted to ask the community what worked best for you Did you focus more on raw language skills before moving to frameworks or did you learn both side by side I want to hear your approaches & experiences.
Also i have check this Lucee language compared to Clojure with FW/1 framework still need advice.
I’m a huge proponent of learning by doing; which is why I think that the vast majority of the learning that I do has to be work-related / on-the-job learning (or at least job adjacent) or I’ll never build up the muscle memory to make what I learn actually consumable. I do try do some truly independent learning; but, it’s considerably less effective than doing something that I can then turn around and use at work.
I think taking a course is helpful to give you the “vibe” of a language / framework. But, I’ve had trouble finishing courses that - again - I can’t immediately translate into something day-to-day.
Of course everyone is different. I wish I had more motivation to learn random stuff. Or at least dabble enough to get the “vibe” of it without feeling the pressure to take something to completion.
Over the last few weeks, I actually just started putting together a side-project for the purpose of being able to do some stuff that isn’t directly work related (but is language related). I’ll see if I have the motivation to go anywhere with it (repo: GitHub - bennadel/app.bigsexypoems.com: Logged-in site for Big Sexy Poems.).
In summation, it’s hard. I try to:
Do stuff that is primarily work related.
Do stuff that is geared towards building something.
I’m biased because I’ve been a cfml dev since before frameworks existed, and I had perhaps subjective reasons for avoiding Ruby on Rails, but I do think objectively speaking that the actual use of a framework isn’t absolutely required for simply grasping the fundamentals of models, views, and controllers.
And the analogies in Lucee 6+ are even easier now with the addition of .cfs files (pure cfscript with no tag syntax).
MVC
Lucee
model
.cfc for database queries, etc (one .cfc “object” for each db table)
view
.cfm for page templates
controller
.cfs for the business logic that ties everything together
There probably aren’t many Lucee devs actually doing it that way yet (myself included, being only in the early stages of refactoring all of my business logic from .cfm to .cfs, plus I still have some legacy spaghetti code argh), but I find that with some diligence, this manual separation allows more freedom than any framework.
But hey I’ve never actually used a framework haha so take that with a grain of salt!
Then again on the third hand (lol), scaffolding abstracts from knowing what’s actually going on underneath it all.
Also it’s important to ignore all of the tag-based documentation that you’ll see in many places, less so from Lucee docs, a lot more so from Adobe ColdFusion docs. That is unless it’s purely for a page template (aka view), which was the original reason for tags, to mix in nicely with html!
I think creating a project that you can try in different languages is good path. attempting to build the same application in multiple languages helps to understand how different languages and frameworks attempt to solve problems and organize code. At some point I’m going to need to come to terms that I am getting old. Most of the blogs I learned from are long gone.
I maintain a lot of coldfusion code that still runs under MachII which is an oldie but still a goodie.
I thought Ruby with Rails was more of a scaffolding than a framework but it has been a long time since trying to use it. Some concepts take awhile before really understanding the difference between this and that.
At work I was stuck keeping old legacy code going until the sun burns out so I always kept a couple freelance projects where I was free to build in whatever the new thing was.
Another thing was to focus on one piece at a time, trying to learn multiple frameworks that work together can quickly get confusing as to which does what.
Ben’s blog is still around (Thanks for keeping it up)
The best advice is keep at it until the light bulb goes on