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