What I Read to Study Progamming

In this article I want to share with you my method for studying computer programming. I devote a lot of time to this but you do not need to do so in order to become a talented programmer. I simply have a passion for programming that borders on an addiction. And here’s how I feed it.

Monday

On Mondays I read RSS feeds and newsgroups. Specifically I read the following newsgroups:

  1. gmane.comp.compilers.clang.devel
  2. g.c.compilers.llvm.devel
  3. g.c.db.mysql.devel
  4. g.c.db.postgresql.general
  5. g.c.db.postgresql.performance
  6. g.c.db.sqlite.general
  7. g.c.emulators.qemu
  8. g.c.file-systems.fuse.devel
  9. g.c.games.mud.devel
  10. g.c.gcc.devel
  11. g.c.lang.c.general
  12. g.c.l.erlang.general
  13. g.c.l.forth.amforth
  14. g.c.l.forth.colorforth
  15. g.c.l.forth.gforth
  16. g.c.l.go.general
  17. g.c.l.haskell.general
  18. g.c.l.j.general
  19. g.c.l.j.programming
  20. g.c.l.javascript.nodejs
  21. g.c.l.lua.general
  22. g.c.l.nasm.general
  23. g.c.l.perl.beginners
  24. g.c.l.perl.perl6.announce
  25. g.c.l.perl.perl6.language
  26. g.c.l.r.general
  27. g.c.l.ruby.general
  28. g.c.l.rust.devel
  29. g.c.l.tcl.core
  30. g.c.mozilla.conkeror
  31. g.c.php.devel
  32. g.c.php.general
  33. g.c.python.devel
  34. g.c.python.django.devel
  35. g.c.python.django.user
  36. g.c.python.ideas
  37. g.c.security.linux
  38. g.c.s.microsoft
  39. g.c.s.news.general
  40. g.c.s.news.linux
  41. g.c.s.news.microsoft
  42. g.c.s.papers
  43. g.c.s.programming
  44. g.c.shells.fish.user
  45. g.c.version-control.git
  46. g.emacs.devel
  47. g.e.help
  48. g.e.sources
  49. g.games.devel.mud.rom
  50. g.ietf.uri-review
  51. g.linux.kernel
  52. g.lisp.guile.devel
  53. g.l.g.user
  54. g.org.w3c.html.public
  55. g.o.w.whatwg.html5lib
  56. g.os.haiku.devel
  57. g.os.h.ports.devel
  58. g.os.h.ports.user

Yes—I read them all. It takes up a good chunk of my Monday. What I really like to look for are messages that begin with “[ANN]” in the subject because they announce new projects, usually with GitHub links that I clone to my hard drive so I can read the code later. Once again, I do not suggest you read all of these, but pick a few that interest you, and search Gmane for some others you may like.

Reddit

I read articles on Reddit everyday. As far as programming is concerned I focus on these sub-reddits:

  1. /r/programming
  2. /r/gamedev
  3. /r/indiegames
  4. /r/emacs
  5. /r/haskell
  6. /r/java
  7. /r/python
  8. /r/rust
  9. /r/php
  10. /r/sql
  11. /r/racket
  12. /r/lisp
  13. /r/scheme
  14. /r/Linux
  15. /r/javascript
  16. /r/git
  17. /r/golang
  18. /r/ada
  19. /r/compsci
  20. /r/webdev
  21. /r/netsec
  22. /r/ReverseEngineering
  23. /r/emulation
  24. /r/sqlite
  25. /r/prolog
  26. /r/nimrod
  27. /r/LaTeX
  28. /r/tex
  29. /r/forth
  30. /r/factor

The Point to This Madness

I am not try to brag over how much stuff I read. My goal is simply to impress upon you the value of reading. If you want to be a better programmer, you need to read. You need to read groups. You need to read articles. You need to read source code. Think of a type of program that interests you and look for a version on GitHub, and study that source code. Think about how to improve it. This will make you better.

And then in six-hundred years you’ll be a quarter of a way towards being John Carmack.

Advertisements

3 thoughts on “What I Read to Study Progamming

  1. If someone had asked me what I read to study programming, I would have listed a bunch of textbooks. Newsgroups can be a helpful place to go for more specific info, though. The problem with newsgroups is that its tempting to obsessively read all of their posts. And sometimes newsgroups have a lot of noise (A year ago, I would’ve cited lua list as an example of a list that you wouldn’t want to read every post of; for some reason, it has improved drastically recently.) Looking for [Ann] tags is definitely a good piece of advice.

    1. I avoided mentioning books for two reasons: I’ve written about a specific number of ones before, and nowadays most of the books I read are references and not actually teaching material in the usual sense. But books are absolutely how I first got started.

      As far as newsgroups go, I feel like can sift through to the interesting posts quickly. Or to put it another way, I don’t feel compelled to read everything because, as you correctly say, there can be a lot of noise. And I have to admit that after a while I start associating the names of authors who write uninteresting posts and actively ignore them, heh. Not saything that’s particularly good or mature advice.

  2. I think you already know how I feel about this reference. 1) It makes me feel slightly better about my obsession with reading everything I can find that’s remotely programming related. 2) It gives me another tool for my toolbox.

    I already read a few of these sub reddits — I’ll have to add some once I learn a bit more. As for the newsgroups, I didn’t consider them at all, it’s definitely worth a peek. I’ve been following a couple of interesting Gaming Industry related pod casts. They don’t really get into technical areas of a particular programming language, but they do go over personal experiences that some Indie developers face, particularly around crowd funding. Overall, another interesting resource that I use while driving. Anyway, helpful post as usual :)

Add Your Thoughts

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s