Drew Foglia, JMP Principal Software Developer, SAS
drewfoglia
The JMP scripting language offers very powerful constructs for driving JMP functionality. However, as with most software development efforts, even moderately sized projects can become difficult to maintain and/or extend. Using the Namespace construct along with several other JSL built-in operators, it is possible to implement some of the best attributes of an object-oriented language within JSL: class definition, inheritance, method overriding, data encapsulation and hiding, event registration and processing, etc. I will present the details of these techniques and how we used them in the JMP Life Sciences group to completely retool the user interface and infrastructure of the JMP Clinical 6.0 release.