this post was submitted on 19 Jan 2024
-27 points (29.9% liked)

Programming

17398 readers
105 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
 

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.

Feature: we do not earn this money for ourselves, but for companies whose main goal is to quickly receive income from the software they sell.

Bugs: posts like this one.

all 33 comments
sorted by: hot top controversial new old
[–] key@lemmy.keychat.org 26 points 9 months ago (3 children)

C is modern hippy-dippy shit, let's go back to the only good compiled language: FORTRAN

[–] UpperBroccoli@feddit.de 6 points 9 months ago (1 children)

Eh. If you are not using punch tape, are you even really programming?

[–] BatmanAoD@programming.dev 2 points 9 months ago

FORTRAN does work on punch tape; that's why column numbers matter.

[–] vext01@lemmy.sdf.org 5 points 9 months ago

Pfft. Compilers.

[–] GregoryTheGreat@programming.dev 3 points 9 months ago

Okay FORTRAN is not that bad.

[–] lysdexic@programming.dev 22 points 9 months ago (3 children)

Was this thing generated by a poorly trained LLM?

[–] lupec@lemm.ee 4 points 9 months ago

I can only hope so

[–] lolcatnip@reddthat.com 15 points 9 months ago (1 children)

Why stop at programming languages? Let's scrap everything invented in the last 50 years!

[–] bigkahuna1986@lemmy.ml 2 points 9 months ago (1 children)

Does that mean we can go back to when houses were cheap? I'm willing to make this sacrifice.

[–] Turun@feddit.de 5 points 9 months ago

Sure, asbestos is effective and cheap insulation

[–] porgamrer@programming.dev 12 points 9 months ago (1 children)

If I went back to the early days of C, it would be because John Connor sent me there in a time machine to destroy the first compiler before it could become self-hosting

[–] modev@programming.dev 4 points 9 months ago

But the time machine has been written in C so you could not return back and had to write a C compiler from scratch. Here the story about returning to the roots begins...

[–] amio@kbin.social 9 points 9 months ago (1 children)

Why do computers become more and more powerful, but programs continue to lag?

Because instead of taking advantage of hardware to push boundaries in what we can accomplish, it's exploited so you can turn everything into its own instance of Chromium, with all the bloat and overhead that entails, for the world's simplest application. Even on mobile, where power consumption is allegedly important.

The industry spends so much time reinventing wheels and shoehorning things into each other, instead of doing anything... useful. Can't have a normal web page anymore because waaaah page loads, gotta be SPA, then you gotta reinvent all the stuff that you threw out to make an SPA - probably in the form of several dozen libraries, all of which also keep getting reinvented every other week. What's that, the SPA is now a 4GB download and seven orders of magnitude slower than the page loads it was supposedly meant to avoid? Lol who cares. Put some more layers of transpiled javascript in there anyway. Keeping up with the NPM dependencies alone is now 40% of the manpower in the corporation? Don't worry, it's modular or some shit.

It's not even about the money, none of this helps generate actual value - in theory, being able to just target web makes sense, but not if relentlessly overcomplicated at every turn anyway. If the money/management people could tear themselves away from being phished for five minutes, and actually understood how much time and effort is being wasted on building mostly redundant card houses of mostly unnecessary tech, they'd have a stroke.

[–] Lmaydev@programming.dev 5 points 9 months ago* (last edited 9 months ago) (1 children)

It really does help generate money.

Newer languages are often more productive. Especially in large team environments where you can't be expected to know the entire codebase.

Reducing mental load on the developer helps a lot. There's no way you can say c is simpler than higher level languages.

And in many cases the performance bump you get is lost to IO, database and http calls.

In fact if you want to you can write everything with pointers in c# and due to things like tiered jit compilation it can outperform c. You can even compile straight to native code now.

But the fact is people don't do that because in 90+% of cases the extra effort isn't beneficial.

Plus most consumers don't give a shit about resource use tbh.

[–] amio@kbin.social 3 points 9 months ago

Reducing mental load on the developer helps a lot. There’s no way you can say c is simpler than higher level languages.

Sure, and... that's why I didn't say that, I guess? I live firmly in VM/script land - C# when I can, actually. Reducing developer load is fine by me and I don't have a particular obsession with optimizing for performance - most things I do are not that exciting.

My point is that there's a difference between layers of abstraction that serve an actual purpose (loops, classes, garbage collection), and weird stuff that grows out of "innovation" that maybe wasn't all that good an idea, but was tacked on something else for novelty or cargo cult reasons, or the wrong kind of laziness. The idea of being able to only target web is fine. The idea of occasionally shipping a browser with a particular app could be merited. I'm just saying maybe not half of every app needed to be bundled with a whole chromium installation.

[–] MaoZedongers@lemmy.today 8 points 9 months ago (1 children)

We have better tools than C today, in C's own domain.

So many parts of C are poorly designed or outdated and we're stuck with them because of backwards compatibility.

Look how long it took to deptecate "gets", a function that is pretty much impossible to use safely.

My choice pick is Nim but Zig and Odin are contenders too.

Plus rust as well.

[–] modev@programming.dev 1 points 9 months ago

Nim has beautiful syntax. But does it has a lot of tools?

[–] superb@lemmy.blahaj.zone 6 points 9 months ago

Sooo, why return to C? I don’t get it.

[–] BatmanAoD@programming.dev 6 points 9 months ago

One problem with this is that C is in no way the "roots" of programming; it's older than most of the languages we use today, but Fortran, Lisp, and Cobol are all older and are also still in use. (And of course there are other languages that predate C but have mostly fallen out of use, such as Pascal.) It feels "low-level" because it closely reflects the hardware for which it was originally designed, the PDP-7 and later the PDP-11. But in fact it hasn't truly been "low-level" for a long time: I highly recommend the ACM article "C Is Not a Low-level Language; Your computer is not a fast PDP-11."

[–] tonytins@pawb.social 5 points 9 months ago (1 children)

Most (popular) programs are lagging because they're all bundling an entire web browser to get around the cross-platform hurdle. Good in theory, bad in practice. However, even infamous programming languages like Java are now as fast as C thanks to advances in hardware and software, such multiple cores and asynchronous tasks.

[–] MaoZedongers@lemmy.today 1 points 9 months ago

As fast as C is likely an overstatement, few languages can claim that, but the difference can be negligible or faster in certain optimized usecases.

[–] LaughingM0n@beehaw.org 1 points 9 months ago

Jesus, just stop talking