NetRexx

From Wikipedia, the free encyclopedia

Page Module:Infobox/styles.css has no content.

NetRexx
Lua error in package.lua at line 80: module 'Module:InfoboxImage/data' not found.
Paradigmmultiparadigm: object-oriented, procedural, structured
Designed byMike Cowlishaw
First appeared1996; 30 years ago (1996)
Template:Infobox software/simple
Typing disciplineStatic, strong, safe, partly dynamic, everything is a string (for the Rexx data type, which handles strings and numbers)
OSCross-platform: Linux, Microsoft Windows, macOS, z/OS, z/VM, Android
LicenseICU License[1]
Filename extensions.nrx
Websitewww.netrexx.org
Major implementations
RexxLA NetRexx[2]
Influenced by
PL/I, REXX, ooREXX, Java

NetRexx is an open source, originally IBM's, variant of the REXX programming language to run on the Java virtual machine.[3] It supports a classic REXX syntax, with no reserved keywords, along with considerable additions to support object-oriented programming in a manner compatible with Java's object model, yet can be used as both a compiled and an interpreted language, with an option of using only data types native to the JVM 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.[4]

NetRexx is free to download from the Rexx Language Association.[2] IBM announced the transfer of NetRexx 3.00 source code to the Rexx Language Association (RexxLA) on June 8, 2011.[5]

History

In 1995 Mike Cowlishaw ported Java to OS/2 and soon after started with an experiment to run REXX on the JVM. With REXX generally considered the first of the general purpose scripting languages,[6] NetRexx is the first alternative language for the JVM.[7] 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.[8] 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.[9][10]

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.[5][11]

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 support to support Java versions 9 and higher.[12] As of 2018 the ICU license has not been approved by OSI; it appears to be a variant of the Expat License.[13]

Syntax

Page Module:Message box/ambox.css has no content.

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

Page Template:Reflist/styles.css has no content.

  1. ^ Page Module:Citation/CS1/styles.css has no content.IBM (2011). "ICU License - ICU 1.8.1 and later". Archived from the original on 2014-02-19. Retrieved 2014-02-02.
  2. ^ a b Page Module:Citation/CS1/styles.css has no content."NetRexx". RexxLA. 2011. Retrieved 2014-02-02.
  3. ^ Page Module:Citation/CS1/styles.css has no content.M. F. Cowlishaw (1997). The NetRexx Language. Prentice-Hall. ISBN 0-13-806332-X.
  4. ^ Template:Cite FTP
  5. ^ a b Page Module:Citation/CS1/styles.css has no content.René Jansen (2011-06-08). "Great News: NetRexx Open Source". ibm-netrexx mailing list. <1496987A-5293-41EA-B88A-56B1B51B7B55@xs4all.nl>. Retrieved 2014-02-02.[permanent dead link]
  6. ^ Page Module:Citation/CS1/styles.css has no content.Michael L. Scott (2005-11-21). Programming Language Pragmatics (2nd ed.). Elsevier. p. 694. ISBN 0-12-633951-1.
  7. ^ Page Module:Citation/CS1/styles.css has no content.Per Bothner (1996). "Kawa History". Kawa. GNU. Retrieved 2014-01-24. started active development June 1996
  8. ^ Page Module:Citation/CS1/styles.css has no content."NetRexx - Programming language derived from Java and Rexx". OS/2 EWS. IBM PC BBS. 1996. Retrieved 2014-01-24.
  9. ^ Page Module:Citation/CS1/styles.css has no content.M. F. Cowlishaw (2009-05-22). "NetRexx 2" (PDF). IBM UK Laboratories. Retrieved 2014-01-24.
  10. ^ Page Module:Citation/CS1/styles.css has no content."software/awdtools/netrexx". IBM. 2005. Archived from the original on 2022-01-09. Retrieved 2014-02-02.
  11. ^ Page Module:Citation/CS1/styles.css has no content.Fernando Cassia (2011-06-11). "Why an open NetRexx means humans can do Java". TechEye. Retrieved 2014-02-02.
  12. ^ Page Module:Citation/CS1/styles.css has no content."NetRexx Translator Downloads, Releases and Release Candidates". RexxLA.org. 2013. Retrieved 2014-01-24.
  13. ^ Page Module:Citation/CS1/styles.css has no content."Open Source Licenses". OSI. 2014. Retrieved 2014-02-02.

Template:IBM FOSS Lua error in package.lua at line 80: module 'Module:Authority control/config' not found.