On 07.01.2022 01:47, David Crayford wrote:
> Here is my list of must haves for a scripting language. Does REXX or ooRexx 
> meet the requirements?
>
> 1. Short circuit evaluation
> 2. Functions as first class objects
> 3. Mutli-threading
> 4. Dynamically typed, preferably with type hints
> 5. co-routintes
> 6. A module system
> 7. Support for object oriented programming
> 8. Regular expressions
> 9. Libraries for web programming, pegs, JSON/YAML parsing etc

You also mentioned in your follow up: "Forgot to mention. Support for 
functional programming map,
reduce, filter etc."

This list reads a little bit like a wish list for concepts found in different 
programming languages.
Sometimes such features are specific for a particular language (e.g. functional 
programming) and
then sometimes made available in other languages.

Such a list of somewhat useful features is never complete as one can add 
concepts found in different
languages that may prove helpful for certain kinds of problems, e.g.

  * easy to be employed as a macro language for COBOL, C++, Java et.al. 
applications
  * true multiple inheritance
  * messages as FCO (first class objects)
  * unknown message interception mechanism
  * message relaying mechanism
  * built-in security manager that really secures execution of programs
  * metaprogramming (writing programs in the programming language at runtime 
and then execute them)
  * first order predicates with inferral engine
  * ...

A single language that incorporates all of these features (and adds any new 
future features) will
turn "inhuman" quite quickly with different kinds of problems for programmers 
and programs they create.

A probably more appropriate, safer solution in many cases is to have a tool box 
with different
programming languages/libraries excelling in specific abilities and 
instrumentate/integrate all of
them with an easy to learn, easy to understand and easy to use programming 
language creating control
scripts/programs.

Back to your question about support of the mentioned features (yours and the 
ones I added and
possibly the ones other are able to add as well) in ooRexx: as René mentioned, 
yes, ooRexx supports
almost all of them for any practical reason, either directly, in addition 
exploiting all of Java
including its functional programming model via an ooRexx function package or in 
experimental ooRexx
extensions to the ooRexx language. :)

But note, the paramount point here is: keep the functionality confined, 
safe=easy to use and easy to
understand and to maintain, self-documented as much as possible.

---rony



----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to