/CHAD/ - C Help And Discussion - /g/ (#106143693) [Archived: 367 hours ago]

Anonymous
8/5/2025, 1:16:41 AM No.106143693
2c
2c
md5: caa28f4802d3bc0e1f3652cba4c866f7🔍
WIKI: https://igwiki.lyci.de/wiki//chad/

Don't know how to write C? Start here:
K&R: https://files.catbox.moe/rfhegv.pdf
K&R (1st edition?) with modern comments https://www.cc4e.com/book/ (Password = 42, alternate solution is available if you want to find it yourself)
KING: https://files.catbox.moe/a875c2.pdf
Modern C: https://files.catbox.moe/xeb93p.pdf
XinY: https://learnxinyminutes.com/c/

Have an in-depth question, or deep wondering? Ask here, or see the standards:
C89: https://libgen.is/book/index.php?md5=12FCC3ACEBF54480768E7417485E802F
C99: https://libgen.is/book/index.php?md5=FF8DC9D8F109111A91A70CC29FB16168
C11: https://libgen.is/book/index.php?md5=4CC5C8494FDC76ECB56A927E802FF25E
C23: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3088.pdf
CPP: https://en.cppreference.com/w/

More:
GDB Cheatsheet: https://darkdust.net/files/GDB%20Cheat%20Sheet.pdf
Learn Makefiles: https://makefiletutorial.com/
C -> asm: https://godbolt.org/
Online compiler (many languages): https://www.onlinegdb.com/
Valgrind: https://valgrind.org/docs/manual/quick-start.html

alias c89='gcc -std=c89 -pedantic -Wall -Werror -Wextra'

Previous Thread: >>105210482
Replies: >>106143729 >>106144442 >>106145759 >>106146069 >>106146336 >>106154892
Anonymous
8/5/2025, 1:20:10 AM No.106143729
>>106143693 (OP)

I'm good.

I like to program in Python because it's so inefficient and consumes all the energy. Like rolling coal in a diesel RAM 1500 on lib protestors.
Replies: >>106147063 >>106155971
Anonymous
8/5/2025, 1:24:02 AM No.106143760
why do i have to link math.h for some functions with -lm, but not for others?
Replies: >>106144736 >>106147075
Anonymous
8/5/2025, 1:34:59 AM No.106143879
Good afternoon. I am interested in learning the C language and I did a bit of searching online about textbook suggestions. I didn't really realize what I was wading into.There seems to be a lot of disagreement about what books to actually use when getting started with C. For each of the major suggestions, there was some redditfag or stack overflow jeet insisting it's a deadly mistake to start with that book.

So could one of you gentleman please suggest something? After all that, I'm ready to just go with whatever /g/ tells me to
Replies: >>106144029 >>106144096 >>106144294 >>106144482 >>106144795 >>106145583
Anonymous
8/5/2025, 1:51:03 AM No.106144029
>>106143879
I'm hopping onto K&R train. Will stick with it and see how it goes.
Replies: >>106144096 >>106144702
Anonymous
8/5/2025, 1:59:33 AM No.106144096
>>106143879
>>106144029
It typically comes down to King and K&R. K&R is a little bit outdated in some respects (in terms of programming style, like one or two of the code examples don't work right without a bit of modification, etc.) Moreover, K&R isn't really targeted at people who are brand new to programming, so you might struggle a bit if you're in that camp.

However, if you can use a search engine and figure things out for yourself, I'd go with K&R. It is *overwhelmingly* more concise and straightforward than the King book (which is a giant fucking tome). You can read through it in a few days and get a basic handle on the language. As it says in the preface:

>C is not a big language, and it is not well served by a big book.

Don't use "The C Answer Book", by the way.
Anonymous
8/5/2025, 2:13:49 AM No.106144227
why would i ever use ansi over c99? having to define variables at the top of scope and no single line comments seems like aids
Replies: >>106146868
Anonymous
8/5/2025, 2:20:59 AM No.106144294
>>106143879
i learned with k&r like 16 years ago, it was fine but honestly you could just go watch handmade hero or something and you’d be fine
Anonymous
8/5/2025, 2:24:02 AM No.106144320
I'm learning how 2 pthreads. It's pretty funny to see how even taking the value used to count in a for loop as argument can bite you in the ass.
Replies: >>106145604 >>106145784
Anonymous
8/5/2025, 2:37:34 AM No.106144442
>>106143693 (OP)
Why are C codebases so unreadable? I feel like I know most of the C syntax now but when I look up code it's like impossible to figure out what it's doing.
Replies: >>106144550
Anonymous
8/5/2025, 2:43:00 AM No.106144482
>>106143879
I'm also learning C. I've been reading the Beej's Guide to C Programming: https://beej.us/guide/bgc/html/split/index.html.

It's a very good starting point in my opinion. That or just jumping straight into building stuff, but since I don't have any previous memory management exposure, I think that reading through is fine.

It is also more "modern" than the K&R one.
Anonymous
8/5/2025, 2:54:11 AM No.106144550
>>106144442
shoot us a problem you've had

hijacking: >>106144444
Replies: >>106144657
Anonymous
8/5/2025, 2:58:50 AM No.106144586
I do win32 fun with C am I allowed here. I don't use msvc because I'm not a masochist
Anonymous
8/5/2025, 3:10:01 AM No.106144657
>>106144550
I guess I just mean starting out in any codebase it's like hard to even find main() and then usually there is a bunch of weird shit going on that seems like it would have nothing to do with the actual program. No state struct, no clearly defined init routines, and then chasing includes that are either 5000 lines or like 12. Also "clever" code is everywhere like why are you evaluating an expression inside a function call inside a return statement on this thing that probably gets called once. Idk, but nothing ever looks anything like tutorial code like at all. I still want to learn though.
Replies: >>106144727 >>106146963
Anonymous
8/5/2025, 3:15:55 AM No.106144702
>>106144029
>K&R
I just want to note I'm talking about the 2nd ed.
Anonymous
8/5/2025, 3:19:47 AM No.106144727
>>106144657
use gdb, set a break point, examine the stack
Anonymous
8/5/2025, 3:20:46 AM No.106144735
Yo, good question! There are a few reasons someone might prefer ANSI C (C89) over C99, depending on their context. Here’s what pops into my mind:
1. Legacy Code and Compatibility

Older Systems/Compilers: Many legacy systems or older compilers were built with ANSI C in mind. If someone is working with existing code that was written in C89 or even before, sticking to ANSI C ensures they won’t run into issues with features that weren’t available back then.

Embedded Systems: A lot of embedded systems still use compilers that only support ANSI C, or at least don’t fully support C99. For maximum compatibility, sticking to the older standard is often the safest bet.

2. Portability

Cross-Platform Support: C99 introduced features like variable-length arrays, mixed declarations and code, and a lot of other additions. Some platforms or compilers don’t fully support these, or it’s a pain to maintain cross-platform compatibility with them. ANSI C is more universally accepted across various compilers and systems.

1/2
Anonymous
8/5/2025, 3:20:48 AM No.106144736
>>106143760
Good question, I guess some functions are just compiler intrinsics.
Anonymous
8/5/2025, 3:21:46 AM No.106144741
3. Simplicity/Control

Predictability: Some devs prefer ANSI C because it’s a "simpler" standard. There’s less room for confusion or undefined behavior. When you stick with ANSI C, you’re working within a very tight and controlled set of features, whereas C99 adds complexity with new things like inline functions, variable-length arrays, and new preprocessor directives.

4. Toolchain Limitations

Compiler Support: Certain older compilers (especially in embedded environments) don’t support C99 well, or at all. Developers might stick to ANSI C simply because the toolchain they're using is optimized for it.

5. Standardization/Consistency

Some developers just like the stability of ANSI C. The C99 changes introduced a lot of new features, and for some, it felt like unnecessary complexity for maintaining highly optimized or tightly controlled systems. There's an argument for sticking with a “tried and true” version of C for stability’s sake.

So yeah, while C99 has a lot of awesome features, like inline functions, better support for floating-point math, and enhanced stdlib, there are still some solid reasons to prefer ANSI C depending on the environment, project requirements, and toolchain limitations.

What’s your take on it? You working on a project where one’s better than the other?

2/2
Anonymous
8/5/2025, 3:29:27 AM No.106144795
Screenshot_20241106_191309
Screenshot_20241106_191309
md5: 2eaf2f2d42bf60c9dbfee1b1be661a3d🔍
>>106143879
K&R kinda sucks and it's outdated. I think we can all agree that G. N. King's book "C Programming: A Modern Approach" is the best book to learn C.
Anonymous
8/5/2025, 4:09:12 AM No.106145068
bump
Anonymous
8/5/2025, 5:30:17 AM No.106145583
>>106143879
https://archive.org/details/c-programming-a-modern-approach-2nd-ed-c-89-c-99-king-by/mode/2up
Replies: >>106145617
Anonymous
8/5/2025, 5:33:17 AM No.106145604
>>106144320
learn openmp first
Replies: >>106145697 >>106145784 >>106146437
Anonymous
8/5/2025, 5:35:01 AM No.106145617
>>106145583
>800 pages
waste of time
just read K&R
Replies: >>106145632 >>106145773
Anonymous
8/5/2025, 5:36:37 AM No.106145632
>>106145617
look ill agree programming books are way too fucking long but i feel this is the better recommendation
Replies: >>106145656
Anonymous
8/5/2025, 5:39:38 AM No.106145656
>>106145632
nah
no one's gonna read it from cover to cover
who knows, maybe it has better content, but it's just too long
Replies: >>106145711
Anonymous
8/5/2025, 5:46:50 AM No.106145697
>>106145604
> openmp
This.
Best advice I’ve seen in a long time.
There is absolutely no point in messing with pthreads before using openmp.

In OS/2, early windows nt, and solaris, we used the native thread APIs, and when pthreads came along, It was generally viewed as crap.

Most people don’t need threads at all, they do shit like have a thread waiting on every handle and it’s inefficient as hell. Or use an interlocked counter in a tight loop with a hundred threads.

Generally, nowadays, I split the problem into co-ordinated processes that talk as little as possible, and the “scale” is just the number of processes I run.
Replies: >>106145784 >>106146437
Anonymous
8/5/2025, 5:48:49 AM No.106145711
>>106145656
maybe your right, 99 percent chance opie has attention span issues anyway (hell who doesn't)
Anonymous
8/5/2025, 5:53:47 AM No.106145759
>>106143693 (OP)
Do the libgen.is links work for anyone?
Replies: >>106152909 >>106153043 >>106154637
Anonymous
8/5/2025, 5:56:19 AM No.106145773
6BE83A9E-5F58-4207-9E91-9ED2ED1AC2DA
6BE83A9E-5F58-4207-9E91-9ED2ED1AC2DA
md5: d9b3b8683d0d0ab28ad9a31175b65da4🔍
>>106145617
> waste of time
One of the best books ever written on C++ is
Modern C++ Design by Andrei Alexandrescu.
They guy was a genius. And like many geniuses, he went mad and dropped C++ in favour of D.
It’s also pretty thin, you can get a lot of good ideas from it, and it’s fairly hardcore.
Replies: >>106145791
Anonymous
8/5/2025, 5:57:20 AM No.106145784
>>106144320
>>106145697
>>106145604
Openmp only works for toy problems and "scientific computing"/hpc nonsense.
Seriously, do some benchmarks.
Replies: >>106145819 >>106145982
Anonymous
8/5/2025, 5:58:31 AM No.106145791
>>106145773
He's the reason why D failed. People simply don't like his arrogant ass.
Replies: >>106145964 >>106146695
Anonymous
8/5/2025, 6:02:54 AM No.106145819
>>106145784
No, if you understand openmp, I can apply virtually any imaginary construction of native thread api use in openmp. I used to specialize in it.
Most people are not used to thinking that way though, just like other people have difficulty moving to, say, function programming.
And most of your problems *should be* ones of compute, not waiting on handles.
Replies: >>106145927
Anonymous
8/5/2025, 6:15:48 AM No.106145927
>>106145819
Any links for reading on OpenMP and applications to real problems? My impression was always that it was a fancy way to do parallel_for or stuff you could use a threadpool for.
Replies: >>106146053
Anonymous
8/5/2025, 6:20:17 AM No.106145964
noalias_must_go
noalias_must_go
md5: d659a45ff039c7dda141e86769c7b277🔍
>>106145791
> arrogant ass caused D to fail
Interesting. I dislike Linus Torvalds for that reason, but sometimes these people are necessary to spank the hoards of retards that tend to infiltrate over time.
One such example from Dennis Ritchie in 1988 when he had to stomp on (while simultaneously twisting and smearing) the X3J11’s ‘noalias’ keyword addition.
You should all read his full response.
Anonymous
8/5/2025, 6:22:11 AM No.106145982
>>106145784
that's why it should be learned before lower level threading apis
Anonymous
8/5/2025, 6:31:42 AM No.106146053
>>106145927
Yes, in the hands of the the uninitiated, you can simply slap a pragma before a for loop and parallelize it. And it can do that.
Mainly I just read the API spec, got a sense of everything it can do, and found I could simplfy a lot of terrible thread code written by retards over tge years into openmp.
The one flaw with it is that it had a runtime component. It shouldn’t really need that (you can control it with environment variables do I can see why something might be needed there)
The main benefit of openmp (and the reason it’s compiler pragmas) is that the compiler codegen can inline machine code related to threading that is impossible to do with a purely functional interface.
Anonymous
8/5/2025, 6:33:41 AM No.106146069
>>106143693 (OP)
what does modern c by gustedt teach? is it worth doing after k.n. king
Anonymous
8/5/2025, 7:14:57 AM No.106146336
1753229060006664
1753229060006664
md5: db1e1aea15ed112299b22c280f3cc90c🔍
>>106143693 (OP)
I want to K&R and a companion book on C. What could achieve this killer dual reading combo?
Replies: >>106150513 >>106152045
Anonymous
8/5/2025, 7:32:48 AM No.106146437
>>106145604
>>106145697
eh i dont think its that bad. Detecting the race conditions can be quite the headache though but given that its my first time actually handling this, its to be expected
I'm fucking around with a chess engine and the perft function takes a while at depth>5 so i just wanted to parallelize that. At depth 8 it takes stupid amounts of time
I'll probably optimize the move generation later, i just cant be assed to deal with the magic bitboards yet. I just thought it was a good excuse to do multithreading since i should learn this anyway.
went from +50s to <5s with the good old "just throw more resources at it"
Anonymous
8/5/2025, 8:22:23 AM No.106146695
>>106145791
"people" don't like him
oh noes....
Anonymous
8/5/2025, 8:53:20 AM No.106146868
>>106144227
It's complicated. A lot of people who grew up writing pre-C99 consider variables at top to be stylistically superior, basically
>ok, what are we working with below, ok, go
and consider too much stuff inline to be, frankly, feminine, like you can't make up your mind. These same people, which is often myself, also consider single line comments AIDS because if it can be explained in a single line, you shouldn't have to explain it. If it needs explaining, it's probably going to be a paragraph.

Many people still write C this way because they consider it superior, even if they make exceptions tactically on an as-needed basis.
Replies: >>106147001 >>106147086 >>106149427
Anonymous
8/5/2025, 9:08:31 AM No.106146963
>>106144657
You don't write C programs like you write programs in other languages. In other languages you start off, well, trying to write a program. In C, it's like legos, first you build the pieces, then you build your walls, ceiling, roof, and floor (or whatever), and then you fit it all together. So, as a consequence, typically you would want to determine in which manner you are interested in understanding a C file.

If you want big picture, start at the bottom and work up. If you want the pieces first, and how they fit together, start at the top and work down. Also, in C, understanding what is inited to what is important, and what is actually inside the executable and takes up disk space vs not included. You will almost never encounter any state structs unless you really need state machines and not just an enum or int representing a "state". C is really a language of keeping shit in registers, and bending to do that vs "everything must be perfectly consistent".
Replies: >>106154575
Anonymous
8/5/2025, 9:16:21 AM No.106147001
>>106146868
To clarify: you should always, at a minimum, use C99 and probably the new minimum now is C11. The question I was addressing was "why should I, or why might I still want to, write code that reads like C89/90".
Replies: >>106147099
Anonymous
8/5/2025, 9:28:37 AM No.106147063
>>106143729
I'm a dalit, so I'm only allowed to program in C by brahmin saars.
Anonymous
8/5/2025, 9:30:47 AM No.106147075
>>106143760
>link math.h
You mean include math.h? Give us a real (full) example of what you mean.
Replies: >>106151869
Anonymous
8/5/2025, 9:32:29 AM No.106147086
>>106146868
>It's complicated. A lot of people who grew up writing pre-C99 consider variables at top to be stylistically superior, basically
They're wrong and retarded. It's the other way around, by a long shot.
t. grew up writing pre-C99 C
Replies: >>106151944
Anonymous
8/5/2025, 9:33:57 AM No.106147099
>>106147001
C11 offers nothing compelling enough to be worth it, whereas C99 was a massive improvement over C90.
Replies: >>106150652 >>106151755
Anonymous
8/5/2025, 3:28:10 PM No.106149427
>>106146868
>consider too much stuff inline to be, frankly, feminine
wtf am I reading
Replies: >>106150558
Anonymous
8/5/2025, 3:32:49 PM No.106149459
I've been trying to learn C for a while now. Got halfway through Prata and King, but got bored. They're just too long. My eyes glaze over when I have to read 10 pages on format specifiers that'll I'll just forget right after I read it. On the other hand, I don't think I would understand pointers based on my reading of K & R alone. Also, the K & R exercises are difficult. I've read farther ahead because I get stuck on exercises for days or weeks. But I think I am too dumb anyways because my IQ is 97.
Replies: >>106149564
Anonymous
8/5/2025, 3:37:58 PM No.106149512
Friendly reminder that VLA support is c99-only in terms of standards compliance. Use it and you're potentially making your code incompatible with everything else.

Jeeted or not, c89's still the shit.
Replies: >>106151045
Anonymous
8/5/2025, 3:42:15 PM No.106149564
>>106149459
You sound like somebody trying to learn programming as a whole as opposed to just a programming language. K&R's perfectly fine for the later case, but stay away from it if you're not a programmer already.
Anonymous
8/5/2025, 5:02:29 PM No.106150343
>don't be a brainlet
>problem solved
Anonymous
8/5/2025, 5:19:08 PM No.106150513
>>106146336
bump
Replies: >>106152045
Anonymous
8/5/2025, 5:22:29 PM No.106150558
>>106149427
The effects of lead poisoning on a generation
Anonymous
8/5/2025, 5:29:09 PM No.106150652
>>106147099
atomics, anonymous structs
Replies: >>106150799
Anonymous
8/5/2025, 5:41:23 PM No.106150799
>>106150652
use case?
Anonymous
8/5/2025, 5:41:40 PM No.106150803
I'm learning to write a C compiler. I'm wondering though, am I better off writing one from scratch reading the source code for llvm and adding features to it.
Anonymous
8/5/2025, 5:43:12 PM No.106150827
only maga chuds use C
Anonymous
8/5/2025, 6:04:41 PM No.106151045
>>106149512
VLAs are pretty shit anyway
Anonymous
8/5/2025, 7:00:42 PM No.106151755
>>106147099
Compilers that support C11 by default are better than those that do not, fuck off luddite.
Anonymous
8/5/2025, 7:07:51 PM No.106151869
>>106147075
withh gcc, try to use something like sqrt or pow/fpow without linking math(via -lm flag), and only #including the header.

at least on my toaster ld throws an error. it was my understanding that libraries part of stdlib didn't need to be manually linked on compile.
Anonymous
8/5/2025, 7:12:25 PM No.106151944
>>106147086
maybe thats a hint that your functions are too big.
in general i agree. its more help for the compiler and less opportunity for uninitialized shit to bite you when you push the declaration down
Replies: >>106152070 >>106154336
Anonymous
8/5/2025, 7:19:36 PM No.106152045
>>106146336
>>106150513
just read K&R and King as has been suggested countless times in this very thread
Replies: >>106154296
Anonymous
8/5/2025, 7:20:51 PM No.106152061
Why is the syntax for declaring arrays so shit? I always forget how to do it. Especially for pointers to arrays and arrays of pointers, with a size or not. Is that even how you're supposed to do it?
Anonymous
8/5/2025, 7:21:34 PM No.106152070
>>106151944
Babyduck cope.
Replies: >>106152514
Anonymous
8/5/2025, 7:53:24 PM No.106152514
>>106152070
im sorry, are you retarded?
Replies: >>106152608
Anonymous
8/5/2025, 8:00:19 PM No.106152608
>>106152514
That's enough cope, babyduck. We all know you did this for years and it worked for you, so did primitive rock tools work for our ancestors, it's time to retire grandpa, you wrote enough inferior code, you can rest easy, we will write it better.
Replies: >>106152742
Anonymous
8/5/2025, 8:01:15 PM No.106152627
1751259055833167
1751259055833167
md5: dbbb3f0112af8db1e30d465d5480e5ad🔍
Why are people hating on C23?
Replies: >>106152730 >>106152754
Anonymous
8/5/2025, 8:07:50 PM No.106152730
Jens_Gustedt300x300
Jens_Gustedt300x300
md5: 6e35893c89062d6fee59342014af2412🔍
>>106152627
Because it has too much features and they are turning C into C++.
>embed
Nobody asked for this.
Replies: >>106152754 >>106152791 >>106153491
Anonymous
8/5/2025, 8:08:31 PM No.106152742
>>106152608
well, you answered the question
Anonymous
8/5/2025, 8:09:16 PM No.106152754
>>106152627
K&R babyducks.
>>106152730
>They are making C into C but better
the horror.
Anonymous
8/5/2025, 8:10:39 PM No.106152783
CheePloglamming
CheePloglamming
md5: aba2895b53fe99d9eebe942b1bd131ac🔍
I am the new standard.
Anonymous
8/5/2025, 8:11:24 PM No.106152791
>>106152730
>He doesn't embed all his data into his binary
Cringe
Replies: >>106153041
Anonymous
8/5/2025, 8:19:01 PM No.106152909
>>106145759
use libgen.li
Anonymous
8/5/2025, 8:27:20 PM No.106153041
>>106152791
I use "bin2c.py" and I'll be using it for the next 20 years or so.
Anonymous
8/5/2025, 8:27:30 PM No.106153043
>>106145759
https://open-slum.org/
Everything is under attack.
Mangadex, mastercard, chat control, age verification, etc.
Coordinated imo.
Anonymous
8/5/2025, 8:58:10 PM No.106153491
>>106152730
> >embed
I work with retards that will go and change every variable: ints, dwords, strings, bools, etc into #embed statements.
How wonderful this will be.
They already turned every function into a template, and then turned a lot of them into lambdas with multiple returns.
Replies: >>106153632 >>106155642
Anonymous
8/5/2025, 9:07:57 PM No.106153632
>>106153491
Nice hidden/unmanageable dependencies with every embedded file.
Anonymous
8/5/2025, 9:56:11 PM No.106154296
rart
rart
md5: a524b6e78c32e8b154def8d59053b232🔍
>>106152045
Good. Thanks. I'll take that suggestion.
Still, I'd like to see some discussion on what would be an optimal pairing as a K&R companion.
Even maybe something that hasn't been mentioned in the OP or in these threads.
What do /CHAD/s think?
Anonymous
8/5/2025, 9:57:55 PM No.106154329
What new features do y'all wanna see in C? For me it would have to be (non-capturing) lambdas

qsort(arr, n, sizeof(arr[0]), (int(const void *x, const void *y){ return *(const int *)x == *(const int *)y; })
Replies: >>106154533 >>106154732 >>106156017 >>106156163
Anonymous
8/5/2025, 9:58:28 PM No.106154336
>>106151944
>your functions are too big
no such thing
Anonymous
8/5/2025, 10:13:25 PM No.106154533
>>106154329
The feature C will never get is a committee that is not inhabited by chimps.
Anonymous
8/5/2025, 10:16:05 PM No.106154575
>>106146963
>You don't write C programs like you write programs in other languages. In other languages you start off, well, trying to write a program. In C, it's like legos, first you build the pieces, then you build your walls, ceiling, roof, and floor (or whatever), and then you fit it all together. So, as a consequence, typically you would want to determine in which manner you are interested in understanding a C file.
You have to build the pieces in every language, but in C you have to build the pieces that are already there because the ones C gives you suck. C isn't Brainfuck or assembly, just a gimped version of Algol.
Anonymous
8/5/2025, 10:20:43 PM No.106154637
>>106145759
use dot bz
https://libgen.bz/
Anonymous
8/5/2025, 10:27:07 PM No.106154732
>>106154329
There are languages that are more than 50 years old that have those features, like Algol 68. C programmers are limited by wanting to force everything to be part of C instead of just using those languages that already do what they want.
Replies: >>106155562
Anonymous
8/5/2025, 10:35:17 PM No.106154834
>no goyim, you can't outperform those languages that already do what you want
Anonymous
8/5/2025, 10:40:54 PM No.106154892
>>106143693 (OP)
>K&R
Is this book good for a complete beginner (to programming) or is there something else I should start with?
Replies: >>106154912 >>106155025
Anonymous
8/5/2025, 10:42:26 PM No.106154912
>>106154892
cs50
Replies: >>106155070
Anonymous
8/5/2025, 10:52:33 PM No.106155025
>>106154892
no, it’s ancient and written in part by the language creator so it’s more like a feature demonstration than something designed to actually teach

if you’re completely new to programming you should probably start with a shitty scripting language like python or lua that will treat you with kid gloves and give you instant gratification because C is gonna have a lot more upfront friction, knowledge checks and verbosity for a novice to deal with it
Replies: >>106155070
Anonymous
8/5/2025, 10:58:34 PM No.106155070
>>106154912
>harvard
Guess I'll give it a try but hopefully I don't get filtered.

>>106155025
I do want to learn python as well because I'm interested in AI but I'm leaning toward starting with C because I heard it will give me a better foundation.
Replies: >>106155090
Anonymous
8/5/2025, 11:00:40 PM No.106155090
>>106155070
>Guess I'll give it a try but hopefully I don't get filtered.
Don't worry, you will like it.
Anonymous
8/5/2025, 11:40:04 PM No.106155562
>>106154732
kys
t. embeddedfag
Anonymous
8/5/2025, 11:47:24 PM No.106155642
>>106153491
What deity did you anger to suffer such punishment
Anonymous
8/6/2025, 12:15:24 AM No.106155971
>>106143729
So you like giving money to the power company. That's good, goyim.
Anonymous
8/6/2025, 12:18:38 AM No.106156017
>>106154329
>What new features do y'all wanna see in C?
defer, as that would let me clean up a lot of awful code, and doesn't have the camel's ass of complexity that comes with RAII/destructors
Anonymous
8/6/2025, 12:31:03 AM No.106156163
>>106154329
>y'all
you have to go back