Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Ovid (2709)

Ovid
  (email not shown publicly)
http://publius-ovidius.livejournal.com/
AOL IM: ovidperl (Add Buddy, Send Message)

Stuff with the Perl Foundation. A couple of patches in the Perl core. A few CPAN modules. That about sums it up.

Journal of Ovid (2709)

Saturday April 17, 2004
11:50 AM

God's Epiphany

[ #18370 ]

Cat sitting for a friend. Forgot to bring a book or my laptop. Mind starts wandering. It starts wandering back to an earlier conversation where I'm explaining to someone that Perl is not C and trying to program in one while thinking in the other is difficult and leads to error prone code.

The I started thinking about Widge. Widge is also falling into the "not spectacularly fast" category because ... because ... because ... crud! Widge is also a C program written in Perl. Somehow, I can't seem to break my mind out of the C mindset. I see the awful code and I cringe; I tweak it slightly but leave it substantially untouched.

I now realize not only what I was doing wrong, but what I need to do right. By being away from the code, I started thinking in terms of Perl. I started envisioning how I would code it if I was coding it from scratch, which is what I'm going to do. I now know the system well enough that I no longer need any code to refer to. The neural network is crystal clear (admittedly, it's a simple network) and the eyes are ridiculously obvious ... when I stop thinking about C. The new plan is much simpler and should run one heck of a lot faster. A quick test of some concepts this morning bore out some of my suspicions. Unfortunately, I now have to pack for my new apartment when what I really want to do is create my world of widges and watch them evolve. Damn.

I'm wondering if I can get an article out of all of this when I'm done. I really need to start writing.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • by VSarkiss (704) on 2004.04.17 17:41 (#30164) Journal

    You've figured out what's so damn hard about computing. We have high-level revelations that we turn into algorithms, but we have low-level hardware. It's hard to spell out one into the other.

    So.... Let's make the hardware smarter! Oh, wait, that was the '70's idea: VAX opcodes, smart assembler. That didn't go very far.

    So.... Let's make the translator smarter! Oh wait, that's what RISC was going to do in the '80's: super-smart compilers against cheap, dumb hardware. Well, that kinda panned out, but not really....

    So.... Let's just live with the difference, and make the hardware faster! Yes, the '90's and '00's superscalar processors, the multi-gigahertz chips. That's the ticket. Or is it...?

    As you've found, it's still hard. The real impedance mismatch is between our creative brains and our constructive hands, and it hasn't been crossed yet.

    Wonder what the '10's will bring.

    • Wonder what the '10's will bring.

      Perl 6? :)

      Seriously, I think something really needs to change in the world of computing. Testing is what's really helped to push me there. Specifically, once I started realizing that we can't just know how to build good software, I started thinking harder about this problem, but I am Bear of Little Brain and I don't have a solution for it. I realized that tests (particularly acceptance tests) are an ad hoc method of ensuring program correctness. They do not, howeve