Finished reading the main sections of The Pragmatic Programmer. The fifteen year old book shows its age in some spots, but mostly is great advice. I was pleased to see that a lot of the practices the book encourages, are already being implemented at the place I work at, and other places I’ve interned. Specifically, using source control, commenting your code in a sensible manner (document why, not how, the code tells you how), and automated builds and test suites.
It’s a great reference book to have with you whenever you’re starting a new project. The thing I’m mostly going to take away from it is to think about what I’m trying to solve. I see a lot of instances in my job where more automation would help. Developer environment set up, data conversion, and some other areas could all use a bit of automation. I do recognize that somethings would be harder to automate, than to just do it manually. Some deployment procedures would be difficult to automate as required permissions are missing. Sometimes you have to work with what you’ve got, but that doesn’t mean you shouldn’t look for improvements.
I’ve been slowly going through this Perl book: Learning Perl 6th Edition. I’m about 4 chapters in, and it’s been a good resource so far. Each chapter has exercises at the end to work through, which I’ve enjoyed. Some of them require user input from the console, and I’ve found that Notepad++ is not the best environment to be running the programs from, as there doesn’t seem to be a way to end the program without killing it completely. Specifically, the <STDIN> command for inputting an array of values. Normally, you would send it the EOF command (ctrl-D, or ctrl-Z, depending on your OS of choice), but I was unable to find a way to do that within Notepad++. I’ve switched to Sublime Text as my IDE. I haven’t found out if it supports <STDIN> for arrays, but I like the look of it. I think I’m going to have to learn to run the programs from the command prompt.