DEV Community

Cover image for 4 Reasons To Stop Caring About Picking The “Best” Language / Framework To Learn - Read or Watch

4 Reasons To Stop Caring About Picking The “Best” Language / Framework To Learn - Read or Watch

Matthew Collison on August 06, 2019

Watch the video or read the blog post - whatever one you prefer! The content is basically the same on both :) Here’s a common misconception in the...
Collapse
 
xowap profile image
Rémy 🤖

While I fully agree that many frameworks can do the job, I would like to clarify something: technologies don't get a medal for showing up. PHP is an utter piece of crap and this comes from a place of long and sustained frustration.

Also some things might be more strategic than others. By example, I've seen fantastic ideas for web development in C++ but I wouldn't recommend going there anytime soon.

Also it's more about the kind of company you want to join. Big things will go Java/.NET, web agencies mostly PHP, startups will choose a hype JS framework and so on.

And finally I really like the point of the article: chill the fuck down and be ready to jump onto new things. All companies have so much internal things that are much bigger than frameworks anyways, the main goal is to learn how to learn.

Collapse
 
matthew_collison profile image
Matthew Collison

Such a good phrase “Technologies don’t get a medal for showing up”

It’s an easy misconception, just like saying the number of GitHub stars something has is the indicator of it’s true position against other frameworks. It’s simply not - we need to look at these technologies in the context of the modern day. Just because Windows XP was still on loads of hospital machines doesn’t make it a good choice...

Picking strategically is definitely the best way to go, but not over-thinking your choice to the point of anxiety is most important. It’s not worth worrying about, you’ll be good with most recommended learning paths.

That’s indeed the point; relax, and have attain a mindset that adapting is fun and necessary in a world where technology moves at light speed (without jumping on the hype train of course!)

Also, we would have definitely agreed with you about PHP 10 years ago, but in the modern day there’s actually some awesome technologies emerging. Loads of the frameworks and CMS are garbage for most enterprise projects, but with the advent of Laravel, Vapor (Serverless PHP with insane scalability), Asynchronous Extensions and a lot more modern features getting in and modern patterns being used.

There are still a lot of missing features that you’d see in more mature OOP languages like C# and Java - and a ridiculous helper function naming and parameter scheme - but it really isn’t what it used to be.

Thanks so much for your comment!

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀 • Edited

The opposite is true, I am learning Rust not because it is better than c++ for my application, they both could produce the same result, I'm doing it because I want to. This year I have learned a number of languages that could tie into WASM and my daily JavaScript because I said so. During that process I have gained insight into frameworks and language design which was so valuable I can't tell you. I would recommend whole heartedly, learn a language whenever there is a need. In my case I have lots of ideas so that's pretty much every week.

Collapse
 
matthew_collison profile image
Matthew Collison

Such a great example of trying things for the possibility of gaining amazing new insights - and almost always you will, as in your case you certainly have.

It’s too easy to get pigeon-holed in and as an absolute beginner, it might make sense to scope yourself to a limited number of technologies. But not exploring things at a later date when you’re much more comfortable programming in general is just holding you back from a world of possibilities and growth.

GoLang is our next port of call. Seems like it differs in its concurrency / parallelism models and we hardly know anything about that at an expert level as it is, so we’re going head first to see how it can fit into any of our stacks.

Thanks for sharing your experience Adam!

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

Admittedly I am several years into my journey to understand programming, but I was once an elitist for my first language, especially when a certain engine became server side as well as in browser. Of course I'm talking JavaScript, it's a big deal but it's got problems that you won't understand unless you branch out. From a career point of view what can you gain from learning any language you feel like? Today I was debugging some acceptance test written in Java, do I know Java? No but I know concepts apply to Java. Get out there and learn programming. Don't expect to be good at everything and most importantly, have a blast!

Thread Thread
 
matthew_collison profile image
Matthew Collison

It's understandable to be elitist about something because it's all you know - it's being stubborn about that when you have knew information that's the problem - for no one but yourself.

And it's awesome that you shared that so openly - it's a show of strong character that you can honestly say that and that you were able to grow through that to where you are now. It sounds like you're learning some amazing stuff.

Let's also not discount how amazing the whole JavaScript Full-Stack thing is... It's pretty amazing that you can use the same language for both your frontend and backend dynamic code now.

We haven't looked into it yet but we think it's why Netflix switched to Node - it must be extremely cost efficient to take out an entire language requirement for the team on a project of such scale. It's still not a reason to be evangelistic about it - it was just super practical for them and it is for a lot of beginners too.

Do you ever just read code from repositories in languages you've never coded in before? That's something I do randomly when I feel like it and I try to look for new language concepts and ideas. It's insightful at times

Collapse
 
openspeedtest profile image
OpenSpeedtest.com

For personal projects.. Make your own little framework..

Collapse
 
matthew_collison profile image
Matthew Collison

Fantastic way to learn... Even open source it, iterate and improve.