[Discuss] Interpreters vs Compilers
Adam Parkin
pzelnip at gmail.com
Fri Mar 14 12:27:04 PDT 2008
Deryk Barker wrote:
>> I for one have written Perl programs tens of thousands of lines long
>> and they are still easy to understand and maintain even after I
>> haven't looked at them for years; easy for both myself and for other
>> people.
> Darren, a good programmer can write maintainable code in virtually any
> language, but some languages make this easier and some more difficult. I
> maintain that perl falls in to the latter group. As does assembler - and
> I have written tens of thousands of lines of *that*, well structured and
> well commented but not *easily* maintainable.
I agree with you both: a good programmer can write good code in any
language with which he/she is familiar. As well, I agree that some
languages have concepts/constructs/idioms that lend themselves to good
programming practices (one could argue that the use of whitespace for
structing code ala Python is an example of this), and some have
concepts/constructs/idioms which lend themselves to poor practices (some
have argued that things like operator overloading or multiple
inheritance in C++ are examples of this).
I also agree that Perl is a language where it is very possible to write
good code. In fact, I'd argue that if you find Perl code
unreadable/unmaintainable it's probably more due to unfamiliarity with
the language than something inherent in Perl itself.
Personally I find Python programs I've come across not particularly
readable due to the fact that I'm not hugely familiar with that language
(for example, the first time I saw __init__ in a Python program it took
me a bit before I realized that that was the constructor for a class, as
it's different from the convention in many other languages that a
constructor shares the same name as the class itself).
> In fact no program of that size is easily maintainable, whatever the
> language.
Very true.
--
--
Adam Parkin
E-mail: pzelnip at gmail.com
Blog: http://pzelnip.blogspot.com/
----------------------
More information about the Discuss
mailing list