I already now a decent amount of brainlet Python and pajeet Java and have started doing Zed Shaw's C book but I don't really like the style.
He puts a lot of emphasis on rote memorization of the syntax and using C features before explaining at all what they do. For example, he starts using pointers for strings without explaining at all what pointers are or why you should.
That fucking space nigger also has a habit of presenting his autistic opinions as facts even when most other sources totally contradict what he says. I also don't like how it's a lot of just copying code verbatim from the book rather than actually applying the concepts to solve problems.
What are some non-shit alternatives for teaching myself C? >inb4 don't bother; I'm doing this out of necessity
Like what? C is still a powerful and dominant language
Kayden Brooks
Only if you live in ur mom's basement
Gabriel Price
K&R is still the definitive way to learn C. You just have to read ALL of it (yes, past the points where you've probably stopped before). Once you do that, you research libraries and debuggers, and then you're basically finished learning C.
Zachary Jones
What fucking language then? >Inb4 that faggot who watched a YouTube video about making a keylogger in Python and thinks he is hot shit
Powerful as long as you'll sink your time into systems programming with minimal debugging power Dominant as in ...? Maybe kernels, but good luck doing that.
Gavin Hill
They're what we're forced to use at my uni.
The Java class was extra lame because the professor wouldn't let us use any of the higher-level convenience features and didn't do much with the OOP parts of Java so I had to teach myself all of that.
Did you miss the part where I said I was learning C because I have to?
From what I've seen they basically treated Java like C on steroids rather than the high-level OO language it is.
Brandon Butler
What about c# instead?
Jaxson Allen
>tfw I know CS degrees are a meme but I'm not paying a dime for it because I joined the (((military))) right after high school
Christian Myers
Write a generic qsort and use it with some made up struct as its data. You will need to understand pointers (void ones) casting, function pointers (how will the qsort know how to compare a type it doesn't know? You give it a function pointer) and some memory management (run it in valgrind). This is a good start.
Oliver White
>that 30 year old boomer who still wants to learn C
>Dominant as in ...? Maybe kernels As in every piece of actual good software and worthwhile code, be it from Linux to some crypto library.
Thomas Jackson
>systems programming Exactly. What language is pretty much every modern device driver written in?
Gabriel Myers
Worthwhile code? C is the reason many projects have severe security flaws, design is one thing but a language that you have to check every parameter otherwise it'll segfault is half the reason too.
Asher Watson
Nobody's arguing that C doesn't have a shit ton of major flaws.
Once something comes along that's as fast and universal as C and isn't managed by SJW fucktards who can't agree on official language standards to save their lives C will probably become obsolete quickly.
Mason Gomez
This.
You see, if you learn C by something like K&R you could have the false impression that you "know" C.
Now go ahead and open some file from the Linux Kernel or config files for TCP. You won't understand a thing. It's a shitfest full of #ifdef 's with cryptic abreviations all over the place. You have to learn the entirety of the underlying hardware down to the bits to get what's going on, it's really just a fancy way of pushing bits arround in Assembly. Also C has no structure, most C files are just "piled up" in order to speed things up.
You don't believe me? Then build something like websockets with it's own package protocol. After that experience you might get it.
Don't learn C unless you really really have to.
Samuel Garcia
pointers are just variables that point to other variables, you make the pointer and then point to other shit through your program for better performance
someone correct me if im wrong, please. I found pointers confusing too
Blake Peterson
>for better performance delet this
Oliver White
I know what OP's referring to.
In Zed's book, the first time you see pointers it's in the context of something like char *name_string = "user" as a shortcut to create a string variable rather than the way they're more commonly used which makes it confusing as fuck when you see that same syntax used for wildly different things in other examples.
Ryan Cooper
tripfags everyone
Matthew Green
ITT: people too stupid for C saying shit about C
but thats exactly WHAT IT WAS DESIGNED FOR - its a system programming language
not mainly for better performance but simply because you want a pointer to shit, not the shit itself
Landon Hughes
C in a nutshell modern c 21st century c
make sure to use valgrind and a modern build system right from the beginning, avoid GNU gettext later on, use stuff like Apache Portable Runtime for memory pools when implementing more sophisticated data structures out of nodes.
Gabriel Cox
>python is brainlet >java is pajeet You're never gonna make it. Please stay away from C, it's far too pure for such a faggot like you.
Ryan Brown
tfw maybe one day zig and rust won't be broken pieces of shit
Leo Clark
>you're self kys
Levi Carter
Watch Carl Herold's C course. It'll really touch you in a certain way.
William Anderson
kek
William Perez
I remember back when Rust actually had potential right after it first came out and everybody thought it would replace C within a couple years.
Angel Morgan
shiet, 22 but thats me. Have to find an internship, wanted to learn C but will have to jump straight into pajeet langs kk