Hello, and welcome to DDJ.com
CMP Media Launches New Dr. Dobb's Journal

SD West 2006 announces this year's list of Jolt Product Excellence Award winners and Productivity Award winners.

LOG INRegisterForgot password?
What are the green links?
All Access members only
RSS Feed
DDJ > Dr. Dobb's Departments > Lightweight Languages

Lightweight Languages

Editor's Note | News | Features |

Perl, javascript, PHP. On Ruby! On Python and XSLT! ý These super-powerful ýscriptingý languages are the right tools for an increasing range of ad-hoc and structured programming projects, and underlie the most exciting paradigm shifts in web app development, today, from AJAX to ýclient (no slash) server.ý


New & Noteworthy: And the Scales Fell From Java's Eyes
Rick Wayne
Try Terracotta's new products to pump up performance without rewriting any code, and Sun's Java Studio Creator 2 is a free download that streamlines Web app development for J2EE. Also, two new tomes shed light on grid computing and IT defense.

Back to the Future with AJAX
Yoram Meriaz
AJAX is an amalgamation of technologies that give web applications the look-and-feel of desktop applications.

Consuming .NET Web Services in Oracle JDeveloper
Max I. Fomitchev
Max uses Oracle JDeveloper 10.1.2 to examine the problems you must overcome when consuming ATL/.NET web services in Java clients that rely on Apache SOAP.

A Look at AJAX and Web 2.0
Jonathan Erickson
Dror Matalon discusses the AJAX standard, the differences between AJAX and Web 2.0, and AJAX development toolsets. (MP3, 4:53 mins.)

New & Noteworthy: No Train Jokes
Rick Wayne
Ruby's killer app keeps chugging toward success, the virtualization race heats up with a new entry from Akimbi Systems, and Software Tree brings relational mapping to .NET.

Web Services and Mobile Devices
Jonathan Erickson
Roy Mitchell discusses the challenges developers face when delivering Web services on mobile devices. (MP3, 5:12 mins.)

Use Perl 6 Now
brian d foy
With the Pugs implementation of Perl 6 that's currently available, you don't need to wait to start experimenting. Get a head start wrapping your head around the new concepts and constructs.

Book Review: Advanced Perl Programming, 2nd Edition
Paul Barry
Paul Barry takes a look at the rewrite of this respected Perl tome. Are the changes for the better?

Playing with Pod
brian d foy
Using Pod::Simple, the recently reworked pod tools module from Sean Burke, Allison Randal wrote a simple module to manipulate O'Reilly's PseudoPod format. brian presents it here.

Beyond SOA Governance
Brent Carlson
The debate over registries and repositories.

Enterprise Service Bus: Infrastructures for SOA
Jonathan Erickson
Hub Vandervoort, CTO of Sonic Software, explains what an Enterprise Service Bus is and how it is used. (MP3, 5:54 mins.)

Of Interest

February 2006 Of Interest.

Sessioning with XMLHttpRequest
Dionysios Synodinos
Here's an XMLHttpRequest object that lets you use HTML and JavaScript to connect the presentation layer directly to XML data.

PHP & Preprocessed Web Pages
Betsy Gamrat
Preprocessing lets you deliver complex web pages lightning fast, and in a cost-effective manner.

Transforming XML & the REXML Pull Parser
James Britt
James uses Ruby and its built-in XML pull parser for an alternative approach to XML transformations.

Google's Summer of Code: Part II
the DDJ staff
Google's Summer of Code resulted in thousands and thousands of lines of code. Here are more of the students who participated.

The Return of Tiny Basic
Tom Pittman
Tom updates one of the first implementations of the language that launched an industry.

Special Guide to SOA Tools: Rip and Replace Won't Fly
Eric Newcomer
When you're moving to a service-oriented strategy, it may be tempting to go back to the well and look to your EAI or application server vendor. But just because those servers and brokers are technology independent doesn't mean they're your best choice.

Special Guide to SOA Tools: Beyond the Buzz
Mike Riley
Service Oriented Architecture is hot. Vendors are rapidly creating or repositioning solutions to offer SOA business process efficiencies. Yet with all the buzz about SOA's promise, it's hard to separate the architecture from the "marketecture."

The Goldegg Packaging Sprint: Open Source in Action
Jonathan Erickson
Paul Everitt discusses the benefits and challenges of bringing together programmers from around the world to improve packaging and products for the Zope 3 open source application server, the CMF Content Management Framework, and the Plone content management system.

WSE 3.0: Focusing on Security
Jonathan Erickson
Ari Bixhorn, Director of Web Services Strategy for Microsoft, describes some of Web Services Enhancements 3.0's new features. (MP3, 4:02 mins.)

Open Office Document Connector
Jean-Marie Gouarné
The OpenDocument format is poised to become a de facto standard for the free office software and could be used as a common basis for large-scale content management applications.

Get More Out of Open
brian d foy
open()is a rich Perl feature that has a lot to offer.

Laziness 101
Brent Michalski
A Perl script lets Brent take the easy way out when it comes to processing photos--lots of photos!

Amazon Web Services
Ashish Muni, Justin Hansen
ScanZoom lets you use mobile camera phones to launch services by taking photos of barcodes.

The Obsolete Operating System
Eric J. Bruno
Will we really need desktop operating systems in the future, and is Ajax one tool that will make operating systems obsolete?

Maximize Web Service Performance
Alexandra Weber Morales
Learn how to Get the Most Out of a Service-Oriented Architecture. Enterprises seeking to build comprehensive SOAs using Microsoft technologies have to be cognizant of the performance pitfalls of employing loosely coupled components communicating using a SOAP transport mechanism.

Product Review: Railing on AJAX
Rick Wayne
The Ruby on Rails Web application framework can jump-start 24-carat Web development, and the Asynchronous JavaScript And XML libraries sweeten the GUI pot.The catch: You’ll have to code in Ruby.

The Perl-Compatible Regular Expressions Library
Ethan McCallum
The Perl-Compatible Regular Expressions Library gives you the pattern-matching power of Perl in your C and C++ programs.

Are Standards Enough for Web Services Security?
Jeremy Epstein
The set of Web services standards seems to grow by the day. But if a Web services implementation supports all of these standards, is it necessarily secure?

The Internet In Your Pocket
Simon Cozens
Simon shares some clever proxy techniques that are useful for offline or limited-bandwidth testing.

Mapping, GIS, & Web Services
Jonathan Erickson
Trina Seinfeld, Lead Product Manager in the MapPoint Business Unit at Microsoft, talks about mapping and web services--and new features of MapPoint Web Services 4.0. (MP3 Audio, 4:30 mins.)

Getting Started With POE
sungo
In times past, you would never implement high performance, long running applications in Perl. Times change. POE lets you write Perl apps that go well beyond the traditional single-use scripts and web apps.

OSCON 2005
Casey West
Casey West tells us what went down at OSCON in Portland earlier this month.

Improving Template::Extract
brian d foy
brian tightens a few loose screws in a module with lots of interesting potential.

It's the XML Configuration File's Fault
Gregory V. Wilson
So why did Greg give up on Java and switch to Python? Only the XML configuration file knows.

Apache Kicks Off Software-Integration Project
Jonathan Erickson
David Chappell talks about Web Services in general, and the Apache Synapse Web Service Mediation Framework project in particular. (MP3 Audio, 4:17 mins.)

Ten Things You (Probably) Didn't Know About Perl
Simon Cozens
Simon Cozens presents some tricks that you probably didn't know you could do in Perl.

Writing IRC Bots in Perl with Bot::BasicBot
Tom Insam
Who wants to reinvent the wheel every time you need a new IRC bot? Tom provides a module that takes away the drudgery of working with IRC protocols.

A Music Player Remote Control in Perl/Tk
Frank Cox
Frank Cox uses Perl/Tk to build a nifty search facility that hooks into WinAmp to automatically play the songs it finds.

Managing Documents Using a SOAP::Lite Daemon Architecture
Bryce Harrington
Bryce Harrington builds a document management system that decouples interface from back-end logic. Communication between the two is done through a simple protocol that can be used by a web interface, command-line tools, and GUI applications.

Visions of VOIP
John Ravella , Joe Falcone, Gareth Meyrick
Voice over Internet Protocol turns audio signals into just another pile of ones and zeroes, flattening the telecommunications field—but is the killer app in cheap calls, cool media or social upheaval?

Wrapping Subroutines to Trace Code Execution
brian d foy
brian uses an unobtrusive, low-impact technique for tracing code execution.

Simplified Web Hosting with Perl
Simon Cozens
Simon uses a Perl/Maypole framework to provide simple web-hosting functionality for those who don't want to deal with complex configuration.

Wild Parrots of the Internet: What's Up With Perl 6
Jack J. Woehr
Dan Sugalski has resigned as development lead for the Perl 6 Project and we recently spoke with him about it.

Creating Powerful Menu Systems with Term::Menus
Brian M. Kelley
There are scores of IT problems where a menu is needed or desirable, and where writing a GUI is inappropriate or simply overkill. That's the time to use Term::Menus.

EPerl: Perl, C++, and Java
Kevin Wittmer
EPerl is a collection of C++ and Java classes that wrap around the Perl interpreter API, making it straightforward to execute a Perl subroutine, script, or statement block from within C++ or Java.

Text-Embedded Programming and Preprocessing with Starfish
Vlado Keselj
Starfish is an open source, Perl-based unifying framework for macro preprocessing and text-embedded programming.

Selling Open Source
Gregory V. Wilson
Do open source user interfaces need to do a better job of getting in your face?

Book Review: Higher Order Perl
Ken Williams
Mark Jason Dominus has written a book that reminds the reader that no matter how foreign and weird we may think the other camp is (and rest assured, they probably think the same of us), we can learn an awful lot by practicing thinking the way they do.

Know Your Contexts
brian d foy
In Perl, the general rule is that you figure out the context from the left-hand side of the statement. But the context of some statements is still often tricky to divine. Test your context I.Q. with a little puzzler.

An Enigmatic Memorial
Simon Cozens
Simon marks the 51st anniversary of the death of Alan Turing by simulating, in Perl, the German military's infamous Enigma encryption device, which Turing was instrumental in cracking.

Programmer's Bookshelf Newsletter - June 2005
Deirdre Blake
Book Reviews: Patterns, Unit Tests, and Linux Clusters; Joel on Software; How Tomcat Works; Foundations of Python Network Programming

ASP.NET & Multiplatform Environments
Marcia Gulesian
Running .NET web apps in the enterprise means accommodating myriad servers and browsers.

April 2005 PDF

Zoidberg: A Shell that Speaks Perl
Jaap Karssenberg

Getting Started with Perl and MySQL
Thomas Valentine

Creating Self-Contained Perl Executables, Part II
Julius C. Duque

Grey Hats and Network Engineers
Simon Cozens

A Wireless Popularity Contest
brian d foy

PLUS
Letter from the Editor
Perl News
Book Review by Jack J. Woehr: Perl 6 Now


Perl News
Shannon Cochran
April 2005 Perl News

Change is Good
Kevin Carlson
April 2005 Letter from the Editor

Perl 6 Now
Jack J. Woehr
Jack J. Woehr reviews Perl 6 Now: The Core Ideas Illustrated with Perl 5 by Scott Walters.

A Wireless Popularity Contest
brian d foy
A little war driving satisfies brian's curiosity about which brands of wireless routers are the most popular in his area. Perl makes it easy, of course.

Grey Hats and Network Janitors
Simon Cozens
Simon uses his Perl powers for good in sleuthing out some network nasties.

Creating Self-Contained Perl Executables, Part II
Julius C. Duque
Julius finishes his two-part article by talking about PAR, the Perl Archive Toolkit.

Getting Started with Perl and MySQL
Thomas Valentine
Manipulating databases in Perl is so easy that there's no excuse for not knowing how. Thomas gets you started connecting to a MySQL database.

Zoidberg: A Shell That Speaks Perl
Jaap Karssenberg
Zoidberg will let you use Perl syntax at the command prompt and modify or extend your shell environment using Perl.

Python 2.4 Decorators
Phillip Eby
Decorators are a powerful Python 2.4 feature that helps you reduce code duplication and consolidate knowledge.

March 2005 PDF

Creating Self-Contained Perl Executables, Part I
Julius C. Duque

Monitoring Network Traffic Revisited
Paul Barry

Coding for Readability
Charles K. Clarkson

Tate: An iPhoto Gallery Exporter in Perl
Simon Cozens

Making Web Images
brian d foy

PLUS
Letter from the Editor
Perl News


On Perl as a Natural Language
Russell Dyer
In this article, I will explore Wall's natural language principles as they relate to Perl, expand on them, and give code examples, as well as some analogies to English where appropriate.

Exploring WS-Notification
Marco Aiello, Manuel Zanoni, Alessandro Zolet
WS-Notification is a web-service protocol that defines a standard approach to notification.

Perl News
Shannon Cochran
Perl 6 Gets Puppy Love; The Parrot Flies at Midnight; Annotating CPAN; Upcoming Events.

BotNet Zombie Nation
Kevin Carlson
Ordinary users really need to learn to patch their machines. Otherwise their playing right into the hands of the botnet operators.

Making Web Images
brian d foy
Automate your image creation and modification with PerlMagick.

Tate: An iPhoto Gallery Exporter in Perl
Simon Cozens
Simon takes the tedium out of creating and uploading photo galleries to the web.

Coding for Readability
Charles K. Clarkson
Coding style is key to making sure your programs are maintainable. What's more, it can reduce the errors in your code.

Monitoring Network Traffic Revisited
Paul Barry
Net::PcapUtils simplifies Net::Pcap for monitoring network traffic.

Creating Self-Contained Perl Executables, Part I
Julius C. Duque
The goal of LibZip is to "create very low-weight executables" out of Perl scripts. To achieve this, LibZip bundles all modules needed by a Perl script into one big file, called lib.zip, and creates a native code equivalent of the script.

February 2005 PDF

Implementing Symbolic Algebra & Calculus in Perl
Jonathan Worthington

Graphing Perl Data with GraphViz::Data::Structure
Joe McMahon

Keeping Up With the World, Part II
Simon Cozens

Private CPAN Distributions
brian d foy

PLUS
Letter from the Editor
Perl News
Book Review: Perl Core Language, Second Edition


Resource Management in Python
Oliver Schoenborn
Python does a good job of resource management, but there are subtleties that affect the portability, robustness, and performance.

Perl Core Language
Jack J. Woehr
Perl Core Language, Second Edition takes you from the basic language up through object Perl, Modules, CGI, XML, and Perl Debugging.

Perl News
Shannon Cochran
The Perl Foundation Calls for Donations; Pugs Interpreter Hits Milestone; CPAN::Forum Opens; Phalanx Marches On; PerlIO Security Issues Raised.

Don't Make 'Em Like They Used To
Kevin Carlson
No one seems to care about quality these days, or so it seems.

Private CPAN Distributions
brian d foy
Creating private module distributions in a miniature CPAN repository can be a great way to make sure clients have all their module dependencies taken care of.

Keeping Up with The World, Part II
Simon Cozens
Simon extends Press, the thin newsreader he created in last month's column.

Graphing Perl Data with GraphViz::Data::Structure
Joe McMahon
The GraphViz::Data::Structure module uses the "dot" graph description language to draw graphs.

Implementing Symbolic Algebra & Calculus in Perl
Jonathan Worthington
Computers are good at working with numbers. With the ability to perform millions of calculations in a fraction of a second, complex problems can be solved numerically. Sometimes, however, it's useful to find an analytical solution to a problem, or at least part of a problem, that is initially expressed analytically.

January 2005 PDF

Inversion of Control in Perl
Stevan Little

Making Servers Dynamically Configurable
Stephen B. Jenkins

Keeping Up With the World
Simon Cozens

Geolocation in Perl
brian d foy

PLUS
Letter from the Editor
Perl News
Book Review: Beginning Perl
Source Code Appendix


SOA Is Not SOAP
David Houlding
The rapid growth of web services/SOAP and Service-Oriented Architectures has lead to confusion between these two key technologies.

Mapping, Web Services, & C++
Neil Roodyn
The Microsoft MapPoint web service provides methods for looking up addresses, rendering maps, calculating routes, and a number of other useful mapping functions.

gSOAP & Web Services
Robert van Engelen
The gSOAP Web Services Toolkit can help you serialize C/C++ data structures in XML with minimal coding effort.

Dr. Dobb's Journal February 2005
Jonathan Erickson
From the Java Web Services Developer Pack to Amazon.com web services, you can guess that our focus in February is on, well, Web Services. We also look at Java cryptography, automated localization, algorithms for dynamic shadows, and peek inside the uIP stack. Then there's more on Whidbey C++, ways to extend UML, and more! (11.2 M

Enhancing .NET Web Services
Eric Bergman-Terrell
SoapEx demonstrates how you can modify SOAP requests/responses and debug web-service calls with a network packet analyzer.

Building an Eclipse Web-Search Plug-In
Michael Pilone
This Eclipse plug-in lets you search DDJ's online archives.

GIS Web Services and Microsoft Word
Keith Bugg
Here's a Geographical Information Systems application that lets you embed a map into a Microsoft Word document.

Ruby/Amazon & Amazon Web Services
Ian MacDonald
The Ruby/Amazon toolkit is a high-level abstraction of Amazon Web Services for the Ruby programming language.

Beginning Perl
Jack J. Woehr
Beginning Perl, Second Edition, is a Perl 5.6 self-tutorial introductory book gone Perl 5.8. It's a great book for computer-science students and programmers who want to jump into Perl at the intermediate level.

Perl News
Shannon Cochran
Perl 6 Grammar Ready for Hacking; Passage of the Pumpking; Adam Kennedy Awarded Perl Foundation Grant; Calls for Proposals.

Return to the Web
Kevin Carlson
Web advertising and online content management look like they are about to make a comeback, to the benefit of programmers of web systems.

Geolocation in Perl
brian d foy
Though it's not an exact science, you might be surprised how much you can find out about where in the world your web hits are coming from.

Keeping Up With the World
Simon Cozens
Simon puts the RSS reader concept on a diet so that he can keep up with newsfeeds over a slow dial-up connection.

Making Servers Dynamically Configurable
Stephen B. Jenkins
If you have lots of servers that are expected to run unattended for long periods, and need to have their configurations changed from time to time, you'll want to be able to configure those servers on-the-fly.

Inversion of Control In Perl
Stevan Little
Inversion of Control (IoC) is the very simple idea of releasing control of some part of your application to some other part of your application or an outside framework.

Perl 6 and Parrot Essentials
Jack J. Woehr
The focus of Perl 6 and Parrot Essentials is on the goals, development process, and design of the revised language and its underlying language-independent runtime engine.

On the Newsstand


Table of Contents
Order this issue now.
Subscribe to DDJ

Departments

64bit
AI
Architecture & Design
C++
Database
Eclipse & Open Source
Embedded Systems
Global Developer
Java
Lightweight Languages
Linux/UNIX
Mobility
Security
SOA, Web Services & XML
Testing & Debugging
Windows/.NET

CMP DevNet Spotlight

Highlighting Multiple Search Keywords in ASP.NET
This article demonstrates how to highlight a multiple keywords within a DataGrid control, no matter where they are in the text.

In the News

DDJ Newsletters

Dr. Dobb's Math Power Newsletter
edited by Homer B. Tilton
Expand your base of math knowledge. College Instructor Homer Tilton breaks down barriers from Algebra to Calculus and beyond. From common to complex, Homer makes math concepts exciting for experts and novices alike.
Note: Math Power is available in HTML only. Unfortunately, some equations (rendered as images) are not capable of being rendered as text. --more--

DDJ Resources

Mobilized Software
Developer Events

DevNet Podcasts

Antarctica: Eclipse Comes In From the Cold
Josh Reed discusses the Antarctic Geologic Drilling Program, and the important role that open source tools played.

Software Glitch Implicated in Mars Global Surveyor Failure
NASA Watch reports that NASA's Mars Global Surveyor stopped responding to commands a few months ago due to improperly coded software.

Info-Link

DDJ Store


Dr. Dobb's Developer Library DVD: Release 2
The Dr. Dobb's Developer Library DVD is a new fully searchable DVD that includes 17 years of Dr. Dobb's Journal, 14 full years of C/C++ Users Journal, 3 years of The Perl Journal, nearly 4 years of Dr. Dobb's Sourcebook, and thousands and thousands of lines of source code—all on one DVD!

Click here for more information.

 




MarketPlace

Build IT Knowledge with Current & Trusted Content
Helps Employees Develop & Hone New Technical Programming Skills. Sign Up & Get Full Access.

Get the ports you need for your VMs to succeed.
HP network adapters help get the most from your virtualized servers. Learn more at HP.IntelVT.com.

BugSplat - Automatic Crash Analysis
Fast online exception analysis. Capture customer crash data online.

Instant Answers to Your IT & Business Questions
Sign Up & Get Full Access To The Definitive Online Book Collection With SkillSoft's Books24x7�.

Wanna see your ad here?