Learning programming is quite different

September 06, 2021

Learning programming is unstandardized, informal, and overwhelmed with constantly updating resources with varying qualities in a wide range, unlike education in school. In school, people learn from classics, from teachers, from old stuffs that rarely change. For programming, the reality is, most of time people learn from technologies and resources different from generation to generation, reinvent the wheel, and repeat mistakes from the past, without much study of well-founded, solid libraries and softwares which have been existing for years.

That’s the bless, and also the curse of learning software development. Things change fat fast. The technologies you learnt few years ago “get old”. New and exciting technologies kick those “old” tools ass and replace them in the next few years. The growth is exponential. You gotta catch up and embrace changes for the best.

It’s especially true for the frontend world. When I graduated, jQuery was still the king. Now it’s ditched like a used condom. Of course, jQuery served us well. But it has reached its end of life. If you start a green field project with it, you’re gonna miss tons of features, libraries and suffer from the shrinking ecosystem.

Not only the tools change. The problems change. Years ago, SQL injection and XSS were common problems. Pointers and memory leak were headaches. Now you barely get bothered with these problems in day-to-day development, with tools like React and Rust. It’s not always the case though. SQL has been proven to be strong and powerful, and surviving for about half a decade.

Anyway it’s a little off-topic. This site contains well-written code and documentation from some of the most popular open source softwares. Learn from the best.

https://codecatalog.org/