Thread #108274158
File: 1754529951577439.png (594.2 KB)
594.2 KB PNG
Is this book still reliable anons?
64 RepliesView Thread
>>
>>
Works on my machine.
If I had one criticism, it's that it's a bit limited. There are other things the language can do that aren't discussed in this book. I remember having to find other resources when I wanted to set up a toy server with C, even though all the tools required were in the standard library.
>>
>>
>>
File: c_prog_modern_approach.jpg (7.4 KB)
7.4 KB JPG
>>108274158
Read the King
>>
File: ai-lmaoo-google-commitment.png (137.9 KB)
137.9 KB PNG
>>108274254
it isnt.
also: you drink sperm.
from various species.
out of a frosted glass, topped with a mini umbrella
>>
>>
>>
>>
File: pic-selected-260301-1235-28.png (763.9 KB)
763.9 KB PNG
>>
>>
>>108274409
Different person, but AI is genuinely a great resource for learning a coding language.
Asking something like "Show me a minimal example of how to use X()" can be very useful.
That said, I do own and read the book in OP.
>>
>>108274158
yes, it's completely fine. teaches you literally everything you need to know except for some file stuff and more powerful preprocessor things and in that case you can switch to beej for that. just do the examples and you'll be fine
>>
>>
>>
>>
>>108275309
Honestly its probably the best language for beginners, you build super strong foundational skills that will carry over to every other high level language you'll use. If I was starting today I would start with C
>>
>>108275309
in the sense that is absurdly manual and you need to learn everything almost froms cratch? , yes
but note that c doesnt match with modern isas, it doesnt work the way x86 does, so out of pointers its not that low level
>>
>>108275309
i always recommend that people learn c first. its really simple and really easy to make mistakes. C teaches all of the important concepts and ideas. it is hard to build abstractions because of a lack of generics, but when learning this is not important.
>>
>>
>>
>>108274158
As shown on the cover, it applies to ANSI C, aka C89.
There are other later revisions of the C standard: C99, C11, C23, with their benefits and drawbacks.
However C89 is the simplest of these and is easily supported by hobby compilers.
Since the later standards are all extensions of C89, you can't go wrong with this book.
>>
File: 1723943856848690.png (112.3 KB)
112.3 KB PNG
>>108276598
>it was basically the only usable documentation for the language available when it came out
Probably, but it's not a good book and C is not a good language.
>>
>>
>>108276654
>i'm going to do only a few, you do the rest
Why the fuck are all books so useless.
Always some "we're only going to scrape the surface", "we can't show it all", "read those other books instead" cop out.
Why isn't there one fucking book author with the courage to do it all?
>>
>>
>>
>>
>>108276707
"Learn C the hard way" course by Zed Shaw, I had to look it up.
>>108276654
>literally who criticising the inventors of the language, who also wrote 3 operating systems in that language
>criticises textbook examples for not being production-ready
>just to shill his $30 online course
>>
>>
>>
>>
>>
>>
>>108274158
yes my world renowned university is still teaching C using a deceased professors video lecture course from the early 2000s and using this book.
don't fall for redditor tier doomer talk, you wouldn't take advice from a random homeless person on the corner and anonymous posters on the internet are no different. this stuff is important to learn and know.
>>
>>
>>108277017
the problem is that most languages nowadays derive from c instead of the better ones we had back then, rust ios probably the best, but honestly a pascal derivative would have been way way better, they are just not really used
>>
File: UNIX and C.png (350.7 KB)
350.7 KB PNG
>>108277017
No, ZIG and Rust are incremental improvements.
>>108277035
Quite the opposite, sir. I can't negate the pragmatic nature of C but those pragmatic hacks are also a nuisance.
>>
>>
>>
>>
>>
>>108277197
An article. A Brief History of Software Engineering b.
https://mediaweb.saintleo.edu/Courses/COM430/M1Readings/A%20Brief%20Hi story%20of%20Software%20Engineering
>>
>>108275309
Not really. The standard library is archaic and confusing and the need for manual memory management probably isn't the best thing to spend your time on when you're just starting out. For getting something useful done, Python is a better language. For purely learning (and thus having to build a lot of your program from scratch), Lua is probably better.
>>
>>
>>
>>108277194
issues that are only issues for people who shouldn't be touching C. Like learn once shit, spending 5 seconds to check for eof or null, being cognizant of n-1, page aligning, using stdint, nulling freed pointer, etc. There's plenty of other languages with type safety and gutter bumpers if you require them. It's lack of safety is it's strength, yes it comes at a cost of needing to be careful. safetyfags lose a finger on a table saw and start blaming table saws, ironic really.
>>
>>108275309
honestly I would suggest you learn the basic concepts in a garbage collected language first and I don't recommend java/C# for this simply because they have their own shit that you "should" learn when you use them (OOP crap)
what to use instead? maybe Go?
>>
>>108275375
>so out of pointers its not that low level
Explain.
Other than system calls, and excluding shit that gets swept aside by the compiler preprocessor and types, I was under the impression that a C program had a pretty straightforward mapping to assembly?
Actually curious, not trolling.
I am aware that while oldfags even older than I (88fag here) consider C to not *strictly* be a low-level, it is still for all intents and purposes extremely close to low-level (especially when put on a spectrum with Python, C++, Java, C#, Visual Basic etc.)
>>
>>108275309
I wouldn't say so. You'll learn a lot of bad habits which you'll have to unlearn later when moving to more modern languages. Especially if you plan on learning C++ - start with modern C++ right away, otherwise you'll be a horrible C++ programmer with the legacy C baggage and no clue you could do much better. Otherwise, Python is pretty popular as a first-time language - much simpler than C++, yet still relatively powerful.
>>
>>108277194
>The UNIX-HATERS Handbook, by
>Simson Garfinkel
>Daniel Weise (Microsoft employee)
>Steven Strassmann (Apple employee)
>yes goy, don't use UNIX, just go back to using Windows like a good goy
I have actually read it btw. It's drivel.
>Complain that 'rm' removes files,
>In chapter 1, complain that 'rm' doesn't ask for confirmation. In chapter 2, complain that another program (I forget which) asks for confirmation,
>Complain about locking files (which is a problem on all OSs),
>Complain about crashes (which ironically were way more common on Windows, even back then),
>Complain that man pages exist,
>Complain that error messages exist,
>Complain that the command line exists,
>Complain that programs do exactly what you tell them to,
>Complain that sometimes the only way to fix a problem is to turn it off and on again (ironically only Windows has this feature),
>Complain that root exists (even though Windows also has admin users)
>Complain about Usenet and C++, which aren't part of UNIX,
>Complain about X, which was designed at MIT, Garfinkel's alma-mater, not at Bell Labs (and ironically is faster than Windows desktop today)
>>
>>108277277
it maps to assembly, but the pdp11 one, not x86. x86 or arm have way more advanced shit that C natively doesnt map to
now the optimized compilers do make that c code to use a more optimized assembly, but that is exactly not being low level language, c being fast is bc of the extensive development of its compilers, not because of the language
if C was assembly like low level shit like ffpmeg wouldnt need to be 80% assembly
>>
>>
>>
>>108276731
Have you read the original UNIX code? It does not hold up to today's standards
https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/mkdir.c
>>
>>
>>
>>
>>
>>
File: 1768259466407440.jpg (69.5 KB)
69.5 KB JPG
>>108275309
It's a hard language to learn but it's the most worth learning. Besides directly writing in assembly, C is about as close to the metal as currently relevant programming languages get and you should learn it for that reason. You will actually have to learn something about how programming works without abstracting things away with library function calls that hide huge amounts of operations.
If you don't start with C, you will eventually have to come back to it so that you can understand the things that other languages hide from you.
>>