Update
This commit is contained in:
parent
8b530b5952
commit
64fd120266
35 changed files with 2034 additions and 2007 deletions
|
@ -40,7 +40,7 @@ OK, now the key thing to becoming a programmer is learning a **[programming lang
|
|||
|
||||
**[Games](game.md) are an ideal start [project](project.md)** because they're [fun](fun.md) (having fun makes learning much faster and enjoyable), there are many noob tutorials all over the Internet etc. However keep in mind to **start EXTREMELY simple.** -- this can't be stressed enough, most people are very impatient and eager and start making an RPG game or networking library without really knowing a programming language -- this is a GUARANTEED spectacular failure. At the beginning think in terms of "snake" and "minesweeper". Your very first project shouldn't even use any [GUI](gui.md), it should be purely [command-line](cli.md) text program, so a text-only tiny interactive story in [Python](python.md) is possibly the safest choice as a first project -- if you are feeling more ambitious, try to write the same thing but in [C](c.md). Once you're more comfortable you may consider to start using graphics, e.g. Python + [Pygame](pygame.md) (or, again, C + [SAF](saf.md) or [SDL](sdl.md) if you want a better language), but still [KEEP IT SIMPLE](kiss.md), make a flappy bird clone or something. As you progress, consider perhaps buying a simple toy computer such as an [open console](open_console.md) -- these toys are closer to old computers that had no operating systems etc., they e.g. let you interact directly with hardware and teach you a LOT about good programming by teaching you how computers actually work under the hood AND, by having weak hardware, not allowing you to write shitty code. Whatever language you start with, it is unavoidable that one day you will have to make the big step and **learn [C](c.md)**, the most important language as of yet, but if you see you're struggling with a simpler language, be sure to only start learning C when you're at least intermediate in your start language (see our [C tutorial](c_tutorial.md)). To learn C we recommend our [SAF](saf.md) library which will save you all headaches of complex APIs and your games will be nice and compatible with you small toy computers.
|
||||
|
||||
As with everything, you learn by doing -- reading is extremely important and necessary, but to actually learn anything you have to spend thousands of hours practicing the art yourself. So **program, program and program**, live by programming, look for ways of using programming in what you're already doing, try to automatize anything you do, think about programming before sleep etc. If you can, **contribute to some project**, best if you can help your favorite [FOSS](foss.md) program -- try this at least once as being in the company of the experienced just teaches you like nothing else, a month spent contributing to a project may be worth two or three years of just reading books. If you're [extremely asocial](avpd.md), the alternative is to just [fork](fork.md) someone else's program and trying to modify it -- this way you'll at least learn to understand someone else's code and you'll see how someone experienced writes the code.
|
||||
As with all, you learn by doing -- reading is extremely important and necessary, but to actually learn anything well spending thousands of hours practicing the art is paramount. So **program, program and program**, live by programming, look for ways of using programming in what you're already doing, try to automate anything you do, think about programming before sleep etc. If you can, **contribute to some project**, best if you can help your favorite [FOSS](foss.md) program -- try this at least once as being in the company of the experienced just teaches you like nothing else, a month spent contributing to a project may be worth two or three years of just reading books. If you're [extremely asocial](avpd.md), the alternative is to just [fork](fork.md) someone else's program and trying to modify it -- this way you'll at least learn to understand someone else's code and you'll see how someone experienced writes the code.
|
||||
|
||||
### Programming Tips
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue