Joel Roth
Recent Actions
-
Commented on Introducing Git::Repository::Plugin::AUTOLOAD
Hi, I'm using Git::Repository to manage the history of audio projects created using the Nama multitrack audio recorder. I find Git::Repository simple and straightforward. Taking this opportunity to say "Thanks."...
-
Commented on On the object metaphor
I commend this summary of two key features of OO! As a recent OO initiate, I found that by converting a procedural coding project to OO, I got rid of conditionals that were cluttering (if not choking) the codebase. A...
-
Commented on YAML vs INI (Again) and the plan for yet another INI module
A project of mine resolves a similar issue. Each top-level key in the config file is a variable name. Instead of declaring variables, as you propose, it has a list of abbreviations that get substituted, even in the abbreviations list....
-
Commented on 02packages.dependencies.txt.gz && apt-cpan
Hi, My solution, currently neglected, is a version of cpanm using Debian::AptContents to search for and apt-get to install if the requested module is available. It works recursively, so that a module's dependencies also preferentially install Debian packages....
-
Commented on (How would I) Moosify this!
Thanks for the formatting help! Having written that longish post, I think that I could certainly accomplish using Moose what I had previous implemented using standard perl OO (SPOO?) I think that the weaknesses in the app's organization are more...
- Posted (How would I) Moosify this! to jroth
-
Commented on Using AUTOLOAD for object proxy and method resolution - Does Moose offer a better alternative?
What feed reader do you use?...
-
Commented on Using AUTOLOAD for object proxy and method resolution - Does Moose offer a better alternative?
Hi Aristotle, I tried to describe my specific problem, but I see that the details got less attention than the general overview. If I can write up a brief-yet-complete example showing the way that data gets from input state to...
-
Posted Using AUTOLOAD for object proxy and method resolution - Does Moose offer a better alternative? to jroth
I've written a couple articles on encapsulation home-grown versus full-framework OO.
I am told that finding my own solutions to get the behavior I want may lead to poor (dirty, unreliable) code when a better solution could come through a framew…
-
Commented on Does breaking encapsulation indicate the wrong type of hammer?
You make a good point; the turtles go down a long way. Seeing below OO level to the underlying objects happens a lot more in perl programming than from the hash variable interface to the underlying structure. In my limited...
-
Commented on Does breaking encapsulation indicate the wrong type of hammer?
Woops, I was referring to Leonerd's example. You're right that our coding shouldn't be dictated by dogma. Some of the dogma derives from the experience of people coding for robust large-scale systems with multiple programmers. While informative, it I was...
-
Commented on Does breaking encapsulation indicate the wrong type of hammer?
That's a useful example....
-
Commented on Does breaking encapsulation indicate the wrong type of hammer?
When I studied the Feldenkrais Method, our teachers explicitly told us that they would be oversimplifying for pedagogical purposes during the first year of training. At times they would say, "this explanation is a first approximation." While understanding that, when...
-
Commented on Encapsulation: recommended practice or sacred cow?
Thanks for your comments on my code examples. I agree with your points. In my case, choices to bypass encapsulation are not from misplaced confidence that the "it will never happen to me." More like "this is the only direct...
-
Posted Does breaking encapsulation indicate the wrong type of hammer? to jroth
I've had the pleasure of exchanging several new OO tutorial on the subject of whether to introduce treating objects as the underlying hash reference.
He says he won't include even one example because "it really doesn't send the right message. My re…
-
Posted Encapsulation: recommended practice or sacred cow? to jroth
In the p5p discussions of Dave Rolsky's new Perl OO tutorial and OO recommendations, Johan Vromans and others have mentioned objects underlying data structure.
$self->{…
-
Commented on A Novice Refactors
Yes, testing is easier with parameter-passing. My app's test suite touches a few global variables, and works fine for now. I appreciate the reference you sent on parameter-passing. It is also discussed in Higher Order Perl by MJD. He uses...
-
Commented on A Novice Refactors
It's convenient to share a namespace, and it makes sense to use separate namespaces wherever they provide an advantage. The dominant population of CPAN toolmakers stress isolating everything. While there's less of an imperative when writing a top-level application, it's...
-
Posted A Novice Refactors to jroth
Having read commentary about coding practices, meditated,…
-
Commented on Architectural Review Board - Please visit my project!
I read a lot, understood a little. As a first step, I divided my app's core code into 19 modules. While these modules mostly share the main namespace, I added 'our' declarations to each one indicating the variables that that...
-
Commented on Architectural Review Board - Please visit my project!
Hi, You are correct; the questions are relevant to myself, as dev and maintainer. Actually, Nama has extensive docs. The only area not described in detail is the GUI. That neglect is deliberate. Most of my users are console users....
-
Posted Architectural Review Board - Please visit my project! to jroth
I've been writing and rewriting Nama[1,2,3] for several years now. It's been my introduction to intermediate concepts in computer science.
Nama is an audio recording, mixing and editing application, using Ecasound[4] as the audio engine.
I'm proud of how it has evo…
-
Commented on Using external installers with CPAN Clients
Today I only just learned of the debian repository at http://debian.pkg.cpan.org that contains automatically generated packages of some subset of recent CPAN modules. So for Debian users, at least, there is an option to get recent CPAN offerings without the...
-
Commented on Using external installers with CPAN Clients
I agree completely. Already cpanminus lets the user specify a URL to download from, or a local file or directory. Then it installs any needed dependencies. If we're going to offer that flexibility, it makes sense (to me at least)...
-
Posted Using external installers with CPAN Clients to jroth
A lot of work is currently underway to improve CPAN. One (the "libfoo" problem.) As I understand it, although CPAN distributions may test for external dependencies, existing build tools are unable to install non-perl libraries, header fil…
Comment Threads
-
mrstlee commented on
On the object metaphor
@Aristotle: "The idea that OO reduces implementation complexity because conditionals are superseded by polymorphism .."
"Since when is “doesn’t stack up” ..."Never said it (polymorphism) doesn't "work". Merely that, in my opinion, the effort to replace conditionals via polymorphism can and does lead to counter-productive contortions. Hence it does not guarantee reduction in implementation complexity. The example is a not completely outlandish caricature of real life code I have written and/or worked with.
Not everyone shares your dim view of Perl'…
-
[deleted] commented on
On the object metaphor
@mrstlee
From the way I see it, OOP is not a hammer. It's just one of the tools to tackle code base. To make an entire code base switchless, might actually obfuscate it !
When I made the analogy with structured programming(gotoless programming), I made with it with knuth in mind.
"switch" is a very general thing. Being switchless just implies the possibility of seeing the problem from a more disciplined way.
One advantage that I can from the switchless perspective is that if you are r…
-
Aristotle commented on
On the object metaphor
mrstlee:
Hence it does not guarantee reduction in implementation complexity.
No single modelling technique does. You use it where appropriate and don’t where not.
mr foo bar:
I think smalltalk and self style OOP are completely different from the inside-out-dispatch table. It seems to me that they make the disptach-table and replace it with a more general dispatch middleman with objects as clients.
It’s not fundamentally different. They just make it meta-circular: essentially the inside-out dispatch …
-
Steven Haryanto commented on
YAML vs INI (Again) and the plan for yet another INI module
@Joel: Depends on who the users are :)
-
BooK commented on
Introducing Git::Repository::Plugin::AUTOLOAD
Thanks for saying thanks. :-) It's always nice to hear from people using your code. Bug reports and feature requests are welcome too!
Did you know that you can also leave a more detailed technical review at CPAN Ratings?
About blogs.perl.org
blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.