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

Reply via email to