HOME

TheInfoList



OR:

NetRexx is an open source, originally IBM's, variant of the REXX
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
to run on the
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
virtual machine In computing, a virtual machine (VM) is the virtualization/emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized hardw ...
. It supports a classic REXX syntax, with no reserved keywords, along with considerable additions to support
object-oriented programming Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of pr ...
in a manner compatible with Java's
object model In computing, object model has two related but distinct meanings: # The properties of objects in general in a specific computer programming language, technology, notation or methodology that uses them. Examples are the object models of ''Java'', ...
, yet can be used as both a compiled and an interpreted language, with an option of using only data types native to the
JVM A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
or the NetRexx runtime package. The latter offers the standard Rexx data type that combines string processing with unlimited precision decimal arithmetic. Integration with the JVM platform is tight, and all existing Java class libraries can be used unchanged and without special setup; at the same time, a Java programmer can opt to just use the Rexx class from the runtime package for improved string handling in Java syntax source programs. NetRexx is free to download from the Rexx Language Association. IBM announced the transfer of NetRexx 3.00 source code to the Rexx Language Association (RexxLA) on June 8, 2011.


History

In 1995 Mike Cowlishaw ported
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
to OS/2 and soon after started with an experiment to run REXX on the
JVM A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
. With REXX generally considered the first of the general purpose scripting languages, NetRexx is the first alternative language for the JVM. The 0.50 release, from April 1996, contained the NetRexx runtime classes and a translator written in REXX but tokenized and turned into an OS/2 executable. The 1.00 release came available in January 1997 and contained a translator bootstrapped to NetRexx. Release 2.00 became available in August 2000 and was a major upgrade, in which interpreted execution was added. Mike Cowlishaw left IBM in March 2010, and the future of IBM NetRexx as open source was unknown for a while. IBM finally announced the transfer of NetRexx source code to the Rexx Language Association (RexxLA) on June 8, 2011, 14 years after the v1.0 release. IBM released the NetRexx source code to RexxLA under the ICU license. RexxLA shortly after released this as NetRexx 3.00 and has followed up with regular releases, with 4.01 (2021-03-20) adding
Java Platform Module System The Java Platform Module System specifies a distribution format for collections of Java code and associated resources. It also specifies a repository for storing these collections, or ''modules'', and identifies how they can be discovered, loaded a ...
support to support Java versions 9 and higher. the ICU license has not been approved by
OSI OSI may refer to: Places * Osijek Airport (IATA code: OSI), an airport in Croatia * Ősi, a village in Veszprém county, Hungary * Oši, an archaeological site in Semigallia, Latvia * Osi, a village in Ido-Osi, Ekiti State, Nigeria * Osi, Ekiti ...
; it appears to be a variant of the
Expat License The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts only very limited restriction on reuse and has, therefore, high license com ...
.


Syntax

The syntax and object model of NetRexx differ from Object REXX, another IBM object-oriented variant of REXX which has been released as
open source software Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Open ...
. The successor ooREXX shares a few syntactical elements (LOOP, DO OVER) not found in classical REXX. NetRexx is written in NetRexx and uses the decimal arithmetic of REXX specified in ANSI X3.274.


References


External links

* http://www.netrexx.org/ {{DEFAULTSORT:Ibm Netrexx NetRexx Object-oriented programming languages JVM programming languages Rexx Programming languages created in 1996