25. Linux / DOS languages

The differences between DOS and unix are substantial, Running windows applications under WINE or an ABI environment might work, but it's a bit of a kludge.

There are a few languages that are portable (eg Java), because someone has done a lot of work to provide common libraries. In particular tcl/tk is a language that has been ported to DOS and made to work similarly on all platforms.

Python and also perl can use the tk part of tcl/tk, so it's relatively easy to write applications and utilities for all platforms (including SunOS, SVR4 (eg Solaris), ...)

Of course there are differences. Unix uses pipes which DOS doesn't have, and executing DOS programs from windows is a troublesome thing, but DLL's can match unix shared libraries.

25.1 Tcl/Tk
25.2 Pyton-1.4
25.3 Perl

25.1

Tcl/Tk

Tcl is a strange language, where everything is a string, and data-blocks can't (yet) hold null characters, but it is very popular. Although it is a scripted Language, it makes a lot more sense if you compile in things, and use tcl as the top layer of glue to bring it all together.

The real power of Tcl ("tickle") is Tk, the GUI toolkit.

25.2

Pyton-1.4

Python is also an interpreted language, and can be a tad slow. Again, I think your're "supposed" to compile in chunks of your application, and call it from Python. That means that you need a Windows C compiler for real work.

Python uses indentation, instead of { c braces }, so it can look quite clean. It's got classes but it's late binding, so each function call takes a moment longer to lookup (forget your inline-C++ style).

Python has a tk interface, that works in both unix and DOS, it also has a new wpy windowing library. It also has native DOS, MAC, X11 libraries, and a rather fun playground of example scripts.

25.3

Perl

Perl is an interpreted language that does thing's in yet another way. It's popular with cgi script writers, because of it's regex handling, and other features. Personally I find it as readable as APL on an ASCII keyboard, but that's just another way of looking at it, and depends a lot on how it was written.

You can call tk from perl.