Sunday, July 17, 2011

Why Python?

I've been accumulating project-ideas for over a decade now, mostly for web-applications, but for a few other items here and there. When I first got started in web-development we spent several months looking at various technologies before settling on ColdFusion. Along the way, though, we looked at a lot of alternatives: Perl-cgi, classic ASP.NET, and others that I cannot even remember any more. The last one that I do remember was mod-python - that was my first exposure to Python in general, as well as to object-oriented languages. At the time, I was busy enough learning CFML, and how to build web-applications, that I set mod-python aside, and focused on my job.

For several years, as I grew as a developer and learned more about the ways and wonders of building web-applications, I started accumulating project-ideas, but it simply never occurred to me to re-examine Python or mod-python in that context. During that time, I changed home operating systems twice (going from Mac OS to Windows to Linux), which didn't help with trying to keep a consistent application-development language available. I started a family as well, which ate more of my nominal free time.

Finally, things loosened up enough that I thought I might be able to make some headway on the 20-odd projects that I'd managed to keep track of, and I started looking around for a language to work on them in. I remembered Python, and dug back into it again, with the intention of becoming, if not a Python master, at least a competent Python developer. There were technical reasons that I picked Python out, but just as important were some non-technical reasons that have been noted here and here.

The language isn't without its warts, but I believe that discipline, good design and good programming practices will overcome the ones that I'm aware of.

Friday, July 15, 2011

This is my Brain on Python...

I love Python. I love it's structure and syntax, I love that the code is easily readable, and frequently understandable even to laymen, and I love the (relative) simplicity of the language. I love it's power and flexibility, and the fact that if there's something that the language doesn't do out-of-the-box, it's usually either easy to write code to make things work the way you want, or (sometimes) just exert some discipline to do things "the right way" for whatever value of "right" suits your needs.

I also love having time to work on personal projects, but there's precious little of that nowadays, despite the seemingly ever-growing list of ideas I have. Since I needed a way to capture those ideas (and, incidentally, share them out with anyone who might be interested), I decided to set up this blog to provide a space for me to randomly note thoughts wherever I might be, and work them out later.

More to follow...