I work in a lot of languages, and I feel like I’m productive in just about all of them…I mean I usually get my problems solved and things (eventually) work. I guess it’s one of the reasons I’m able to pay the bills by coding. But still, as active and productive as I might appear, I’m more of a utility programmer than I am a master. I can work in lots of languages, and I can come up with lots of angles and solutions…but they still aren’t always the ‘best’ answers. This was the case for a recent Perl program I dumped on this blog. It worked and it solved my problem well enough at the time - which goes along with my overall coding philosophy (1. Make it work, 2. Make it fast (if you have time), 3. Make it good (if you have interest)) Anyway sharing my quick hack on this blog gave a better programmer - Donnie Cameron - the chance to improve upon it (which by the way is just another awesome side advantage to sharing this type of thing via a blog). Because his improvements really do make the program a lot better, I asked him if I could republish his email (and as you can see he graciously agreed!):Note: In case you can’t tell, Donnie is a pretty high level programmer - especially when it comes to Perl (but he’s rock solid in many other languages and concepts as well). As a master he often uses a style/format that can be a bit harder for lesser programers to quickly read through (I’m refering to things like spaces and line breaks)…I took the liberty of reformatting his solution into what I considered a more reader-friendly style before I shared it with you. Everything he points out above are very good points, and things that I *should* have thought of when I was hacking the program togther…in fact most are things I like to *think* I would have thought of had I needed to spend more time with this problem (though in reality some like the different file parsing bits aren’t things I probably would have thought much about). Still it’s clear that bouncing from language to language so often like I do can often affect how you approach problems and implement solutions - and not always in an ideal way. Lucikly, I have some SUPER smart friends who can come in and fix my mess up from time to time and keep me thinking about the right path to the master level!
This post has received 44 loves.
Kevin has a day job as CTO of Veritonic and is spending nights & weekends hacking on Share Game Tape. You can also check out some of his open source code on GitHub or connect with him on Twitter @falicon or via email at kevin at falicon.com.
If you have comments, thoughts, or want to respond to something you see here I would encourage you to respond via a post on your own blog (and then let me know about the link via one of the routes mentioned above).