Hey /g/uys. I'm starting my 2nd semester of CS
>inb4 fell foe the STEM meme
First semester was focused on discreet math and Object Oriented Programming (Java). Next semester I'm taking a data algorithms class that's used in C. I know I could just look up C and start learning. But what do you all recommend I do to learn it?
install gentoo
Go to the class that teaches it
>>54731617
>8-space tabs
This meme needs to end
>>54731641
This desu senpai.
>>54731641
Doesn't teach it. Used to spend a week or two on it, but now you need to learn it over the summer so more class work can get done.
>>54731617
Read K&R.
>>54731650
8 space tabs are the best though. It lets you know when you're indenting your code too far.
>>54731617
>>54731673
Learn (and apply the concepts learned) the topics in pic related.
About half-way through the "Advanced" list, you can apply for a job.
>>54731701
A hard 80 character limit and 4-space tabs is a much better system.
>>54731736
This
>>54731701
Not this
>>54731734
I know all of those things by heart and I don't have a job.
The south-east asian jew is lying.
>>54731617
Two ideas.
K&R. If you already know a bit about programming this should be a breeze.
Find here: http://gen.lib.rus.ec/book/index.php?md5=C684BE9C0147B68596683222502675FB
Alternatively, Learn C the Hard Way, found here:
https://kat.cr/learn-c-the-hard-way-practical-exercises-on-the-computational-subjects-you-keep-avoiding-1st-edition-2015-epub-gooner-t11838564.html
>>54731734
This. Nowadays they hire anyone with a pulse.
You should fizzbuzz, OP
Time yourself too
>>54731759
"Learn C the Hard Way" is fucking awful
>>54731778
It taught me about makefiles, but it's really fucking awful otherwise.
>>54731778
>he couldn't learn C the hard way
>>54731778
Why don't you like it?
>>54731795
I learned C the better way. "Learn C the hard way" is literally just copy my poorly explained code: the "book".
>>54731795
Kek
>>54731701
>>54731759
>>54731766
Thx guys
>>54731806
shaw's method of teaching is grating and annoying
>copy this 500 line program
>now try to break it and tell me why it did that
>also, fuck K&R because [some stupid reason which i wrote a huge fucking article on which i later deleted and replaced with an even longer article on why i deleted the article]
>>54731751
>I know all of those things by heart and I don't have a job.
One of these statements is false.
>>54731806
People better than I have gone much more in-depth criticising it:
http://hentenaar.com/dont-learn-c-the-wrong-way
But my main criticisms is that he hardly explains anything and is some of it is factually wrong.
>>54731832
Where can I get a pure C job, mr. south east asian jew?
>>54731841
Thanks. Reading now.
>>54731841
Did you even read the article you linked?
>WAAAH I CANT INSTALL VALGRIND :((
>I'M A FUCKING ENGINEER!!!
What a fucking crybaby.
>>54731844
Embedded stuff, and firmware. I did not say that you should look for pure C jobs. I said that if you learn (and can apply) the concepts up to ~recursion, then you can apply for a job.
>>54731871
Yes, I read it a while ago.
>>WAAAH I CANT INSTALL VALGRIND :((
>>I'M A FUCKING ENGINEER!!!
He's writing the article from the perspective of someone completely new to C and maybe programming in general.
>>54731894
He's complaining because he assumes the reader has no motivation to google things?
>>54731904
For a book claiming to be a guide for something, "Just google it" is not a valid thing to say.
>>54731928
It's a guide to C, not a guide for installing a development environment to C.
Either way, I have to commend it for teaching make and valgrind right from the start because no other guide seems to do that and they're both indispensible for C work.
>>54731946
>not a guide for installing a development environment to C
You can't program in C if you don't have a development environment. You can't expect some complete beginner to know how to set that shit up, or what they even need.
>>54731962
If you're on linux, you don't even need to install anything but valgrind, everything is ready to use.
Writing C on windows or os x is a pain in the ass.
>>54731974
C in OS X is just as easy imho
>>54731974
I don't have any experience with OSX, but considering that it's a POSIX operating system, writing C is probably incredibly easy.
>>54732003
>outdated GCC from 2001
>apple distribution of clang doesn't even support openmp
>>54732014
I never said it wasn't feature-full, just that it's not a pain in the ass. I use clang, and openmp aside, it is still easy to use