On Thursday 26 February 2009, William G. Scott wrote:
> > As far as learning scheme,
>
> My $0.02:
>
> From a purely practical standpoint, if, like me, you have limited
> time, energy and mental capacity, python would probably yield a better
> investment payback.
I hope you will pardon my recounting experience to the contrary.
<rant severity=medium>
I have struggled to learn python, gradually growing to hate it more
and more as I go. There must be some fundamental difference in
mind-set between my approach to scripting/programming and that of
the python crowd. I find it counter-intuitive, seriously limiting in
non-obvious ways, and just about impossible to debug. Almost anything
else is better - perl, C, scheme, Fortran, ...
OK, maybe direct shell scripting is worse.
I let myself be talked into using python for several reasonably
large projects that I am now left to maintain, and I regret it.
I doubt I would ever again choose it for a new project.
> There are numerous extensions available that make
> parsing things like pdb files very simple, there is the whole phenix/
> cctbx resource you can make use of, and it is probably the most
> powerful and commonly employed scripting language among scientists
> (bioinformatics people like perl, for its text processing abilities).
> The syntax is very clean and straightforward and you don't have to
> deal with huge piles of dollar signs and parentheses all over the place.
Instead you have to deal with the insanity of a language that is
sensitive to whitespace, cannot be 'grep'ed for begin/end blocks,
has no decent debuggers that I have been able to find,
and has serious problems with incompatibility across incremental
updates of the language itself.
</rant>
Granted, most of my rant against python is with regard to using it
for new code development, not so much an indictment against using it
for casual interaction with an existing program.
Anyhow, I'd recommend scheme over python for ease of casual use,
even though at this point my experience with scheme is much less than
with python.
Ethan
[not eager to plunge into another python bug-hunt,
but probably destined to do so in the near future]
> Whichever you use, be sure to use an editor that employs an
> intelligent syntax highlighting mechanism, like vim, or even emacs (if
> you type with a lisp). On OS X, TextMate is my editor of choice.
>
> Here's a site that lists some of the available modules:
> http://wiki.python.org/moin/NumericAndScientific
>
> HTH,
>
> Bill
>
--
Ethan A Merritt
Biomolecular Structure Center
University of Washington, Seattle 98195-7742