I no longer remember my first project. I think I was in my freshman year and I attempted to compute e^10,000 using taylor series expansion.
Anyway, I can not tell you which lessons I learned from my first project and what lessons came later. So here's a mix of everything I have that may/may not help you.
-
Use linux. Learning to code under windows is like attempting to build a rocket-ship with silly putty.
-
Get a throw-away computer and abuse it. Look in a junk yard or someone's attic or search ebay for a $20 computer. Your expensive gaming laptop/macbook pro has too many valuable documents to mess with. You need to know what will happen when you do something like this:
#include <stdint.h>
fuckEverything( intptr_t startHere)
{
uint64_t i;
for(i = 0; i < UINT64_MAX; i++)
*((void *)(startHere+i)) = 0;
}
int main()
{
fuckEverything((intptr_t) &fuckEverything);
return 0;
}
-
Learn to use a debugger. Step through code, peek into memory, use breakpoints. This is the most important skill you'll ever learn
-
Write stupid dumb things just for the fun of it. All code doesn't have to serve a purpose. Replace all instances of "wand" with "wang" in Harry_Potter_and_the_prisoner_of_azkhaban.txt and see what happens. Go have fun
-
Install FreeBSD. See what non-consumer software really looks like.
-
Get a Pic Microcontroller and build a fancy digital alarm with it. You'll learn more about coding while reading a microcontroller's datasheet than anything on coursera or youtube can teach you.
-
Learn a difficult language first. Javascript and Python are cheap skills that are easily picked up. Master pointers.
-
Read coding styles. Learn about the yoda-syntax and why people write code like that.
-
Read every blog post on news.ycombinator.com
-
Go have fun
-
Read every line of your compiler output. every single line. Google for what you don't understand. figure out what flags make your compiler more verbose.
-
Buy a legit textbook on computer science. Internet posts and articles can only take you this far.
I don't know if any of the above apply to you. I still wish you happy hacking! :)
9
22 Mar 2016 22:16
u/downvotesattractor
in v/programming
I no longer remember my first project. I think I was in my freshman year and I attempted to compute e^10,000 using taylor series expansion.
Anyway, I can not tell you which lessons I learned from my first project and what lessons came later. So here's a mix of everything I have that may/may not help you.
Use linux. Learning to code under windows is like attempting to build a rocket-ship with silly putty.
Get a throw-away computer and abuse it. Look in a junk yard or someone's attic or search ebay for a $20 computer. Your expensive gaming laptop/macbook pro has too many valuable documents to mess with. You need to know what will happen when you do something like this:
Learn to use a debugger. Step through code, peek into memory, use breakpoints. This is the most important skill you'll ever learn
Write stupid dumb things just for the fun of it. All code doesn't have to serve a purpose. Replace all instances of "wand" with "wang" in Harry_Potter_and_the_prisoner_of_azkhaban.txt and see what happens. Go have fun
Install FreeBSD. See what non-consumer software really looks like.
Get a Pic Microcontroller and build a fancy digital alarm with it. You'll learn more about coding while reading a microcontroller's datasheet than anything on coursera or youtube can teach you.
Learn a difficult language first. Javascript and Python are cheap skills that are easily picked up. Master pointers.
Read coding styles. Learn about the yoda-syntax and why people write code like that.
Read every blog post on news.ycombinator.com
Go have fun
Read every line of your compiler output. every single line. Google for what you don't understand. figure out what flags make your compiler more verbose.
Buy a legit textbook on computer science. Internet posts and articles can only take you this far.
I don't know if any of the above apply to you. I still wish you happy hacking! :)