× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Joe wrote:
>Politely as possible, Hans, you're dead wrong.  If you don't understand
the
>elegance and power of RPG, I'm concerned that you're intimately involved
>with its future.  No other language provides the integrated database
access
>required to succinctly encapsulate the complicated database maneuvering
>required for advanced business applications.  I've written operating
systems
>and applications, so I know the difference between the two.  Writing a
bill
>of materials explosion or an MRP generation is completely different from
>writing an optimizing compiler or an event-driven kernel.  While you CAN
do
>business applications in other languages, the integrated database
>instructions of RPG make it by far the best language for the task.

RPG elegant?  I've been working with RPG for the past 20 years,
and "elegant" would not be an adjective I'd use to describe it.

Does a language need to be "integrated" with a database for it
to be a good language for business apps?  One problem with RPG
is that it is "too" integrated with OS/400's database.  Many
RPG programmers would like to be able to port their apps to
other operating systems.  But matching the semantics of RPG's
database operations to databases on other systems is not easy.
The inability to easily port business applications written in
RPG is a major impediment to more widespread adoption of the
language.

For fun, a couple of weeks ago I found an example of an RPG
program published in some magazine and rewrote it in Python and
SQL.  The Python program ended up half the size, with bugs
removed, and it was more robust and flexible.  For example,
with my program, if you wanted to display a different number of
columns in the report, you only have to change one line of
code - the SQL query.

OK, database access is not an "integrated" part of the Python
language.  So what?  Database programming in Python is done by
using modules written to support specific databases or database
access methods.  Furthermore, these db modules have a standard
interface, and so you can easily switch database products
without the need to substantially rewrite code.  I don't nean to
bad-mouth RPG, but this degree of flexibility just doesn't exist
with RPG.  (Unless you're using the SQL CLI, perhaps, but that's
still not as easy as the DB-API in Python.)

>Your statement that any language can do anything is one that has been
hashed
>out in these forums before, and I stand by my opinion that some tools are
>better than others.  If you don't believe that, then I suggest you try
>writing an MRP generation using SQL and Python.  Get back to me in a few
>months when you have it working.

I don't have to.  Another group is already doing just that.
Check out the GNUe project.  Granted, it's still in the
development stage, but it does show promise.  They
specifically chose Python for it's ease of programming.

I agree fully that some tools are better than others.  But
there are a lot of factors involved in choosing a set of
tools for a paricular purpose.  In the iSeries world, two of
the most important factors happen to be 1) that most iSeries
programmers know RPG better than any other language; and 2)
that most iSeries software is already written in RPG.  To be
fair, these are important factors, and IBM will continue to
recognize the importance of these factors.  But you can't
ignore the legions of other programmers who do churn out
business apps in other languages, and do so happily.

Perhaps we'll just have to agree to disagree.

Cheers!  Hans

Hans Boldt, ILE RPG Development, IBM Toronto Lab, boldt@ca.ibm.com



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.