| Exploring Solution Spaces © Copyright 2003-2006, by C. Keith Ray | ||||||||||||||||||||||||
|
Archives
Subscribe |
2003.Dec.22 Mon Some time ago, Todd Blanchard wrote:
Fortunately some languages are easier to interoperate with than others:
Bruce Eckel: "Zope is the enterprise application server I use for my website. Zope is virtually all Python, but includes some C code, because they profiled and optimized Zope so it would run faster..."
Questions for Designing a Language
Questions to ask yourself when designing a programming language, via reflectivesurface:
There are over 7000 programming languages, so think twice before creating a new one. If you're looking at creating a way to script your application there are several alternatives to creating a new language: Python can be "embedded" in an application, and is free and cross-platform.
On Windows, you can export functionality in your application via COM, and thus any COM-compatible scripting language can then script your application -- VBScript, VisualBasic, JScript, Python, Perl, and so on. On MacOS X, programming in Cocoa or PowerPlant make it fairly easy to make your application scriptable via AppleScript, and via AppleEvents (the supporting layer for AppleScript) your app can be scripted via Python and other languages. Because Cocoa/Objective-C has bridges to/from Java, Ruby, Python, and FScript, your MacOS X application implemented with Cocoa can be scripted or interfaced with several other languages. Java, Python, Squeak Smalltalk, and so on, are very 'portable' languages, but they are implemented in C, so C is even more portable (though portable GUI frameworks via C/C++ are problematic -- sometimes more trouble than they are work). Smalltalk and many other languages which have environments "built-in" actually restrict portability -- I can't write a TWAIN plugin in a portable dialect of Smalltalk, for example. Unfortunately, popularity of a language does not correspond to fitness of purpose. Many people program in languages that are optimized for machine-performance rather than programmer-performance. CPUs are 100's of times faster now, compared to when those languages were designed, and for the most part these days, the CPU is idle most of the time. Rather than trying to find cheaper programmers, businesses should be looking at a less "expensive" programming languages/environments/methods: ones that provide power and speed to the programmers who are the most expensive "part" of the process.
The obstacle is the path. -- Zen Proverb |
|||||||||||||||||||||||