Python Liberation Front

Techne


Ok, I am going out on limb a little bit with this post, but a long while ago I read a book by Donald Knuth that included the definition of a Greek word, "techne". The word means something like "art" as in craftsmanship, and of course is the root of our modern English word, technology.

I am going to start a new category of post on my Blog, called Techne, but I am going to re-define the word to mean technology selected with practical concerns in mind, with down to earth, practical, even political considerations taken into account; a sort of "all things considered" approach to technology advocatism.

I guess my scripting languages post will become the first of the series. look for more real soon now...

Please leave a message on the

Discussion Forum

and let me know if you like it or not, or just to say Hello! ;-)))

Posted by Ron Stephens @ 2004-05-16 19:35:45 [permalink]
Categories: techne, Greeks

Scripting Languages


I like scripting languages. They are easy to learn and easy to use.

Python: Python taught me how to program. When I was in college (30 years ago!?!), as a math and physics major, I programed a little in assembly language for an ancient IBM mainframe, and some in Fortran and Basic. In graduate school working on my MBA, I programed in PL/1. Later, I fooled around with Quick Basic, but in all of this, I never really learned to program. Much later, I tried a succession of languages, including Java, Perl, and JavaScript, but still it did not really stick.

Then I tried Python, and quickly fell in love. The syntax for the core language was soon committed to memory. I could read anyone's code and understand. I could just sit and write code. I truly learned object oriented programming. Without Python, I would probably not be interested in programming today. With Python, it has become an important hobby for me.

JavaScript: Having grokked Python, I came back and found JavaScript to be completely intuitive and quite useful. The syntax and structure of JavaScript is quite similar to Python, with the exceptions that one must use curly braces to define code blacks and must declare one's variables explicitly. The big advantage of JavaScript is its ubiquitous use for client side web programming. In fact, given this use, it is possible that JavaScript is the most used programming language in the world today.

Ruby: Ruby is a programmer's programming language, and has spawned a community of disciples who, if it were possible, could be said to love their language even more than the Pythonistas do. Ruby is newer than Python, and does not have as large a community nor as large a library and tool set, but it is a very powerful and beautiful language. Object oriented to its core, Ruby includes all the advanced features loved by programming language researchers. After grokking Python, I read Programming Ruby, the Pragmatic Programmer's Guide, by David Thomas and Andrew Hunt (affectionately known in the community as the Pickaxe book) and it made object oriented programming seem more intuitive than procedural programming. I can not recommend that book enough, even for those who don't use Ruby. This language is not going to go away, and it is the language of choice for a lot of tremendous programmers.

Perl: Without Perl, the other languages in this list would not exist, at least not in their current forms. Perl is the father of them all, and is still the most used of them all. Perl pioneered the genre, and is at its best in text processing chores of all types. Perl is still the language of choice for CGI scripts and is the language most ubiquitously supported for CGI applications on servers of all types. In fact, the existing library of Perl scripts for CGI is so large that there is a good chance you can find the script you want and use it, even if you don't write Perl. Perl is loved for its expressiveness and terseness, and for its unique founder, Larry Wall. Perl 6 is under development and is planned to utilize a revolutionary new virtual machine called Parrot. Parrot's lead developer, Dan Sugalski, ambitiously plans to support Python, Ruby and other languages as well as Perl, and hopes to make Python, Ruby, and Perl code execute faster on Parrot than in their own native environment.

Scripting languages are used to write very large applications, such as Zope and Chandler which are written in Python. These are free, mostly open source languages that have vibrant and helpful communities. There are of course other useful scripting languages, such as TCL, Lua, Groovy and even AppleScript and VBScript (ugh!). But the four languages I like to write about are Perl, Ruby, JavaScript and Python, which are the subjects of my evolving Scripting Language City on this web site.

Please leave a message on the

Discussion Forum

and let me know if you like it or not, or just to say Hello! ;-)))

Posted by Ron Stephens @ 2004-05-09 22:11:44 [permalink]
Categories: general, techne