NetRexx
Introduction
'''NetRexx''' is a general-purpose programming language inspired by two very different programming languages, Rexx and JavaTM. It is designed for people, not computers. In this respect it follows Rexx closely, with many of the concepts and most of the syntax taken directly from Rexx or its object-oriented version, Open Object Rexx. From Java it derives static typing, binary arithmetic, the object model, and exception handling. The resulting language not only provides the scripting capabilities and decimal arithmetic of Rexx, but also seamlessly extends to large application development with fast binary arithmetic.
The reference implementation of NetRexx produces classes for the runs on vm::Java Virtual Machine, and in so doing demonstrates the value of that concrete interface between language and machine: NetRexx classes and Java classes are entirely equivalent – NetRexx can use any Java class (and vice versa) and inherits the portability and robustness of the Java environment.
Language Objectives
The programming language NetRexx, which is derived from both Rexx and Java is intended as a dialect of Rexx that can be as efficient and portable as languages such as Java, while preserving the low threshold to learning and the ease of use of the original Rexx language.
= Open Source =
On the 8th of June 2011, IBM transferred ownership of the reference implementation of NetRexx to The Rexx Language Association (RexxLA) for administration under the ICU - International Components for Unicode open source license.
= Useful Links =
Tasks
- 100 doors
- A+B
- Abstract type
- Ackermann function
- Active Directory/Connect
- Active Directory/Search for a user
- Anagrams
- Arbitrary-precision integers (included)
- Arithmetic-geometric mean
- Arithmetic/Integer
- Array concatenation
- Arrays
- Associative array/Creation
- Associative array/Iteration
- Averages/Arithmetic mean
- Averages/Mean angle
- Averages/Median
- Averages/Mode
- Averages/Pythagorean means
- Averages/Root mean square
- Averages/Simple moving average
- Babbage problem
- Benford's law
- Binary digits
- Boolean values
- Box the compass
- CRC-32
- CSV data manipulation
- CSV to HTML translation
- Caesar cipher
- Call an object method
- Case-sensitivity of identifiers
- Character codes
- Check that file exists
- Classes
- Collections
- Comma quibbling
- Command-line arguments
- Comments
- Compare a list of strings
- Compound data type
- Conditional structures
- Continued fraction
- Convert decimal number to rational
- Copy a string
- Count in factors
- Count in octal
- Count occurrences of a substring
- Create a file
- Create a two-dimensional array at runtime
- Create an HTML table
- Date format
- Date manipulation
- Day of the week
- Delete a file
- Detect division by zero
- Determine if a string is numeric
- Digital root
- Dot product
- Draw a clock
- Empty program
- Empty string
- Entropy
- Environment variables
- Equilibrium index
- Ethiopian multiplication
- Even or odd
- Exceptions
- Executable library
- Execute HQ9+
- Execute a system command
- Extreme floating point values
- Factorial
- Factors of an integer
- Fibonacci sequence
- Filter
- Find limit of recursion
- Five weekends
- FizzBuzz
- Flow-control structures
- Floyd's triangle
- Fork
- Formatted numeric output
- Forward difference
- Fractal tree
- Function definition
- Generic swap
- Greatest common divisor
- Greatest element of a list
- Greatest subsequential sum
- Guess the number
- Guess the number/With feedback
- HTTP
- Happy numbers
- Harshad or Niven series
- Hash from two arrays
- Hello world!
- Hello world/Graphical
- Hello world/Newline omission
- Hello world/Standard error
- Hello world/Text
- Hello world/Web server
- Horner's rule for polynomial evaluation
- Host introspection
- Hostname
- Identity matrix
- Increment a numerical string
- Inheritance/Multiple
- Inheritance/Single
- Input loop
- Integer comparison
- Integer sequence
- Introspection
- JSON
- Jensen's Device
- Josephus problem
- Keyboard input/Obtain a Y or N response
- Knuth shuffle
- Largest int from concatenated ints
- Last Friday of each month
- Leap year
- Least common multiple
- Letter frequency
- Levenshtein distance
- Literals/Floating point
- Logical operations
- Long multiplication
- Loop over multiple arrays simultaneously
- Loops/Break
- Loops/Continue
- Loops/Do-while
- Loops/Downward for
- Loops/For
- Loops/For with a specified step
- Loops/Foreach
- Loops/Infinite
- Loops/N plus one half
- Loops/Nested
- Loops/While
- Luhn test of credit card numbers
- MD5
- Map range
- Middle three digits
- Monty Hall problem
- Non-decimal radices/Convert
- Non-decimal radices/Output
- Nth root
- Null object
- Ordered words
- Palindrome detection
- Pangram checker
- Parametrized SQL statement
- Parsing/RPN calculator algorithm
- Pascal's triangle
- Permutations
- Pi
- Pick random element
- Playfair cipher
- Polymorphic copy
- Polymorphism
- Pragmatic directives
- Price fraction
- Primality by trial division
- Program name
- Program termination
- Queue/Definition
- Queue/Usage
- Quickselect algorithm
- Quine
- Random number generator (included)
- Random numbers
- Range expansion
- Range extraction
- Read a file character by character/UTF8
- Read a file line by line
- Read a specific line from a file
- Read entire file
- Real constants and functions
- Regular expressions
- Remove duplicate elements
- Rename a file
- Rep-string
- Repeat a string
- Return multiple values
- Reverse a string
- Roman numerals/Decode
- Rot-13
- SHA-1
- SHA-256
- Search a list
- Secure temporary file
- Selective File Copy
- Semordnilap
- Shell one-liner
- Short-circuit evaluation
- Show the epoch
- Sierpinski carpet
- Sierpinski triangle
- Sieve of Eratosthenes
- Singleton
- Sleep
- Sockets
- Sort an array of composite structures
- Sort an integer array
- Sort disjoint sublist
- Sort stability
- Sort using a custom comparator
- Sorting algorithms/Bead sort
- Sorting algorithms/Bogosort
- Sorting algorithms/Bubble sort
- Sorting algorithms/Cocktail sort
- Sorting algorithms/Comb sort
- Sorting algorithms/Counting sort
- Sorting algorithms/Cycle sort
- Sorting algorithms/Gnome sort
- Sorting algorithms/Heapsort
- Sorting algorithms/Insertion sort
- Sorting algorithms/Merge sort
- Sorting algorithms/Pancake sort
- Sorting algorithms/Permutation sort
- Sorting algorithms/Quicksort
- Sorting algorithms/Radix sort
- Sorting algorithms/Selection sort
- Sorting algorithms/Shell sort
- Sorting algorithms/Sleep sort
- Sorting algorithms/Stooge sort
- Sorting algorithms/Strand sort
- Soundex
- Sparkline in unicode
- Special variables
- Spiral matrix
- Stack
- Stack traces
- String append
- String case
- String comparison
- String concatenation
- String interpolation (included)
- String matching
- String prepend
- Strip a set of characters from a string
- Strip whitespace from a string/Top and tail
- Substring
- Substring/Top and tail
- Sum and product of an array
- Sum digits of an integer
- Sum multiples of 3 and 5
- Sum of squares
- System time
- Table creation/Postal addresses
- Temperature conversion
- Terminal control/Display an extended character
- Terminal control/Ringing the terminal bell
- Test a function
- Tokenize a string
- Trigonometric functions
- URL decoding
- URL encoding
- Unbias a random generator
- Unicode variable names
- Vigenère cipher
- Walk a directory/Non-recursively
- Web scraping
- Window creation
- Word wrap
- Write float arrays to a text file
- XML/DOM serialization
- XML/Output
- XML/XPath
- Yin and yang
- Zero to the zero power
- Zig-zag matrix