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



Let the 10 year QA process begin 😊

Regards,
Richard Schoen
Web: http://www.richardschoen.net
Email: richard@xxxxxxxxxxxxxxxxx
Phn: (612) 315-1745

----------------------------------------------------------------------

message: 1
date: Tue, 29 Oct 2019 08:06:05 +0100
from: "D*B" <dieter.bender@xxxxxxxxxxxx>
subject: Re: AS/400 vs. IBM i

<David>
Sorry, you're losing me here.

I'm talking about if the AS400Message class was renamed in order to maintain product branding (i.e., rename it to IBMiMessage).
</David>

interesting idea! renaming all AS400 inside jt400 to IbmI (LOL)! I didn't really think of this.
Let it use as an example to discuss the backwards compatibility mechanism of
java:

First of all: only public (and protected) components are visible outside jt400. All internal components are not important for compatibility reasons.
If you want to change the name of AS400Message class in IBMiMessage class, AS400Message class is duplicated and the copy is named IBMiMessage. Under the cover they should share the same code, one would act as a wrapper for the other. Now AS400Message class is declared as deprecated by an Annotation, some sort of compiler instruction. Nothing has happened to running applications, they will work as designed. Compiling old or new code, the deprecated marking will throw a Compiler warning (with this warning you could place a hint to the new class). This warning could be surpressed by a compiler directive @SuppressWarnings("deprecation"). Another important diffrence between Java and RPG is, how the compiler is working. The Java Compiler, used in Eclipse (or other IDEs) compiles the complete project incremental. Every line of code is compiled immediately and warnings and errors are reported from the compiler to the IDE and shown to the user.
Furthermore Eclipse has a little context menu "Refactor" with an option "rename" this could rename a component within the complete project and the Compiler will report all resulting problems to the IDE. Eclipse will show these errors and warnings to the programmer.

There is another mechanism: package naming. There is a convention all software should follow (and 99.9% are doing). All package names are starting with the reverse url of the author (e.g.: All my packages are starting with de.bender-dv), the core language packages are starting with java. As all components are interal handled qualified by packagename, this would guarantee that there are no naming conflicts. New classes of the core language and using multiple libraries from diffrent vendors, couldn't interact with each other.

Java came out 1995, nearly 25 years ago and well written Java code form the first days would work as designed up to now and it will work as long as a box has a JVM.

D*B


As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.