Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Diary of a Zydeco experiment - E01 - Introduction

by Smonff (Scribe)
on Sep 10, 2020 at 11:58 UTC ( [id://11121551]=perlmeditation: print w/replies, xml ) Need Help??

Here is the first post of a small journal I want to keep about an experiment I will do with Zydeco. I hope the Perl Monks Meditations section is appropriate for this, if not, please feel free to redirect me on a better place (especially this is almost my first post here). I started to learn using Zydeco this week after suddenly getting abnormally excited about it. I guess Toby Inkster's marketing seemed to be very effective on me.

Where am I coming from? I was mainly trained on Java in 2009, so I am a object-native programmer. I mean, I cannot really imagine building something that wouldn't be made of objects, but also, Perl doesn't enforce object orientation, so you can still do without it. I don't know a lot about the how Perl's built-in OO works. I mostly used some modules:

  • Moose - it is the de-facto OO module, recommended in lots of books and tutorials. I went into it when some systems I designed started to grow. You can do a lots of things with it, but it's difficult to use for prototyping for example
  • Mojo::Base - It is usually not described as an independent OO system, but it provides attributes and accessors, readable source code, methods, roles (through Role::Tiny), method signatures. It is extremely simple to use even for prototyping, just use Mojo::Base. I got so used to it while working on Mojolicious projects that I usually import it even on non-web project!
  • unfortunately, I don't think I ever tried Moo seriously

Next time I'll speak about the purpose of my experiment that is in fact an artistic project: trained as an artist, I accidentally became a professional web developer while trying to learn skills for my next conceptual art piece. But nothing went in the right way. Ten years afters, I am still working on it.

Conttinue reading Diary of a Zydeco experiment - E02 - History.
🌸

Replies are listed 'Best First'.
Re: Diary of a Zydeco experiment
by Discipulus (Canon) on Sep 11, 2020 at 11:28 UTC
    Welcome to the monastery Smonff and to the wonderful world of perl!

    Thanks to show Zydeco (new to me) and as all software by our respected brother tobyink it deserve a close look. I'm curious to see your journey and maybe it will be mine too.

    If you are not familiar with perl OO pro and cons I invite you to take a tour in my little bibliotheca.

    In Perl you can easily do many things without objects and it mainly depends on your forma mentis: I often end with complex data structures (hash of hashes typically) without any need to built an object. Perl lets the programmer free to code the way they like.

    In perl we basically only have bless that simply binds a reference to a datastructure to a particular class, well package. Ontop of this is up to you, or to the module author, to develop an object or an object framework.

    Sometimes Java is considered as too much object bound: see execution in kigdom of nouns but as I only know Perl I'm not the right people to do a comparison or to emit judgements.

    Thanks for sharing your journey!

    L*

    There are no rules, there are no thumbs..
    Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.
      Thank you for this warm welcome. I'll for sure check you bibliotheca.
Re: Diary of a Zydeco experiment
by Smonff (Scribe) on Sep 11, 2020 at 20:35 UTC
    Ok, I encountered a small incident with the module building toolkit that took me outside of strict OO matters (I am not obsessed at all with OOP, but only for this project it is very important). I guess it will get resolved and that I will be able to tell more about the purpose of this project as soon as possible.
Re: Diary of a Zydeco experiment
by perlfan (Vicar) on Sep 10, 2020 at 15:33 UTC
    Moose is not the defacto module for anything. Glad you found an alternative to the post-modern brain damage.

    See:

    perlobj

    perlootut

    perltie

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://11121551]
Approved by marto
Front-paged by marto
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (5)
As of 2024-04-23 11:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found