Web Developer's Virtual Library: Encyclopedia of Web Design Tutorials, Articles and Discussions


Java/Open Source Daily

Active Server Pages
JSP/Java Servlets
Microsoft SQL Server
Daily Backup
Dedicated Servers
Streaming Audio/Video
24-hour Support    

jobs.webdeveloper.com

Hiermenus


e-commerce
Partner With Us















Developer Channel
FlashKit.com
JavaScript.com
JavaScriptSource
Developer Jobs
ScriptSearch
StreamingMediaWorld
Web Developer's Journal
Web Developer's Virtual Library
WebDeveloper.com
Webreference
Web Hosts
XMLfiles.com

internet.com
IT
Developer
Internet News
Small Business
Personal Technology

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers


The Perl You Need to Know Part 25: Life Cycles -- A Series Ends, A New Perl Is Born - Page 172

June 18, 2001

Nearly a year since the announcement of Perl 6, we bring closure to the Perl You Need to Know series with a look at where Perl 6 is, how it's gotten there, and where it might be going.

Amidst fever, grime, sweat and toil, Perl is being reborn. Not unlike Steve Austin, the Six Million Dollar Man, one might say that Perl is becoming "better ... stronger ... faster", but without the sound effects. It will, of course, remain free of charge. In July 2000 it was announced that work on Perl 6 would begin, with a timeline of approximately two years from conception to implementation. Not content to simply glue more features onto Perl 5 — the reigning king of scripting languages — Perl 6 will be built from scratch, like grandma used to make.

The Inspiration

When the core group of Perl developer's read PYNTK 22: Warts and All, they were understandably discouraged and swore to go back to the drawing board and begin the language again. In fact, this is not what happened at all. They probably did not even read PYNTK 22, and probably never will. What actually happened was that a guy at a Perl conference threw some coffee mugs at the wall and cried that Perl developers had become complacent and needed to shake things up. As Dave Barry would say, "I'm not making this up." The solution: write a new Perl!

Perl 5 is clearly a successful language, insofar as one defines "successful" as popular, functional, and in widespread use to solve real problems. Nonetheless, even (or perhaps only) the best housing contractor will admit that you can never build the ideal house, and the second, third, or fifteenth time always yields new insights. Perl 5 did grow warts, as its evolution over time pushed it in directions it wasn't necessarily ready to go. Evolution needn't always be elegant — look at the platypus.

The goals behind Perl 6 are both radical and yet logical. Rewriting the language from scratch is radical, not to mention time consuming. Redesigning and realigning language features into a more cohesive whole — in tune with the needs of the modern programmer while retaining and extending the Perl philosophy and spirit — is logical.

The Development

The marvel of building the Empire State Building was — beyond its scale, height, or art deco design — the efficiency and organization of the construction process. Built in only 14 months at the rate of 4 1/2 stories per week, the builders, Starrett Brothers & Eken, Inc., had to organize and mobilize a work force of up to 3,400 laborers. Organizing a development effort is the first and usually foremost challenge in bringing any idea off the ground. Led by Larry Wall, original and lead architect of Perl, development of Perl 6 began with a strong focus on the process itself: How would its design be organized and coordinated in a way that leverages the power of collaboration with the efficiency of despotism?

One of the early stages of the Perl 6 development process was a call for RFC (Request for Comment) submissions. There have long been e-mail discussion lists where developers trade ideas. But these are unorganized and informal thinking sessions, lacking the formality necessary to draw actual blueprints from. The RFC has a long history in Internet architecture, in which one or several authors would formally propose a system or protocol. In fact, many RFC's have become Internet standards, such as RFC 1725 (the POP3 e-mail protocol with which most of us receive our e- mail), or RFC 1945 (the HTTP 1.0 protocol that allowed us to begin surfing the Web).

An RFC is a somewhat structured document, with formal sections that its author organizes and responds to. In requesting RFC's from the Perl community, Larry Wall sought to create a semi- formal pool of suggestions and desires, defended and sketched out, from which to draw on an ultimate architecture. With over 350 RFC's submitted for Perl 6, the RFC process formed the primary collaborative aspect of designing Perl 6.

Despotism, generally considered to be the benevolent kind, enters in the form of Larry Wall. As lead Perl architect, his next move was to consume and digest the RFC pool and, from it, find a way to draw a blueprint for Perl 6. In doing so, he graded RFC's and provided acceptance, revised acceptance, and rejection of the various proposals, in a way that would hopefully lead to a cohesive whole.

Larry Wall's decisions and prodigious commentary on each RFC are being organized in parallel with the chapters of "the Camel," officially known as Programming Perl, because they provide a reasoned framework for moving through the language. These pronouncements are published under the title Apocalypse, by which he means the literal interpretation of "a revealing". Unfortunately, the Apocalypse is a few months late — at least, with respect to the original Perl 6 timeline. While evaluating the RFC's was supposed to take a couple of weeks, it in fact took five months, which will likely affect the two year timeline from which Perl 6 was anticipated to be near release status.

Contents:

Whither Perl 5?
Interpolation

A Matter of (Indirect) Syntax - Page 171
The Perl You Need to Know
Whither Perl 5? - Page 172


Up to => Home / Authoring / Languages / Perl / PerlfortheWeb




Jupiter Online Media: internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and Jupiter Online Media

Jupitermedia Corporate Info


Legal Notices, Licensing, & Permissions, Privacy Policy.

Web Hosting | Newsletters | Tech Jobs | Shopping | E-mail Offers