Sponsored Link •
|
Summary
Are you tired of new Languages... Yet?
Advertisement
|
General purpose programming has been slowly (smalltalk came on the scene some 20 years ago) moving toward object oriented programming. Smalltalk set the stage, with C++, Perl, Java (and the plethora of modified Javas), Python and others to follow. The computer science community has learned some things that are important about procedural programming. Languages such as Algol created some stirring new concepts. Many concepts that date from that far back have reappeared in some related form in newer languages.
There is of course languages of other natures that have been gathering significant followings. Some are related to artificial intelligence. There is the whole class of languages that deal with very abstract levels of expression. The runtime overhead of some of these is so large that they really can only be used for small problems as an example of the power of these languages.
What I perceive for most of the procedural languages that are 20 years old or less, is that each has been created to solve a class of problem that was difficult (but not impossible) to solve using an existing language. The phrase "Application Oriented Language" generally applies to this type of language. Perl was created for text processing. The awk and sed applications in UN*X make it possible to do most of the things that the original version of Perl did. It was perhaps easier to create Perl for a particular class of complex document parsing, than to write all of the combined awk and sed code wrapped in a shell script.
Languages such as Python don't really seem to help solve OO programming problems dramatically easier. The dynamic nature of typing in Python does make a certain class of programming problems seem easier. But, for general OO programming, Python is not really a dramatic, simplifying technology.
Of course, there are people who are going to argue with these assertions. I am sure that there are many that use Python as their primary programming language. There are certainly many that refer to the Perl/Python programmers as the "script-kiddies" because many of the most prevalent uses of these languages is for simple scripting problems in web server CGI services, PHP, JSP and related uses. It is clear that for many people who are not software engineers, that there has been some element of power and simplicity realized in the use of these languages.
The original class of problems that most of these languages were targeted at solving still remain the place where they are most actively used (and effective), and thus they are Application Oriented Languages.
More recently, the JCP has started to add convenience classes, APIs and features. This will enlarge the requirements for other implementations. But, they say that it will make it possible for the less trained programmers to get more out of using Java.
Other topics to discuss...
Smalltalk and many other OO languages truely provided a new paradigm in programming. The power of Objects is compelling. What's next? More Objects, no Objects, or...
Have an opinion? Readers have already posted 11 comments about this weblog entry. Why not add yours?
If you'd like to be notified whenever Gregg Wonderly adds a new entry to his weblog, subscribe to his RSS feed.
Gregg Wonderly graduated from Oklahoma State University in 1988 with an MS in COMSCI. His areas of concentration include Operating Systems and Languages. His first job was at the AT&T Bell Labs facilities in Naperville IL working on software retrofit for the 5ESS switch. He designed a procedure control language in the era of the development of Java with similar motivations that the Oak and then Java language development was driven by. Language design is still at the top of his list, but his focus tends to be on application languges layered on top of programming languages such as Java. Some just consider this API design, but there really is more to it! Gregg now works for Cyte Technologies Inc., where he does software engineering and design related to distributed systems in highly available environments. |
Sponsored Links
|