|
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 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.