Coder Social home page Coder Social logo

pooppi's Introduction

POOPPI

Perl Object Orientated Programming Paradigm Illustrations

Perl uinlike many other languages is not short of Object Orientated Programming paradigms. The classical Package was deemed to be in need of modernisation to bring in the advantages (and possibly disadvantages) of true OOP ideologies along with legibility. The Corinna Project is one such solution, and the more mature, well-established Moose/Mouse/Moo and about a dozen different other ones. As a non-expert it is difficult to choose which one to learn, which one is best, future proof etc. Suppose we are going to modernise our existing working modules, can such a transition be benificial or will it bring unnecessary pain?

Which POOP?

In order to help choose one needs to look beyond the simple illustrations normally provided (the general purpose Person, Point etc that is often demoed) and try and use some practical examples. The objective is to collect practical code examples, not of isolated examples of using OOP using one method or another, but the same functionality delivered using multiple different OOPs.

  1. Develop a reasonably complex functioning target program without using any OOP at all, but with one or target structures (e.g a hash) to be objectified into a class. A little bit of cheating is used, in that the subroutines that are linked with the structure are sort of prepped for the next steps.
  2. Convert the code it to use the classic Package and use the module in a simple clone of that program.
  3. Adapt that to a modern Paradigm...e.g. using Object::Pad. Ideally would like as many examples of OO systems as possible
  4. Review and reflect on the ease of use, readability future using Polls for recording public opinions.

pooppi's People

Contributors

saiftynet avatar

Stargazers

Yozen Hernandez avatar Bartosz Jarzyna avatar mjames avatar Thibault Duponchelle avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.