this post was submitted on 27 Sep 2024
-39 points (20.9% liked)

Programming

17443 readers
237 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS
 

@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?!

top 27 comments
sorted by: hot top controversial new old
[–] trollblox_@programming.dev 32 points 1 month ago* (last edited 1 month ago) (1 children)

why do we need this fancy 'C' language, when we could just write everything in assembly?

by god, you've solved all of the world's problems! give this man a novel peace prize!

[–] otter@lemmy.ca 12 points 1 month ago (1 children)

why do we need this fancy 'C' language, when we could just write everything in assembly?

No, only pure machine code. Anything else is rude. If we're going to get help from computers, then the least we can do is speak their language

[–] ravhall@discuss.online 6 points 1 month ago (2 children)

Code is for losers. If it’s not plugboards and punchcards, you’re a noob.

[–] solrize@lemmy.world 3 points 1 month ago* (last edited 1 month ago)

Back in my day, we only had ones and zeros, and sometimes we ran out of ones!!! (From old song, https://youtu.be/p1fBd7UbQPA?t=60 )

If you're not spending half your day testing vacuum tubes one at a time, are you even a real engineer?

[–] CaptainBasculin@lemmy.ml 17 points 1 month ago

The biggest benefits of different programming languages, frameworks and technologies is to reduce code complexity. Sure, it's possible to write all the code in C or even Assembly; but at some point it doesnt become practical.

[–] ravhall@discuss.online 11 points 1 month ago (1 children)
[–] modev@snac.bsd.cafe 1 points 1 month ago (1 children)
[–] ravhall@discuss.online 10 points 1 month ago (1 children)

I don’t even know what that means.

[–] Abnorc@lemm.ee 3 points 1 month ago
[–] BatmanAoD@programming.dev 8 points 1 month ago (1 children)

Why do you keep posting this exact same rant? I see that some posts are in different Lemmy communities and you've posted it at least once on hacker news, but you also posted it to this same community already (https://snac.bsd.cafe/modev/p/1727338529.193499) and, although I can't find it now, I remember you posting it months ago, too.

Several of your posts that aren't about how C is being "suppressed" (which the responses to your post have repeatedly demonstrated isn't true) are about how you, personally, are still learning C and want more resources to learn it. And now you're also posting about Nelua and Nim. This is wild to me! Why do you have such strong opinions about a language that you're still learning? If you're that passionate about C and believe that people should use it instead of newer languages, why do you care about Nim or Nelua? If you're just trolling, why do you engage relatively patiently in the comments? And whatever your goal is, why do you keep reposting the same rants, especially this one that's now quite old?

[–] modev@snac.bsd.cafe -2 points 1 month ago (1 children)

You are very attentive, deserves respect.
Consider to join my cafe, please.

[–] BatmanAoD@programming.dev 4 points 1 month ago (1 children)
[–] modev@snac.bsd.cafe -4 points 1 month ago (1 children)

Whats wrong? If you want for sure.

[–] BatmanAoD@programming.dev 3 points 1 month ago (1 children)

Why don't you answer any of my questions instead of telling me to join your club?

[–] modev@snac.bsd.cafe -2 points 1 month ago (1 children)

I do not make a cult from any language, just curiosity to back to handmade and crafted software instead of commercial SaaS garbage and low quality generated code... No idols... I have learned several modern languages and working with modern full stack, but prefer save myself from total burnout by following C philosophy, rust was before if smth. So I know what is rust, zig, odin and so on. C is my hidden gold, just path of my prefer. But at the same time lang is just a tool for sure.

[–] BatmanAoD@programming.dev 2 points 1 month ago (1 children)
  • Why do you keep posting the same rant about "going back to the roots", especially after multiple people have pointed out that C is not "the roots" of programming?
  • Why do you have such strong opinions about a language that you're still learning?
  • If you're that passionate about C and believe that people should use it instead of newer languages, why do you care about Nim or Nelua?
[–] modev@snac.bsd.cafe 0 points 1 month ago (1 children)

Why you are so strongly recommended me keep calm? Why I can't learn or talk about other languages? Why I can't have strong opinions about C, I have learned it 25 years ago also, and from my perspective learning never end, you can't be completely professional in something.

[–] BatmanAoD@programming.dev 1 points 1 month ago (1 children)

I haven't told you to keep calm. I'm just confused about you repeating the same points, in the same words, over and over, even after being told that you don't have your facts correct.

I'm not saying you can't learn or talk about other languages; I'm confused by the mismatch between your posts criticizing people for promoting newer tech stacks and the ones where you seem to be promoting newer tech stacks yourself.

25 years of experience is certainly enough to have strong opinions, but until your last comment I had the impression that you had a year or less of experience in C, hence my question.

[–] modev@snac.bsd.cafe 0 points 1 month ago (1 children)

I understand that my topics are disgusting to you and only a few can agree with me. And that's normal, such a reaction is quite predictable.
I wanted to apologize, just so you understand, I do not deny the existence of other languages ​​and technologies, evolution, etc.

I just want to draw attention to the fact that much of the programming world is built on hype and on the needs of companies that do not pursue the goal of creating effective programs, do not think about the energy and resource intensity of their products. They only think about making money. This is crap. And newcomers to the field are raised in this crap.

[–] BatmanAoD@programming.dev 1 points 1 month ago

Rust feels like entirely the wrong target for that sort of criticism, especially regarding "energy and resource intensity". Rust is well-known to be comparable to C in its efficiency.

[–] Toes@ani.social 8 points 1 month ago

Specifically ANSI C. All those new hipster features will never catch on.

As much as I don't like framework spam, especially when a lot of them are bloated and insecure or need bloated and insecure plugins/extentsions/whatever to do basic things, I have less desire than that to go to C.

[–] eager_eagle@lemmy.world 5 points 1 month ago

that's one way to swing the pendulum all the way back to the 1970s

[–] TexMexBazooka@lemm.ee 3 points 1 month ago

This is some fine trolling

[–] ZILtoid1991@lemmy.world 2 points 1 month ago

It's time to return to the roots, the times when you used goto instead of function calls! Fortran and COBOL all the way! /s

Once you look beyond the "git gud" and "we must gatekeep programming from the normies" aspects of coding, you might want a language that is either way more productive than C (D), a language that offers memory safety and functional programming paradigms (Rust), or even a language that has relatively good portability even at the cost of performance (Javascript).

If you're only grumpy about Electron apps, then be mad at the corporations that:

  • forced colleges and universities to teach Javascript and nothing else to students, so now we have programmers afraid of type declarations,
  • jumped on the "Big Data" and "software as a service" train, so every app needed to be a "website", because "it's so convenient, pops no longer need to install wordprocessor dot exe, just type wordprocessor dot com into a browser".
[–] theneverfox@pawb.social 1 points 1 month ago

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