NAME
Task::Kensho::OOP - A Glimpse at an Enlightened Perl: Object Oriented Programming
VERSION
version 0.41
SYNOPSIS
> cpanm --interactive Task::Kensho::OOP
DESCRIPTION
From http://en.wikipedia.org/wiki/Kensho:
Kenshō (見性) (C. Wu) is a Japanese term for enlightenment experiences - most commonly used within the confines of Zen Buddhism - literally meaning "seeing one's nature"[1] or "true self."[2] It generally "refers to the realization of nonduality of subject and object."[3]
Task::Kensho is a list of recommended modules for Enlightened Perl development. CPAN is wonderful, but there are too many wheels and you have to pick and choose amongst the various competing technologies.
The plan is for Task::Kensho to be a rough testing ground for ideas that go into among other things the Enlightened Perl Organisation Extended Core (EPO-EC).
The modules that are bundled by Task::Kensho are broken down into several categories and are still being considered. They are all taken from various top 100 most used perl modules lists and from discussions with various subject matter experts in the Perl Community. That said, this bundle does not follow the guidelines established for the EPO-EC for peer review via industry advisers.
Starting in 2011, Task::Kensho split its sub-groups of modules into individually-installable tasks. Each Task::Kensho sub-task is listed at the beginning of its section in this documentation.
When installing Task::Kensho itself, you will be asked to install each sub-task in turn, or you can install individual tasks separately. These individual tasks will always install all their modules by default. This facilitates the ease and simplicity the distribution aims to achieve.
RECOMMENDED MODULES
Task::Kensho::OOP: Object Oriented Programming
Moo
Minimalist Object Orientation (with Moose compatibility)
Moose
a postmodern object system for Perl5 (see also Task::Moose for a larger list of Moose extensions)
MooseX::Aliases
easy aliasing of methods and attributes in Moose
MooseX::Getopt
a Moose role for processing command line options
MooseX::NonMoose
easy subclassing of non-Moose classes
MooseX::Role::Parameterized
Moose roles with composition parameters
MooseX::SimpleConfig
a Moose role for setting attributes from a simple configuration file
MooseX::StrictConstructor
a Moose extension that makes your object constructors blow up on unknown attributes
Package::Variant
Parameterizable packages
Type::Tiny
tiny, yet Moo(se)-compatible type constraints
namespace::autoclean
keep imports out of your namespace (Moose-aware)
INSTALLING
Since version 0.34, Task::Kensho has made use of the optional_features
field in distribution metadata. This allows CPAN clients to interact with you regarding which modules you wish to install.
The cpanm
client requires interactive mode to be enabled for this to work:
cpanm --interactive Task::Kensho::OOP
SEE ALSO
http://www.enlightenedperl.org/, Perl::Dist::Strawberry
BUGS AND LIMITATIONS
This list is by no means comprehensive of the "Good" Modules on CPAN. Nor is this necessarily the correct path for all developers. Each of these modules has a perfectly acceptable replacement that may work better for you. This is however a path to good perl practice, and a starting place on the road to Enlightened Perl programming.
Please report any bugs or feature requests to https://github.com/EnlightenedPerlOrganisation/task-kensho/issues.
Bugs may be submitted through https://github.com/EnlightenedPerlOrganisation/task-kensho/issues.
There is also an irc channel available for users of this distribution, at #epo
on irc.perl.org
.
AUTHOR
Chris Prather <chris@prather.org>
CONTRIBUTORS
Karen Etheridge <ether@cpan.org>
Leo Lapworth <leo@cuckoo.org>
Dan Book <grinnz@grinnz.com>
Chris Nehren <apeiron@cpan.org>
Mohammad S Anwar <mohammad.anwar@yahoo.com>
Olaf Alders <olaf@wundersolutions.com>
Dan Book <grinnz@gmail.com>
Rachel Kelly <rkellyalso@gmail.com>
Shawn Sorichetti <shawn@coloredblocks.com>
Rick Leir <rleir@leirtech.com>
Tina Müller <cpan2@tinita.de>
COPYRIGHT AND LICENCE
This software is copyright (c) 2008 by Chris Prather.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.