| Front Page | News Headlines | Technical Headlines | Planning Features | Advanced Search |
Click for Speedware Sponsor Message News Icon

August 2000

MPE programmers dive for Perl, embrace Python

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 can’t 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 he’s 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. Foster’s or Minisoft’s) and Perl’s 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 Perl’s 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, I’m 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 Perl’s 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.”

 


Copyright The 3000 NewsWire. All rights reserved.