New languages surface for HP 3000 in freeware versions
It
may be a 27-year-old computer, but the HP 3000 is sporting new
development options this summer, scripting languages that customers
are using to extend the flexibility of their mission-critical
servers.
Customers are reporting on the emergence of Perl and
Python for MPE/iX, a pair of languages that are being deployed in
e-commerce and client-server configurations. Both languages are
available for free download from the HP Commercial Systems Division
Jazz Web server (jazz.external.hp.com/src).
HP
is not yet providing official, Response Center support for the
languages. But the software has the same status which Samba and
Apache held before becoming part of the HP 3000 operating system:
freeware supported by HP engineers on their own time, downloadable
through links on the Jazz server.
CSY engineer Mark Bixby began the port of Perl to the 3000
when he was a systems administrator for a California college. I
cant live without Perl on the Unix machines that I administer,
and I want to have the same power available to me on MPE, Bixby
reports on his personal bixby.org Web page. It gives you all of
the power of C, awk, sed, and sh in a single language. The
latest 5.6.0 version of Perl on bixby.org comes with the add-on
package LWP, which lets Perl programs behave like Web
browsers.
Joseph Koshy, another CSY engineer, has placed Python/iX
on the Jazz Web server. He describes the language as an
interpreted, interactive, object-oriented scripting language with
clean syntax and clean semantics. It falls in the same language space
as Perl and TCL. Python supports modules, classes, exceptions and
dynamic typing. It is also very easy to extend, using extension
modules written in C or C++, and from within Python itself. Python
can also be embedded in applications which wish to offer some kind of
programmability to the end user.
Customers are deploying Perl and Python in early work to
connect their HP 3000 applications with data on non-3000 servers, the
Internet, and intranets. Damian Sobieralski said hes even
engineered a way for Perl to access IMAGE databases, using
third-party ODBC drivers.
With a little imagination, it is indeed possible to
use Perl with IMAGE, he said. If you are sitting on an NT
server you can use either of the two big ODBC drivers (M.B.
Fosters or Minisofts) and Perls DBI:DBD (using the
generic ODBC DBD) to access the database just fine. We have an
in-house developed socket server sitting on our HP 3000, and by using
Perls IO:Socket it is almost trivial to get data to/from the
PC.
On the Perl side it is a piece of cake. The socket
based one over ODBC gives us the ability to access the data off of
non-Microsoft based OSs (Linux and Sun for us). In fact, Im
looking into getting gcc to call intrinsics to help generic up the
server a bit. Currently the server just calls HP programs, redirects
input into them, and captures the output to the socket. Primitive,
but it is a start.
HP
engineer Lars Appel, who ported Samba to the platform, suggested
another use for Perl on the 3000. You might use Perls
IO:Socket to connect to the telnet port (23) on the 3000 and send a
couple of commands similar to hello user.acct and
run myprog or run querynm.pub.sys then parse
the resulting response to get around the task of writing a socket
server for IMAGE.
Bixby points to a success story Web page on Perl at perl.oreilly.com/news/success_stories.html.
Another favorite page for Perl programmers is www.perlmonks.org.
One HP 3000 customer believes that while Perl is a good
choice for quick and easy programming, Python may be even better. MIS
manager Rob Joseph at the NPD Group, responsible for some of the
largest market research operations in the US, likens Python to Visual
Basic (VB).
Python is very easy to write and read; performs well
enough for anything but the most CPU intensive application; is ideal
for Web/CGI usage; and can be used on any of our systems: MPE, HP-UX
or Windows, Joseph reported. We think, no slights
intended, that Python is much easier to work with than Perl, is
easier and faster to learn, and is suited to slightly more tasks. If
you are in search of a multiplatform language that has the ease of
use of a Visual Basic, then by all means investigate Python.
The language has limits, as all do. However, like
VB, there are some complex programs that would be better suited to a
more robust language like Java or C++, Joseph said. For
example, I would not develop a backup package or ERP system in
Python. But I would attempt almost anything in the CGI arena, or a
file/text utility. These are very well adapted to Python, as they are
to VB or Perl.
Joseph said his staff can come up to speed on Python
quickly, leveraging Visual Basic or Java familiarity.
We continue to use VB, C, C++, Pascal, and
Java, he said. All of these have a place in our
environment. But for scripts, CGI and simple programs, we think
Python is as good a choice in the MPE and Unix environment as VB is
on Windows. In fact, we have found that moderately skilled VB
programmers can become near experts in Python in about two days. A
C++ or Java programmer needs only about half a day.