Applicative programming notations offer important advantages over conventional ones both for software development and for the full exploitation of multiprocessor computer systems. They simplify the software developer&...
详细信息
Applicative programming notations offer important advantages over conventional ones both for software development and for the full exploitation of multiprocessor computer systems. They simplify the software developer's tools and techniques, streamline his picture of the equipment on which his software will run, and provide him with powerful modularization facilities for coping with the complexity of application problems. Their simple and mathematically sound semantics support formal reasoning about programs and proofs of their correctness, and the absence of explicit sequencing in applicative programs facilitates their execution by systems of multiple concurrent processors. A familiar—if limited—example of applicative programming is the ubiquitous dynamic spreadsheet. The commercial success of spreadsheet packages demonstrates the appeal of abstractness, and an examination of spreadsheets' “formula” facilities reveals why applicative programming and concurrent processing go so well together. The primary obstacles to widespread adoption of applicative programming are the scarcity of efficient implementations and the novelty and immaturity of the software technology. Applicative programming's fundamental soundness and the leverage it offers in coping with two of contemporary computing's most urgent problems argue that in time these obstacles will be overcome.
暂无评论