Learning Python… Taking a step backwards in time…
Being in the IT field as long as I have(35 years) you get to see a lot of “repeat performances” when it comes to technology. The old axiom, “The more things change the more they stay the same…”, can be found to be often quite true in our profession. However, to understand and experience it one must have been around long enough to see enough of the changes that have occurred over the years.
There is very little today that is radically new in terms of developing systems; you have an interface, the requirement of processing that input which is entered as well as retrieval of output for display, and this middle-tier processing existing against some form of database. These are the three standard tiers for any type of system. Remove one of these tiers and you can’t develop a system… any system.
Anything beyond such tiers in system development is nothing more than form and fancy footwork used to enhance interface experiences and performance.
No matter how many new technologies have been introduced over the years, eventually they begin to demonstrate some level of redundancy that simply can’t be avoided. And now with languages in the past few two or three years such redundancy is starting to play itself out to such an extent that to some of us it seems that the technological clock has been turned backwards… but with a twist.
We now have a new language fad called “dynamic languages”, which is simply an updated term for the original “interpretative languages”. These are the languages that originally started the entire pc based computing industry. And for those who remember it, the first major “interpretive language” on the PC was Bill Gates’ famous “GW Basic”; aka “Gee Whiz Basic”. And from those humble beginnings everything else came forth including the modern-day compiled languages that now incorporate phenomenal capabilities. However, even here we are stepping backwards somewhat with both Java and .NET since neither, on its own, produces purely, native assembler language. Each has its own form of p-code that runs against a virtual run-time-compiler such as Java’s JVM and Microsoft’s CLR.
Despite the tremendous gains in popularity for both developments, technicians are still very much drawn to a language by their personalities and nature. And this is the single largest factor for the reason that such a plethora of languages are still popular today no matter what platform they may run on or against; hence, the introduction of such languages as Ruby and Python, the two most popular “dynamic languages” currently sweeping the landscape.
Because of my own background with the older 4th generation database languages such as Dbase and the highly successful Foxbase+, I have always been drawn to those languages that are simply less scientific in nature, though I can develop in C# just as fluently as I do in VB.NET. However, back then, the idea that you select a language for its capabilities carried far more weight than today since Foxbase+ could not do graphics very easily while using some form of BASIC could not easily aid in the development of a solid database application.
This of course all changed over time and now all languages can do just about everything.
So why Python? Why even bother? Because its fun, its easy, and it can do a lot without all the eye noise that the C-like languages bring to the table with their curly braces and semi-colons.
I admit that I have not really had the time to learn the Python language, though I have all the tools and documentation I require that could make me a credible Python programmer in a reasonably short period of time. Yet, to have the opportunity to return to a simpler time in this field when everything was more straightforward and less ambiguous than today while still having the power of a modern language at my disposal is a very tempting opportunity that I look forward to taking at some point.
Python comes in two flavors, both of which are equally credible for using it; the pure, open source, original language foundation, or for those who prefer to remain with the .NET environment, the CLR-compliant version of “IronPython”, which maintains the originality of the language.
Python is becoming increasingly popular as an embedded language as well as a standalone development environment in its own right. Major institutions are adopting it for use in a variety of areas which include among this roster NASA and George Lucas’ International Light & Magic. And it is just as capable in the business-based web environments as one news organization found.
So if you are interested in learning Python take a look at the tool recommendations below that are available to you.
Steve
Black Falcon Software, Inc.
Amazon Booklist: http://www.amazon.com/s/ref=nb_ss_gw?url=search-alias%3Dstripbooks&field-keywords=python+language&x=14&y=21
For working with the Open Source version of Python here are the following links to consider:
Python Framework: http://www.python.org/ (for Windows, Linux, & Mac)
Wingware 101 IDE (freeware): http://www.wingware.com/downloads/wingide-101 (for Windows, Linux, & Mac)
Wingware IDE Screenshot

For working with the .NET version of Python here are the following links to consider:
IronPython Framework & Related Information: http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython
IronPython Studio (IDE): http://www.codeplex.com/IronPythonStudio
IronPython Studio Screenshot

About this entry
You’re currently reading “Learning Python… Taking a step backwards in time…,” an entry on TECH NOTES
- Published:
- April 27, 2008 / 11:02 pm
- Category:
- Tools & Code
- Tags: