IWETHEY v. 0.3.0 | TODO
1,095 registered users | 1 active user | 0 LpH | Statistics
Login | Create New User

Welcome to IWETHEY!

New Really?
People can write COBOL in any language...

What makes you think Python or Ruby can't be just as bad?

People that write Perl code for a living, making it readable and comprehensible... do it because they resist the urge to make it as tricky as they can. Since they couldn't fix/refactor it if they did.

Yes, I know, I'm over-reacting... but much of my infrastructure is Perl. Most of the code I can read.
"No snowflake in an avalanche ever feels responsible." --Stanislaw Jerzy Lec
New Yep.
I've seen a lot of code, Greg, and I'd wager it's a significantly larger amount than you. Obviously I'm exaggerating when I say that Perl is "write only". I've seen decent looking Perl, yes, but the probability is much more likely that you'll come across unreadable Perl than, say, Python.

The "you can write good/bad code in any language" argument doesn't hold water. There are languages in which it is much easier to write good/bad code. Perl, C++, and PHP tend to the bad side. The magnitude is different, too: it's very, very difficult to write code in Python that is as bad to read as the worst Perl.

And, "*most* of the code I can read", larf. I can read all of the Python I've ever seen or wrote, good *or* bad.
Welcome to Rivendell, Mr. Anderson.
Expand Edited by malraux Dec. 17, 2013, 10:21:49 AM EST
New The larf...
mainly because *I am not* by any means a "real" programmer, is the reason for "most"...

Much of our Perl infrastructure was re-written by an "engineer" from code that was nearly incomprehensible... he wrote unit-tests. The refactored stuff he did is over-built, but is/was a HUGE improvement from the previous few doing it with rote methods. Some of the original Perl hasn't been refactored yet, bigger fish to fry and it is also working at the moment. We have also resisted the urge to make it tricky. It is typically fast, workable, fixable and mostly very resistant to many current and future issues/problems.

Our biggest problem is trapping errors properly... even with Sanity Checking every where, we still get the odd user input that we never... ever... ever expected to see. Like pasting the content of the Windows 8 C&P buffer into a date field... previous to W8, it didn't work with anything except a proper date format (any of ~10). Now W8 jams *PICTURES* in there. WxWidgets wasn't ready for W8... though Mavericks and Linux (32bit and 64bit Intel) were no problem. Our trapping of errors is pretty raw and reflects the Perl errors, rather than pretty user friendly errors.

I'll grant you your comment about Python, though. Yes, it is tough to make it bad. I can read Bad Python, apparently. I know you've seen a lot of code... probably magnitudes more than me. Let that tell you what you need to know.

The last comment I've got about Perl, it is very feature complete, typically has a "good" module for just about anything you want to do... and is also typically very well optimized after all these years. You would be hard pressed to find a more feature complete language.
"No snowflake in an avalanche ever feels responsible." --Stanislaw Jerzy Lec
New Basing your opinion on refactored code isn't quite realistic
Given that it was incomprehensible at one point, I rest my case.
Welcome to Rivendell, Mr. Anderson.
New It is fine...
Resting your case is fine. Just understand it is something to come *from incomprehensible" code to code that works the same and is comprehensible.

Again, the orders of magnitude thing... you have more magnitude.

Cheers and thanks for your words and efforts.
"No snowflake in an avalanche ever feels responsible." --Stanislaw Jerzy Lec
     on Perl - (drook) - (9)
         :-) -NT - (Another Scott)
         Been thre, done that! :) - (a6l6e6x)
         It's obviously not finished, then. - (static) - (6)
             Yes, because he can still read it... - (malraux) - (5)
                 Really? - (folkert) - (4)
                     Yep. - (malraux) - (3)
                         The larf... - (folkert) - (2)
                             Basing your opinion on refactored code isn't quite realistic - (malraux) - (1)
                                 It is fine... - (folkert)

Two words: Detox. Gel.
76 ms