DDJ March 1996 - SCRIPTING LANGUAGES


FEATURES

DR. DOBB'S JOURNAL EXCELLENCE IN PROGRAMMING AWARDS

by Jonathan Erickson

Larry Wall, author of Perl, and James Gosling, chief architect of Java, are recipients of our annual award that honors achievement in the world of software development.

DYLAN'S CREOLE INTERFACE

by Edward Cessna

The Dylan programming environment includes Creole, a foreign-function interface that allows Dylan programs to call routines written in other languages--and routines in other languages to call Dylan routines. Edward uses Creole to interface Dylan with the Sybase database library.

BUILDING PARSERS WITH LEOPURD

by Thor Mirchandani

Leopurd is a program that generates a maintainable table-free parser from an input grammar. In building legible, maintainable systems, Leopurd uses the best features from both top-down and bottom-up parser technology.

A CONVERSATION WITH MICHAEL COWLISHAW

by Jack Woehr

Over the years, IBM Fellow Michael Cowlishaw has been a staff member in virtually every IBM major research center. Still, Michael is best known for developing the Rexx programming language. Jack chats with him about Rexx and a number of other topics.

WINDOWS 95 JOURNALING AND PLAYBACK

by Mark Russinovich and Bryce Cogswell

To demonstrate the power and flexibility of the Windows 95 journaling and playback facility, Mark and Bryce present a macro recorder program that provides keyboard and mouse macros that can be used anywhere and anytime. This macro involves the use of multithreading and having virtual devices notify a Win32 program of an asynchronous event.

MOVING FROM C++ TO JAVA

by Gary Aitken

Certain aspects of Java are easier to learn than C++. As Gary points out, however, what's really important to efficient Java programming is a good understanding of object-oriented concepts.

USING OODCE

by Jonathan Roberts and Dan Zigmond

Our authors use OODCE, a C++ library originally developed by Hewlett-Packard, to develop a distributed application.

EMBEDDED SYSTEMS

A TINY PREEMPTIVE MULTITASKING FORTH

by Andy Yuen

Andy describes how you can provide support for preemptive multitasking, semaphores (for task synchronization), and Forth interrupt-service routines for the 16-bit 8086 eForth--with only 1K of additional code.

NETWORKED SYSTEMS

DISTRIBUTED OBJECTS AND THE INTERNET

by John Pompeii

In his discussion of a real-world, distributed-object, client/server application, John focuses on the DSOM-based, distributed-object and Internet-connection services.

EXAMINING ROOM

EXAMINING THE COCKTAIL TOOLBOX

by Rodney M. Bates

Cocktail is a collection of little languages (including rex, lalr, ag, puma, ell, and others) for writing compilers, translators, and the like. The suite is available for both MS-DOS and UNIX.

PROGRAMMER'S WORKBENCH

USING JAVASCRIPT TO CREATE INTERACTIVE WEB PAGES

by Tom Tessier

JavaScript is a cross-platform object scripting language designed to let you glue together HTML documents, Java applets, and Netscape plug-ins on both clients and servers. Tom uses it to build a program that presents the client browser with an interactive form, then asks users to select an answer out of three options.

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

Before continuing his survey of little languages (this month focusing on Perl), Michael reviews PC Roadkill: Twisted Tales from Silicon Valley and takes a trip down the computer-industry version of memory lane.

C PROGRAMMING

by Al Stevens

Al continues his development of Quincy 96, a Windows 95 IDE for GNU C/C++. This month he builds the debugger.

ALGORITHM ALLEY

edited by Bruce Schneier

John DeVos presents a compact logarithm algorithm that trades off accuracy for size and performance.

PROGRAMMER'S BOOKSHELF

by Lou Grinzo

Matt Pietrek's Windows 95 System Programming Secrets grabbed Lou's attention this month.

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

SWAINE'S FLAMES

by Michael Swaine

PROGRAMMER'S SERVICES

OF INTEREST

by Monica E. Berg