1 / 15

Introducing NetRexx

Introducing NetRexx. IBM ISV Independent Software Vendors Technical Information Days 27.09. – 28.09.2011, Linz, Austria Thomas.Schneider@thsitc.com www.thsitc.com. NetRexx – the easier way to program the Java Virtual Machine (JVM). General purpose programming language

kimball
Download Presentation

Introducing NetRexx

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introducing NetRexx IBM ISV Independent Software Vendors Technical Information Days 27.09. – 28.09.2011, Linz, Austria Thomas.Schneider@thsitc.com www.thsitc.com

  2. NetRexx – the easier way to program the Java Virtual Machine (JVM) • General purpose programming language • Inspired by IBM Rexx and Java • Designed for PEOPLE, *not* Computers • Originally designed & implemented by Mike F. Cowlishaw, IBM Fellow, IBM UK Laboratories (who is also the father and author of IBM Rexx) • Now OPEN SOURCE, maintained by RexxLA

  3. NetRexx – the more human oriented way to program the JVM • Readable Syntax • Readable by all kind of programmers • May they know Rexx, PL/I, COBOL, RPG, Java, BASIC, C, or whatever • NetRexx Introduction course lasts 1 day! • Next course scheduled for 25.10.2011, IBM Forum Vienna, Austria

  4. NetRexx derives from Java (1) • Static typing • A type may be any Java primitive type • *or* a user defined class • *or* a Java system class • *or* any class of any used Java-Library • Java Libraries stored in so called .JAR files

  5. NetRexx derives from Java (2) • Object Model (including classes, interfaces, etc) • Exception Handling • All Exceptions might be CATCHED • Robust Trace-Back in case of an error (un-catched exception) • Robust initialization and finalization of any used objects • Sophisticated garbage collection mechanisms • Just in Time (JIT) Compilation

  6. NetRexx derives from Rexx (1) • Ease of Syntax & Semantics • Powerful String Operations (abut, blank separated, concatenated) • Powerful PARSE Statement to separate a STRING into it‘s components • Ease of access to ASSOCIATIVE storage (called Stems in Rexx, called Indexed Strings in NetRexx, but functionally equivalent)

  7. NetRexx derives from Rexx (2) • Concise set of INSTRUCTIONS • Readable, and thus self-documenting • No semicolon needed to end an instruction • Special character (-) used to indicate continuation of an instruction at the next line • Note (inline comment) may follow the instruction (denoted by --)

  8. NetRexx derives from Rexx (3) • Comments denoted by /* … */ • As, for instance, also in PL/I, Java, or C • But: • Comments may be NESTED (unlike PL/I, or Java) • Thus allowing to quickly out-comment pieces of code, for instance for tests, without the need to retype a lot of /* … */ pairs!

  9. NetRexx derives from Rexx (4) • Builtin DECIMAL ARITHMETIC • With any arbitrary PRECISION (Pi with 40 decimals, for instance) • Hence: • No Rounding errors due to binary arithmetic • Decimal Arithmetic optionally performed by special Hardware Chip (IBM zOS 10) • Real Break-Thru for programming Computers

  10. NetRexx derives from Rexx (5) • Concise SET of INSTRUCTIONS • DO … END for groups of instructions (no braces as in Java, or C dialects) • LOOP … END for repetitions (new in NetRexx) • LOOP WHILE condition • LOOP UNTIL condition • LOOP FOR 16 (repeat 16 times) • LOOP i=15 to 33 by 2 (indexed loop) • All sub-clauses above may be combined in single LOOP statement, or used by their own

  11. NetRexx derives from Rexx (6) • Concise SET of INSTRUCTIONS • IF condition THEN instruction [ELSE instruction] • SELECT • WHEN condition1 THEN … • WHEN condition2 THEN … • OTHERWISE instructions • SELECT CASE selector (may be any type, even Strings) • WHEN selector1 THEN … • WHEN selector2 THEN … • WHEN selector3 THEN … • OTHERWISE instructions

  12. NetRexx might be used (1) • As an INTERPRETER (for quick program development and tests) • As a COMPILER • The so called TRANSLATOR is always the same • Hence, no language differences for interpreted SCRIPTS vs. COMPILED Modules (as JavaScript vs. Java)

  13. NetRexx might be used (2) • Directly via command from the console • Thru one of the currently supported Integrated Development Environments • jEDIT PLUGIN NetRexxScript (Interpreter) • jEDIT PLUGIN NetRexxDE (Compilation) • ECLIPSE PLUGIN (Interpreting, Translation, Compilation, Project Management)

  14. NetRexx Sources of Information • www.netrexx.org – the NetRexx home-page • www.rexxla.org – the Rexx Language Associations home-page • www.kenai.com, project netrexx • Netrexx developers group • Issues and bug reporting • Advance release („next“ versions) • ibm-netrexx@hursley.ibm.com • The NetRexx users group (Questions and Answers)

  15. NetRexx – the easier way • Thank you for your attention • Contact us for further informations • and/or trainings • Thomas.Schneider@thsitc.com • www.thsitc.com

More Related