1998 24.01 2000

Vol.24 n°1 (#295) january 1999

(ddj_1999_01.jpg)

p.8 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.20 AUTOMATING THE WEB WITH WEBL

[author : Hannes Marais and Tom Rodeheffer]

WebL, a freely available scripting language written in Java, is ideal for prototyping web applications. Hannes and Tom describe WebL, then show how you can use it by implementing a meta-search engine that combines search results from the AltaVista and HotBot public-search services.

p.28 LITTLE LANGUAGES WITH LEX, YACC, AND MFC

[author : Jason Shankel]

Jason shows how to use lex, yacc, and MFC to create integrated Win32 development environments for little languages. In doing so, he develops "Slide," short for the "Small Language Integrated Development Environment," and integrates it with lex and yacc.

p.34 FULL-TEXT SEARCHING IN PERL

[author : Tim Kientzle]

Full-text search engines are popular these days, and not just on web sites. Tim shows how you can build a fast full-text search capability using Perl's built-in database support.

p.42 EXTENDING JSCRIPT

[author : Paul Butcher]

Paul extends Microsoft's JScript scripting engine by adding support for constructors and arrays. In the process, he presents JScriptTest, a program that displays a UI that lets you type and execute JScript source.

p.50 PARSING EXPRESSIONS IN JAVA

[author : Cliff Berg]

Cliff presents a Java expression parser that complements the tokenizer classes that are already built into the language.

p.60 PERSONALJAVA & INFORMATION APPLIANCES, PART I

[author : Jaison Dolvane and Kumanan Yogaratnam]

PersonalJava is the Java Application Environment designed specifically for low-resource environments and diverse visual displays. Our authors share some of the lessons they learned while developing Kalos Espresso, a lightweight Java UI toolkit optimized for PersonalJava environments.

EMBEDDED SYSTEMS

p.70 FICL: AN EMBEDDABLE EXTENSION LANGUAGE INTERPRETER

[author : John Sadler]

Ficl, short for "Forth-Inspired Command Language," is an interpreter that has a system interface similar in spirit to Tcl, but specifically designed for embedded systems with minimal resources.

INTERNET PROGRAMMING

p.80 DYNAMICALLY RECONFIGURABLE SERVERS

[author : Ron Klatchko]

The dynamically reconfigurable server Ron presents here is implemented in Python, a portable, interpreted, extensible object-oriented programming language.

PROGRAMMER'S TOOLCHEST

p.86 SCRIPTS FOR WINDOWS SCRIPTING HOST

[author : John Goalby]

Microsoft's Windows Scripting Host (WSH) is a language-independent batch-processing language for Win32. John presents a number of self-contained scripts that are useful to software developers, not just systems administrators.

p.94 MATLAB AS A SCRIPTING LANGUAGE

[author : Peter Webb and Gregory V. Wilson]

The numerical language Matlab has evolved to serve the role in science and engineering that scripting languages such as Visual Basic and Perl have served in nonnumerical applications.

COLUMNS

p.101 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Among other topics, Michael discusses Squeak, a freely available implementation of Smalltalk that includes a web browser and mail client.

p.107 C PROGRAMMING

[author : Al Stevens]

Continuing the saga of his Quincy 99 and D-Flat 2000 projects, Al introduces a programmers' editor that addresses some of the deficiencies of the Win32 CEdit control.

p.112 JAVA Q&A

[author : Kenneth Hittleman and Ted Leung]

Are you ready to move from JDK 1.1 to JDK 1.2? Ken and Ted tell you what to expect.

p.116 ALGORITHM ALLEY

[author : Sasha Gontmakher and Ilan Horn]

Doing efficient memory allocation requires first understanding how real-world programs use memory. Sasha and Ilan discuss common patterns of memory usage, and use that to develop a practical memory manager.

p.123 DR. ECCO'S OMNIHEURIST CORNER

[author : Dennis E. Shasha]

The future of Sweden depends on how good Dr. Ecco is at pattern recognition.

p.127 PROGRAMMER'S BOOKSHELF

[author : Paul Lu and William Stallings]

This month, Paul takes a look at Tim Budd's Data Structures in C++: Using the Standard Template Library, while William examines Gigabit Ethernet: Migrating to High-Bandwidth LANs, by Kadambi, Crayford, and Kalkunte, and Rich Seifert's Gigabit Ethernet: Technology and Applications for High-Speed LANs.

FORUM

p.10 LETTERS

[author : you]

p.18 NEWS & VIEWS

[author : the DDJ staff]

p.134 OF INTEREST

[author : Eugene Eric Kim]

p.136 SWAINE'S FLAMES

[author : Michael Swaine]