|
Super Pascal is an imperative, concurrent computing programming language developed by Brinch Hansen.〔Per Brinch Hansen, Super Pascal: a publication language for parallel scientific computing, 1993〕 It was designed as a publication language: a thinking tool to enable the clear and concise expression of concepts in parallel programming. This is in contrast with implementation languages which are often complicated with machine details and historical conventions. It was created to address the need at the time for a parallel publication language. Arguably, few languages today are expressive and concise enough to be used as thinking tools. == History and development == SuperPascal is based on Niklaus Wirth's sequential language Pascal, extending it with features for safe and efficient concurrency. Pascal itself was used heavily as a publication language in the 1970s; it was used to teach structured programming practices and featured in text books, for example, on compilers and programming languages. Brinch Hansen had earlier developed the language Concurrent Pascal, one of the earliest concurrent languages for the design of operating systems and real-time control systems. The requirements of SuperPascal were based on the experience gained by Brinch Hansen over three years in developing a set of model parallel programs, which implemented methods for common problems in computational science. This experimentation allowed him to make the following conclusions about the future of parallel scientific computing: * Future parallel computers will be ''general-purpose'', allowing programmers to think in terms of ''problem-orientated'' process configurations. This was based on his experience programming networks of transputers, which were general-purpose processors able to be connected in ''arrays'', ''trees'' or ''hypercubes''. * Regular problems in computational science require only ''deterministic parallelism'', that is, expecting communication from a particular channel, rather than from several. * Parallel scientific algorithms can be developed in an ''elegant publication language'' and tested on a sequential computer. When it is established an algorithm works, it can easily be implemented in a parallel implementation language. These then led to the following requirements for a parallel publication language: * The language should extend a widely used standard language with ''deterministic parallelism'' and ''message communication''. The extensions should be in the spirit of the standard language. * The language should make it possible to program ''arbitrary configurations'' of parallel processes connected by communication channels. These configurations may be defined iteratively or recursively and created dynamically. * The language should enable a single-pass compiler to check that parallel processes do not interfere in a time-dependent manner. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「SuperPascal」の詳細全文を読む スポンサード リンク
|