Why am I writing this post? Not because I hope for something or believe in change. These are just words. I could write this at the end, but then you would be looking for answers for me while reading, and I don’t need them. They won’t change anything. So here it is. I don’t claim to be a software development guru or a C language expert. I’m just a simple developer.
-
Why are we looking for new technologies? Why do we want to be part of a community that is buzzing with new projects? Why do we think that this new programming language will definitely help us create something amazing and truly great and, of course, will make us rich and provide us with a comfortable old age?
-
Why are we offered so many courses in so many programming languages and frameworks? Why do we teach what is required for companies that make money from us?
-
Why are there a lot of conferences on banal simple things, such as *** framework or ### technology (so as not to offend anyone), and there, with a smart look, newly minted gurus tell us how important it is to be able to transfer the value to the client and how to use certain templates?
-
Why do computers become more and more powerful, but programs continue to lag?
-
Why, when applying for a job, do we look for a vacancy based on knowledge of a programming language, but find it only based on knowledge of certain frameworks? Is it really difficult for a professional programmer to learn a framework in a week?
-
Why do we go into software development with the enthusiasm to create something great, but end up in a situation where we are developing some other catalog or some other digital yo-yo to make money?
Reason: because we want our passion for programming, our interest, to also bring us income.
Result: we do not earn this money for ourselves, but for companies whose main goal is to quickly receive income from the software they sell.
I look at how programming has changed over the course of 25 years, what they teach at universities, and where they start. And I came to the conclusion that on a large scale, it was all for the benefit of giant companies or the government.
We must protect the “intimate” knowledge of the foundations and water the roots ourselves. Because they don’t realize, they don’t see that if the roots are not watered, the branches on which they sit will dry out. Therefore, who, if not us?!
Honestly, I would advocate the exact opposite.
Yes, programs became bloated and fragile, but the solution cannot be to return to the stone age, but be professionals for once.
Our entire industry is shit at actually engineering. There’s leaky abstractions everywhere, and that’s exactly why everything is so complicated and brittle. There’s no platform to build upon, only a scaffolding made of twigs, duct tape and three bananas for some reason. Every minor change in some minor library percolates through the entire stack.
You’re a simple developer, so am I. And we both probably wrote hundreds of apps that essentially do the same crud crap again and again and again. The same basic functionality gets implemented thousands of times, because we can’t get our shit together to build actually reusable components. Instead we rewrite the 12th iteration of “make stuff move in browser” and “make Java do business”.
We’re not engineers, we’re children with hot glue guns.
Yes, new and new tech approaches and languages created, and baggage is being rewriten again and again. Business needs fast development for reaching fast money. And they dictates approaches and frameworks to use.
Mostly agree with the premise of this post, but you don’t necessarily need to use a language that causes segfaults if you look at it wrong (It Is Undefined Behavior™) to “go back to your roots” (though from what I’ve seen you’ve been enjoying C a lot OP, so that’s good too), any language works when you don’t have The Business breathing down your neck.
Write a little VM in Rust, or C#. Hell, try doing a SPA in pure JS without npm (or any other package manager) or any frameworks or even libraries, only native custom components, it’s surprisingly fun.
A huge percentage of the security vulnerabilities in C and C++ programs are due to memory bugs etc that comes from rushed or careless programming. Why not write in memory-safe systems languages like Rust that can completely avoid these entire classes of bugs?