A derivative and redesign of APL with added features and control structures. J is purely functional with lexical scope and more conventional control structures, plus several new concepts such as function rank and function arrays. J was designed and developed by Kennneth E. Iverson and Roger Hui <email@example.com>. J uses only the ASCII character set but has a spelling scheme that retains the advantages of APL's special alphabet. J is a conventional procedural programming language but can be used as a purely functional language.