|
I'm not a "developer" or "programmer" by trade, like many of you here on HN are. In the last 15 years, I've been a Windows admin, a Linux admin, a security guy, and a networking guy. For the last several years, I have been almost exclusively managing Linux servers and networking gear (primarily Cisco and HP). For background, I started out learning 6502 assembly at a very early age (which I've long since forgotten), Commodore BASIC, GW-BASIC, QuickBASIC, Turbo Pascal, and then onto Perl and, later, "enough" PHP to make some basic web apps. I wouldn't consider myself even close to being an "intermediate" level programmer. After being introduced to Linux in the mid-90s, I began learning Perl (primarily to write CGI scripts). I've wrote a few small applications in PHP over the years but most of the code I've written has been Perl. Also, probably 95% of the code I have written is stuff that helps me do my job quicker, easier, or more efficiently (in other words, I'm not really developing applications for the "public" or anyone else, only for myself). I recently decided I wanted to learn Python, but following examples or tutorials has never really "done it" for me as I quickly get bored. I've had much better luck by finding an existing problem I need to solve and then diving straight in and learning what I need to as I go along. That's what I did with Python. A month ago, I knew absolutely nothing about it. I watched most of the videos on Youtube from Google's Python class (which is awesome, by the way) and worked through a lot of the exercises. Shortly afterwards, I found a real-world problem (at $work) that needed to be solved and, although I could have knocked it out fairly quickly with Perl, I decided to make this my Python learning exercise. In the last two weeks, I've went from only knowing the very basics to a complete solution. Looking back at my code now, it parses command-line arguments, interacts with the user (to obtain a router password), uses SNMP to gather a bunch of data from an access point (this is a WISP environment, not your typical SOHO AP), connects to a Cisco router and makes a bunch of changes. SNMP, MySQL, regular expressions, working with files, lists, hash tables ("dicts"?), etc. It's not the most complex piece of code ever written but it's certainly well past the "Hello, world" difficulty level. As you might guess, I performed a fair number of Google searches during the time I was writing my program. I didn't come across anything that I wanted/needed to do that I wasn't able to. Perhaps the documentation on docs.python.org isn't 100% complete or the best, I don't know, but I do know that I managed to figure out how to do everything I needed to, almost entirely from the results returned in my Google searches. The author may be right about the state of the documentation on docs.p.o but, overall, I think it's irrelevant. There is sufficient documentation "out there" in the whole of the "world wide web" that any newbie to Python (myself included) can quickly learn anything about Python that they want to. |