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



It was my impression that original Java won't run on modern JVM's because
somewhere around Java 4 or was it Java 2, there were significant breaking
changes such that you had to have a different JVM to run the new java vs.
the old java.

On Tue, Oct 29, 2019 at 3:06 AM D*B <dieter.bender@xxxxxxxxxxxx> wrote:

<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

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

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.