back

by ofalkaed·3y ago·view on hn ↗
I guess what got me started was bash, the bash man page, and limited options. I had no internet, my wifi card died right after reinstalling the system (money was too tight at that time for a new card) so I had no way to install anything beyond the basic stuff which came with slackware. I wanted to make music so I started to experiment with using bash scripts and SOX to make music. The results were not great but I learned a good deal and it got me interested in the possibilities so I got a copy of 'Programming: Principles and Practice Using C++' since most audio applications seemed to use C++ and there would be a great deal of code to learn from. During that time I also learned a few audio DSLs, enough of a handful of languages that I could hack code I found to make it do what I wanted it to and can sort of figure out most modern languages. Most importantly I learned how to learn, or at least how I learn. Now I am onto lisp, have a rather complex program I want to build and am reading 'Practical Common Lisp,' 'On Lisp,' and 'Lisp in Small Pieces.'

Probably the most valuable aspect of having a project to work on as you learn is it allows you to ask much more useful questions. When you ask a text book question you get text book answers by people who want the upvote, when you ask a question about an issue with the program you are writing you get dozens of varied answers and the people who respond are more likely to actually engage with you and help you learn/complete your project.