>10 years of C++, 1 year of Rust, and now I'm back to C
I finally understand that I'm simply not smart enough for all the abstraction tools. I stop looking at problems through the lens of engineering and algorithms, and everything becomes masturbation over perfect abstractions, and I never get anything done.
I will switch to zig in 50 years when it's finally 1.0 maybe, for now I think I'll just stick to C.
Nothing Ever Happens Shirt $21.68 |
UFOs Are A Psyop Shirt $21.68 |
Nothing Ever Happens Shirt $21.68 |
just wait for jai its pretty based
https://www.forrestthewoods.com/blog/learning-jai-via-advent-of-code/
Use jai when it comes out. You can satiate your hunger with
Odin though.
Now you see the truth
An idiot admires complexity, a genius admires simplicity.
And a midwit can't tell the difference between elegant simplicity and primitiveness.
C is the former
like believing software simplicity can be achieved in languages that are built upon millions of LoC worth of overhead
>I finally understand that I'm simply not smart enough for all the abstraction tools.
if you find C easy, you just have a different brain setup than the users of the other two.
bc they cant deal with C without abstracting what happens under the hood
theyre better at abstractions, worse at visualization kind of deal.
i have yet to make myself an opinion whether you can swith between the two thought patterns.
I'm of the opinion that "abstractions" are thoroughly invalid when talking software development. Maybe not quite as so during the design process, but C++ is the perfect example of real bonafide normalized sticky and overcooked spaghetti code hidden away under a layer most are too stupid to peek past.
I'd appreciate Rust if it didn't try to fix all the wrong things about this sad state of affairs. But I suppose when corporate interests are in play you can't really just say "most programmers are fricking moronic and have no idea what they're doing, most people should not be programming".
>I'm of the opinion that "abstractions" are thoroughly invalid when talking software development. Maybe not quite as so during the design process, but C++ is the perfect example of real bonafide normalized sticky and overcooked spaghetti code hidden away under a layer most are too stupid to peek past.
id add to that its not only a problem with C++.
in my mind the attempt at portabilizing C created an utter mess which doesnt accomplish its role either (lowering the bar to become proficient at C).
because the libc code is still active in ones program and thus the libc code has to be known in order to achieve code ownership.
i believe the vast majority of C CVE's come from the fact that the programmer doesnt know the code beneath the libs abstraction.
i didnt really calculate that, but really, it seems every other cve is "v/s/f/wd40/printf did an oopsie nobody thought about"
>I'd appreciate Rust if it didn't try to fix all the wrong things about this sad state of affairs. But I suppose when corporate interests are in play you can't really just say "most programmers are fricking moronic and have no idea what they're doing, most people should not be programming".
yeah... i suppose you cant...
fricking c suite and marketing and their fricking ideas...
but yeah...
when in the corporate world, you dont work to create a good product, but a lucrative one.
minimum effort, minimum cost, maximum marketability
and who cares the product is turbo chernobyl, in one year, the company is not gonna exist.
its the usual cycle of : company makes an interesting product, goes public, then "smart" money comes in (nothing smart abt what they do, tho), and company gets a ceo.
ceo and marketing goes into overdrive to build investor perception, so line goes up.
then c-suite guts every dept except hr, and product is getting pushed out of the door with minimum workforce, most of whats left already replaced with juniors and diversity hires.
(1/2)
The problem I have with all this shit by you is that realistically
1. We have to deal with C and will have to for many years to come
2. Realistically we never reached a point where C was limiting us
3. Software quality has been steadily decreasing for almost two decades now
4. We stopped using C when we were actually getting the hang of it, which is incredibly sad
5. The vast majority of C's security issues stem from libc and not the language itself
I think overabstraction creates shit software, and I don't like package proliferation. It is what it is.
>The problem I have with all this shit by you is that realistically...
you sure?
bc i didnt contradict what you just wrote even once...
especially the last part:
>The vast majority of C's security issues stem from libc and not the language itself
id say code ownership more precisely.
but yeah, its a problem that appeared with the introduction of the libc (minus syscalls id say. syscalls are ok-ish)
(2/2(
and finally, once product is out, or even before, when investor money starts drying up, "smart" money dumps its bags and like a swarm of lcusts move onto the next company to do the exact same.
everyone hates the ceo, he says "im sorry" but who fricking cares since he gets a golden parachute with 6 or 7 trailing zeroes
while youre left on the ice, scrambling for a job, after a months long crunch because some Black personhomosexual fired 3/4 of the department so that the company looks more profitable than it actually is
>I'm of the opinion that "abstractions" are thoroughly invalid when talking software development.
No, there's always abstractions. Even if you go down to the very bottom level of software, machine code, that's still an abstraction. Logic gates are an abstraction.
Don't worry about it. Just pick the level you're happy at and ignore the levels below and above.
>if you find C easy, you just have a different brain setup than the users of the other two.
C programmers can't see the big picture and can't imagine things being any different than they currently are. They can build something with Legos, but they can't use a material other than Legos and can't understand why Legos might be a bad choice for building something.
>bc they cant deal with C without abstracting what happens under the hood
C programmers have trouble understanding what abstraction even is.
>1. We have to deal with C and will have to for many years to come
That doesn't make it good. Having inflation for many years to come doesn't make inflation a good thing.
>2. Realistically we never reached a point where C was limiting us
We already reached that point before C existed. C revisionists pretend everything was always written in C and everything else is just C for people not smart enough to use C. Modern software wouldn't even be possible if we were stuck with C. All the features C and Unix added over the years came from other languages and operating systems.
>3. Software quality has been steadily decreasing for almost two decades now
A lot of this is because C and C++ were replacing better languages. C in the 90s was responsible for all the buffer overflows and crashes in software like Windows and Unix. It really lowered the bar for software quality.
>4. We stopped using C when we were actually getting the hang of it, which is incredibly sad
C is even more popular today than it was in the 80s and 90s. Nobody "stopped using C." We stopped using better languages and replaced them with C when we already got the hang of them. That's what's sad.
>5. The vast majority of C's security issues stem from libc and not the language itself
Standard functions are part of the language. They are in Lisp and everything else.
>C programmers can't see the big picture and can't imagine things being any different
kek.
i started coding with python . did some js . php. and wee bit of c++ before i started C.
im 35 and i code C99 since 5 years (started in 2019).
and for what i code, everything is inferior to it.
especially once you factor in opencl C (bc yes, opencl IS C. so is cuda. with a couple exceptions like templates [although i heard C has generics now. dont really care much for that, doe])
would i use C if i did webdev?
no. i wouldnt. but i despise webdev. so the question is moot.
would i use C if i did scripting?
no, i wouldnt. i use bash for that bc python is shit.
but would i use bash or python for building databases? or would i use js for a game engine?
no. i wouldnt. bc that would be moronic
and i despise C++ bc frick learning useless trash like 4 different smart pointers when a raw pointer does the job just fine.
but you do you. i dont judge.
Stop raging so much, nocoder.
why would you make me rage, worm?
i am a one man team.
i can do the job of several people at once.
and each one of them would be worth several codemonkeys like you.
if anything, my excellence becomes apparent only when contrasted with incompetents like you (big part of the reason why im posting here to begin with, kek)
>i can do the job of several people at once.
True if your "job" is shilling C on IQfy.
thing is:
i didnt create the C-ult.
it was always here.
also you were being extremely disagreeable.
the whole board turned on you
>i didnt create the C-ult.
>it was always here.
It was created by paid shills from Bell Labs. You're doing the work of 1980s Bell Labs shills.
>the whole board turned on you
I'm a different person.
>I'm a different person.
youre the same team, kek
>You're doing the work of 1980s Bell Labs
shills.
no, c is just that good
and you know it
we went from 10 simultaneous rust threads to 1 to 0.
not many c threads doe.
how many are there on the log?
2? 3? out of ~125 threads?
>It was created by paid shills from Bell Labs. You're doing the work of 1980s Bell Labs shills.
For what purpose? I don't buy your conspiracy theory.
are the paid 1980's bell labs shills in here?
>That doesn't make it good.
Never said it did, you're trying to mold what I'm actually saying into fitting your strawman. I happen to think it's a really bad thing because as I mentioned already C doesn't have a standard ABI, and it's a dogshit language to parse.
>We already reached that point before C existed....
Again, weird rant which completely misses the point. The point is that all these technologies we use for system's programming today are built on top of C.
>A lot of this is because C and C++ were replacing better languages.
You aren't writing anything fast in lisp. It's not like these languages are abandoned, they just don't get used because C is more performant. There is nothing stopping people from writing common lisp and interfacing with C, yet they don't. The languages you gush about were historically used for research, nobody is writing OSs in haskel.
>C is even more popular today than it was in the 80s and 90s.
And today's C software is very high quality, and only rust comes close to that standard.
>Standard functions are part of the language.
They aren't, but I understand what you're saying. What I really meant to blame was sentinel values, which are a core part of the language but which could (can) be mitigated with better libraries.
for me, it's Odin.
>lust-provoking image
>relevant, board-related discussion
I never saw the need to "move on" from C. I only ever use anything else when I have to for work or when I'm dealing with, like, scripting and shit.
C does everything you need to. Having all these other options is like giving someone the choice between a lemon-colored hammer, a gold-colored hammer, a sunflower-colored hammer and a yellow hammer.
use Zig already
>Latest Release: 0.12.0
who cares, few rewrites if something breaks will only benefit you
Nah, I don't want to deal with regressions, and gcc is more lightweight. Besides, zig doesn't actually fix the biggest issue C has, which is no standard ABI, so it's whatever.
If you're too stupid for high level abstractions, you're too stupid for programming in general. Consider trade school.
I've come to the same conclusion. I miss constexpr and anonymous functions though.
thats a sign youre smart and pragmatic
programming is a purely pragmatic endeavor
>needing 30 years and 1000 people to do what you can do in 1 month by yourself in a normal language is pragmatic
>Pulling in 100+ dependencies is totally fine and absolutely not the cancer killing modern software
The problem is that you have no idea where time is actually spent when writing software.
Better languages don't need 100+ dependencies. Starting from scratch on bare metal (no OS or code running besides what you write) is still thousands of times more productive in a better language.
Yeah bro go ahead roll your own eigen equivalent in C.
>If you don't have literally everything eigen provides, are you even writing software?
>still thousands of times more productive
Conservative estimate. I'd go with millions myself.
I use python for 85% of my needs
my point is op should do what works for him to get work done
I doubt that his problem is actually with "abstraction" but has more to do with the fact that rust is a pile of dog shit
>10 years of fizzbuzz on IQfy
Stop larping dumb nocoder
C goes where?
Lust provoking image