Should you learn Angular 1? Did you know that Angular 2 is out? They actually recently released Angular 4 as well.
What about Amber? He had a major rewrite. And Ember 2? Isn’t it better than before?
What about reaction? What should you learn? How do you keep up to date?
And what about webpack?
Everything is changing so fast in the programming ecosystem.
take a deep breath…
You’ve got it.
In 1975, Frederick Brooks wrote a book called Mythical Man Month. In the book, Brooks discusses situations where programmers work together. Believe it or not, everything he said is still true today.
This is despite the fact that Brooks was working with the ALGOL programming language and OS/360 at the time of writing this. These are two technologies that are distant relics of the previous generation of programming.
The good news is that in programming, some things just don’t change that much.
most new programming languages And frameworks adopt core programming ideas and use them in different ways.
In other words, a lot of programming ideas are like an episode of the hit 1980 show The A-Team. In my opinion, this is arguably one of the best shows ever made.
If you’re tuning in to a new episode of The A-Team, you can be pretty sure that a few things are about to happen:
- Mr. T is about to refuse to board the plane.
- A member of the crew will give him some milk, which has sedatives that will make Mr T out.
- HM Murdock will evacuate the crew.
- The bad guys will get what is coming to them.
The specific details of each episode may change slightly, but you really only need to watch an episode or two to get a feel for what to expect.
The same is true for programming. Different programming languages There may be slightly different syntax and nuances, but overall they are quite similar.
Big picture concepts work in different languages.
For example, to understand Ruby, you need to understand how to approach problems using object-oriented principles. If you look at other programming languages like Java, C++, C#, and Swift… they are all object-oriented too! Python? You guessed it right! It is also an object-oriented programming language.
The same can be said about Heritage,
The inherent skills of programming are not necessarily attractive. And they don’t change much. This is good news!
This means programming skills like…
- Learning to break large complex problems into smaller, more manageable problems using individual function calls.
- Breaking different classes into multiple classes with the same responsibility.
- Researching programming problems to find out if other people have found solutions for them.
More special things like…
- How does Ruby on Rails use the Model/View/Controller pattern to separate the responsibilities of a web application.
…may apply to other languages and frameworks too! For example, ExpressJS is another popular web framework. You can isolate those applications using the exact same pattern that is followed in Ruby on Rails (if you wish).
Focus your efforts on the following things:
If you do all that, you’ll be able to build real projects in any programming language.
Don’t fall into the trap of endlessly chasing the next shiny new thing.
It can be tempting to try to learn All… understanding things only on a superficial level. don’t.
You can go wide or you can go deep, but you can’t go both,
If you choose to focus your energy on learning a specific tool or framework in depth, you will find it easier to draw on your experience to help you learn an additional language or framework.
The most attractive aspects of a particular skill are not necessarily the most important.
If you go to Hacker News, you will find a variety of cutting edge technologies.
If you want to enter the field of web development, should you use cutting edge technology like Elixir or Rust?
It’s not practical to go all-in on something that doesn’t have a large community. You are missing out on a wealth of people with practical experience, from which you may or may not learn anything.
Instead, it is far more practical to choose a proven technology with a wealth of information and learn the fundamentals of programming in that language.
Think about it:
What do you think Jason Mraz, Lady Gaga, Bob Marley and Elton John have in common? Maybe a lot more than you can imagine.
if you listen Awesome Four-Chord Song’s Axis, you’ll realize that all modern pop songs follow the same formulas… even from radically different bands. In terms of the specific song, if you use a pretty standard four-chord progression, almost every pop song can fit into it.
The same is true for programming languages and frameworks.
Once you’ve learned a language or two, choosing another language isn’t too difficult. Different languages have different features, and when you get experience working in some of them, you will appreciate the benefits and drawbacks of different languages.
It’s important to really master the fundamentals early in your career.
If you’re ready to be a professional developer, focus on the stuff that won’t change at first.
I recently wrote about how I was hired as a web developer Virtually no experience in web development, I was hired because my fundamentals of programming were really strong, even though I didn’t have a wealth of experience with a specific language or framework.
If you adopt this mindset and focus on breaking down complex problems into easier manageable ones, you will learn the skills you need to stay relevant as a programmer… even when everything around you is changing. .
so if you’re scared make the wrong decisionTake a deep breath.
Basics of programming will apply Any Programming language, framework, or mindset.
Pick a language, learn it, then really master it. In the process, you will master the fundamentals of programming and will be able to apply them to any other language or framework later.