PRAXIS(ID:4070/pra004)High Level machine oriented algebraic computer languageHigh-level machine oriented algebraic block-structured language computer language, written by BBN for the Nova High Energy Laser Project at Lawrence Livermore National Laboratory. From the NEA release notes: "DESCRIPTION OF PROGRAM OR FUNCTION - PRAXIS is a systems implementation programming language designed especially for control and communications programming. It is a modern, strongly-typed, block-structured language similar to PASCAL but with extentions and features particular to control systems applications. The software consists of three PRAXIS compilers and three associated support utilities - the PRAXIS RMS-11 Interface, a set of procedures, functions, and type declarations which allow PRAXIS programs to interface to the RMS-11 Input/Output system under VAX/VMS and the RSX-11M systems; TEXTIO, character I/O software for terminal and line-printer text operations; and UNPASCAL, a program which translates simple PASCAL programs into PRAXIS. The compilers included are: a VAX/VMS version which generates VAX code, a VAX/VMS version which generates PDP11 codes, and a PDP11/RSX-11M version which generates PDP11 code. NESC Edition B of PRAXIS is designated as Version 7.3 by the contributors. The PDP11 compiler is not supported and has not been changed since February 1982" Places Related languages
References: Introduction While it is not yet clear whether Ada, BLISS, Mary/2, Modula-2, Mesa, C, CLU, Edison, Concurrent Euclid, Icon, Newton, PLAIN, PLUS, Praxis, Smalltalk, SQURL, Y, or some other language is "best" for systems programming, each language represents an advance towards the goal of supporting an understandable and efficient organization of the many details and relationships inherent in systems programming. Unfortunately, no one language has yet achieved the delicate balance between simplicity and power that would distinguish it as ideal, but it appears that Modula-2 comes quite close. Modula-2 represents a step forward in language design, both because it incorporates existing features instead of inventing its own, and because of its evident concern for simplicity. Modula-2 offers the following valuable language features: Simplicity. Few primitive datatypes are defined, few control constructs are supported (there is no "go to"), and input-output operations are not provided as part of the language (they can be provided via extensions written in Modula-2). This simplicity allows for easier standardization and better portability than can be achieved with most other languages. Modules A module is a named collection of variables and procedures, similar to an Ada package. It controls the interfacing and encapsulation of the conceptual parts making up large software systems. Modules provide a more flexible solution to the problem of partitioning the name space of a large program than does the more familiar hierarchical nesting of procedures. They are so valuable they are even being force-fitted onto existing languages. Separate Compilation. Modules may be compiled separately, providing good management for large programsr and definition modules allow for specifying interfaces without giving implementation details. Flexible Datatypes. Strong datatypes are enforced, but this can be relaxed when necessary in systems programming to just declaring a parameter to be a word, an address, or an array of words. Machine Access. Access to specific memory addresses and other characteristics of the underlying machine is supported. Tasking. Flexible and efficient tasking is provided by coroutine management routines. in SIGPLAN Notices 17(08) August 1982 view details in SIGPLAN Notices 17(08) August 1982 view details in SIGPLAN Notices 17(08) August 1982 view details in SIGPLAN Notices 17(08) August 1982 view details in SIGPLAN Notices 17(08) August 1982 view details in SIGPLAN Notices 21(05) May 1986 view details Resources
|