Lan Barnes wrote:
Tcl more than perl in my experience. We use a M$ port (no _by_ M$) of
perl at my job and get a lot of work out of it, but it has blind spots
where valid perl just doesn't work. Fortunately, in perl TIAAWTDI.
Is that a function of Perl or Windows?
While I'm perfectly happy to bash Windows, Perl never was very good
about maintaining backward compatibility. It's one of the reasons why
you *need* the #!/usr/bin/env perl trick. Perl scripts often get tied
to particular versions of Perl which you then need to use the
environment to go get.
This is one of my primary beefs with Perl. I have to restrict myself to
a compatible subset that works across versions. This requires a lot of
mental effort as well as strict auditing of the code from junior folks.
Especially since *nobody* ever learns Perl formally, they all use a
different idiomatic subset of the language.
At this point, I have almost completely removed my tendency to reach for
Perl. I reach for Python almost exclusively. As someone who oversees
other programmers, I *like* "There is one obvious way to do it" (Python)
rather than "There is always another way to do it" (Perl). This is what
leads to Perl's reputation as "write-only".
The only time I reach for Perl is when I find myself doing something
complicated in OS init scripts. And, when I find myself doing that, I
start asking if I'm doing the right thing. Perl at boot time generally
means I'm solving the wrong problem. The FreeBSD folks managed to
excise Perl completely from the base OS because it was causing too much
grief trying to track it compatibly. I tend to agree with them.
In Tcl I have as yet to change a single line of code in any program that
I move over. The commands even automagically handle path name
differences. Cross platform issues do exist, and are well discussed in
the good Tcl books, even without the sneering at M$ that it so richly
deserves.
Yeah, it's a shame that I needed Tcl priori to 8.3. The whole 7.X to
8.X change was a fiasco until about 8.3. As I needed a language that
worked *now* and I was not terribly enamored of Perl, I changed over to
Python. Tcl doesn't offer me anything that I don't have in Python, so I
have no particular interest in re-learning Tcl.
If somebody would just fix one of the virtual machines in these
scripting languages, I would probably switch. I'm watching ABCL (Armed
Bear Common Lisp) with *great* interest. If they can combine the
macro/strong typing/compiling of common lisp with the solidity of the
JVM and libraries of the Java, they would have a killer combo.
#! /bin/sh
# the next line restarts using wish \
exec wish "$0" "$@"
Neat trick. Gotta remember that for Windows.
-a
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list