Chapter 2. Project Development

The culture’s (and my own) understanding of large projects that don’t follow a benevolent-dictator model is weak. Most such projects fail. A few become spectacularly successful and important (Perl, Apache, KDE). Nobody really understands where the difference lies.

Eric S. Raymond, The Cathedral and The Bazaar

The Perl community is rich and diverse. There are as many variations in skill sets and skill levels as there are people. Some are coders, some are testers, some are writers, some are teachers, some are theorists. For every skill, there is a task. It’s the combination of all the skills that gets the job done. A team of workers all wielding hammers could never build a house. Someone has to cut the wood, sand it, apply plaster, paint it, and install windows, doors, electrical systems, and plumbing.

Language Development

Theoretically, language design is the driving force behind all other parts of the project. In actual practice, Parrot development and documentation frequently affect the direction and focus of design efforts. A design that gave no consideration to what can be implemented efficiently wouldn’t be much use. Equally, if the design work followed a strictly linear path, it would be a waste of developer resources. The Parrot project can’t afford to go on hold every time they need information from a future area of design. For example, the design of OO syntax hasn’t been completed yet, but the design team took time to define enough of the required ...

Get Perl 6 Essentials now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.