Java Makes Scripting Languages Irrelevant?

نویسنده

  • Diomidis Spinellis
چکیده

I n computing, we often solve a complex problem by adding another level of indirection. For example, in Unix file systems, an index node, or inode, data structure lets the operating system allocate files concurrently and sparsely while still providing an efficient random-access capability. When we want to customize large, complex systems or express fluid, rapidly changing requirements, we frequently add a scripting layer on top of the corresponding system. Back in 1962 to 1963, Dan Murphy did this when he developed his TECO (text editor and corrector) editor on the Digital Equipment Corp.’s PDP-1; its command language also doubled as an arcane (to put it politely) macro language. Twenty years later, adding a scripting-language interface to existing applications (often written in C) was all the rage. Lotus 123 supported macro commands, Framework had the FRED (frame editor) language, and you could program AutoCAD and Emacs in a form of Lisp. On the Unix platform, administrators wrote sophisticated sendmail configuration files to bridge email networks—which were then disparate and mutually incompatible. John Ousterhout completed the picture by developing Tcl/Tk as a general-purpose scripting language for integration with any system that could benefit from such a capability. A few years later, Microsoft came up with Application Basic as its generalpurpose scripting language for all its office productivity applications. Those early developments acquainted programmers with the notion of customizing applications through scripting and opened the road for powerful, general-purpose scripting languages such as Perl, Python, and Ruby (see John Ousterhout’s article, “Scripting: HigherLevel Programming for the 21st Century,” in Computer’s March 1998 issue). Scripting languages glued to applications serve an important purpose: they greatly ease the application’s configuration and customization and support end-user programming by offering a safe and friendly development environment. Gone are the intricacies of C’s memory management, the convoluted string manipulation, and the complexity of the application’s internal data structures. Instead, the scripting language typically offers automatic memory management, a powerful string data type, sophisticated data structures, a rich repertoire of operations, and an intuitive API for manipulating application data and state. Additionally, by interpreting the scripting language, the application can isolate itself from undesirable effects of the scripting code, such as crashes and data corruption. My impression is that with the evolution of Java and Microsoft’s .NET offerings (I’ll use the term Java as a stand-in for both alternatives), the niche occupied by scripting languages is rapidly shrinking. We are approaching the end of an era. Java Makes Scripting Languages Irrelevant?

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Tcl and Java Integration

This paper describes the motivations and strategies behind our group’s efforts to integrate the Tcl and Java programming languages. From the Java perspective, we wish to create a powerful scripting solution for Java applications and operating environments. From the Tcl perspective, we want to allow for cross-platform Tcl extensions and leverage the useful features and user community Java has to...

متن کامل

A New Internet Agent Scripting Language Using XML

Java and other system programming languages are not ideal for software agent development on the Internet. We have found it very challenging to produce reliable yet lightweight agent systems. Even basic agents often require colossal amounts of highly complex code. We are addressing this issue by new agent scripting language and an associated execution environment. Taken together, these two devel...

متن کامل

Reconciling method overloading and dynamically typed scripting languages

The Java Virtual Machine (JVM) has been adopted as the executing platform by a large number of dynamically typed programming languages. For example, Scheme, Ruby, Javascript, Lisp, and Basic have been successfully implemented on the JVM and each is supported by a large community. Interoperability with Java is one important requirement shared by all these languages. We claim that the lack of typ...

متن کامل

Tcl and Java Performance

Combining scripting languages such as Tcl with lower−level programming languages such as Java offers new opportunities for flexible and rapid software development. In this paper, we benchmark various combinations of Tcl and Java against the two languages alone. We also provide some comparisons with JavaScript. Performance can vary by well over two orders of magnitude. We also uncovered some int...

متن کامل

Computer algebra in Java: libraries and scripting

We have developed two computer algebra systems (CAS) written in Java [9, 12]. The Java libraries can be used as any of the numerous other Java library packages. For the use-case of interactively entering and manipulating mathematical expressions there is a need of a scripting front-end for our libraries. Most other CAS invent and implement their own scripting interface for this purpose. We, how...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • IEEE Software

دوره 22  شماره 

صفحات  -

تاریخ انتشار 2005