in reply to On TMTOWTDIness

Marvelous and inspiring thread, blazar :)

I don't think there's any language except perhaps C which is as flexible, and I'd get a lot of agreement that C doesn't come close. Perl syntax is incredibly loose and allows some really elegant ways of expressing algorithms that just aren't available in other languages. To me, it's amazing how flexible this bear is as she dances so gracefully!

One reason I've always stayed away from C++ is that it seeems to me that there are several distinct paradigms for C++ programming, and mixing them gets you into more trouble than you can generally handle. In Perl, by contrast, mixing and matching seems much more encouraged. To be more specific, I'm referring to STL-oriented C++ versus OO C++ versus C-like C++. Perhaps it's my own hesitancy that's my enemy. =8*O

I think there's a lot to be said for looking at other code, and the Monastery provides an entertaining gateway into the insights of others that no other community website brings forth. I'm not very courageous in my expressive idioms -- my code isn't as bad as BASIC, but it does show assembler roots -- but I sure find lots of encouragement here to push my envelope further each and every time I build a new script.

Don Wilde
"There's more than one level to any answer."

Replies are listed 'Best First'.
Re^2: On TMTOWTDIness
by shmem (Chancellor) on May 16, 2007 at 15:08 UTC
    I don't think there's any language except perhaps C which is as flexible
    ...
    I think there's a lot to be said for looking at other code, and the Monastery provides an entertaining gateway into the insights of others that no other community website brings forth.
    You name it. Since you have assembler roots, you will surely have heard of FORTH, a language that seems forgotten but is still very alive and kicking :-)

    It allows mixing of interpretation and compilation state, it is interactive as well as compiled, implemented both in software and in hardware - it is arguably more flexible than C.

    --shmem

    _($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                                  /\_¯/(q    /
    ----------------------------  \__(m.====·.(_("always off the crowd"))."·
    ");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}
      Indeed I have, and waaaay back in '86 I worked with a visual inspection platform whose recognizer was built in FORTH. Awesome stuff.

      FORTH's flexibility is of a different kind, though. Its flexibility coms from its ease of extensibility, not from syntax flexibility. FORTH and LISP have much in common in that respect, but that's a different thread entirely. I would argue that both of those languages are very rigid in their syntax but also very minimal in syntactic requirements. In other words, there's only one way to write them, but lots of ways to extend them. Lots of ways to implement them, too, which is the flexibility you're pointing to.

      Don Wilde
      "There's more than one level to any answer."
        In other words, there's only one way to write them, but lots of ways to extend them. Lots of ways to implement them, too, which is the flexibility you're pointing to.

        Dead on. Perl virtual machine in FORTH, anyone? :-)

        --shmem

        _($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                                      /\_¯/(q    /
        ----------------------------  \__(m.====·.(_("always off the crowd"))."·
        ");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}