@programming@programming.dev It’s time to return to the roots, to the C programming language.
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?!
Why do you think C is the one true language? It’s a tool.
There’s a single very simple answer to “what tool should I use?”. Use the best tool for the job
The job is the objective - what are you trying to accomplish? What are your priorities? What compromise is best between time, cost, and quality? What are your abilities? What’s in your toolbox right now, and what could you obtain within the time frame?
For you, the best tool might always be C. I don’t know how you’ve specialized or what you do, but C is powerful. Maybe you have an orderly thought process code meticulously, maybe you struggle to learn new languages. Maybe there’s just no better option for the jobs you take on
For me, C is rarely the answer. Not never, but outside of school I can count on one hand how many times I’ve chosen it. I code intuitively and feel how the code fits together, I can pick up languages on the spot and switch even more easily. But I’m not meticulous, it’s against my nature. I make mistakes frequently - but I learn by doing, and I don’t need to understand to start doing
All that said, why do we keep making languages and frameworks? Because as programmers, we build the tools. We can also share them without losing them. The perfect tool for one job won’t be the same for any other job, but a pretty good tool for many jobs is a valuable tool
The trade-off with our tools is between power, versatility, and cost (generally being time). We all want powerful and versatile tools - but our time is limited, and so we can’t afford the cost
Ultimately, I think you’ve correctly spotted a recurring problem but misidentified the cause. The cause isn’t the tools, it’s the fact that the cost is someone else’s time. And the fact we have no way to translate money into their time
A corporation can fund a team to continuously develop a tool they rely on. An individual can’t - we could chip in a few bucks here and there, but we use a lot of tools. We don’t know good tools from bad ones until we use them, we don’t know what tools are used to build the ones we need either.
So everyone and their mom wants to build a service to fund work on their tools. I hate services, I don’t want to give them my data or my money - I want tools that will work on my devices, not because I don’t want to deny them pay for their work, but because I pick up, drop, and modify tools all the time
That’s the real problem - if I could donate x dollars a month to support the tools I use, I would. If I could choose for us all to pay more taxes to support the tools we all use, I would take that deal. Hell, I’d go through the effort to generalize my personal tools
Instead, the only real profit to be had in OSS comes from companies, because they can afford to fund them directly, or services, which individuals tend to hate but companies barely notice. The tools aren’t the problem - the economics are the problem