Can programming be liberated from the von Neumann style?

冯·诺依曼建筑 函数式程序设计 计算机科学 编程风格 程序设计语言 域代数上的 风格(视觉艺术) 语义学(计算机科学) 代数表达式 程序设计范式 理论计算机科学 代数数 数学 纯数学 数学分析 历史 考古
作者
J. W. Backus
出处
期刊:Communications of The ACM [Association for Computing Machinery]
卷期号:21 (8): 613-641 被引量:2194
标识
DOI:10.1145/359576.359579
摘要

Conventional programming languages are growing ever more enormous, but not stronger. Inherent defects at the most basic level cause them to be both fat and weak: their primitive word-at-a-time style of programming inherited from their common ancestor—the von Neumann computer, their close coupling of semantics to state transitions, their division of programming into a world of expressions and a world of statements, their inability to effectively use powerful combining forms for building new programs from existing ones, and their lack of useful mathematical properties for reasoning about programs. An alternative functional style of programming is founded on the use of combining forms for creating programs. Functional programs deal with structured data, are often nonrepetitive and nonrecursive, are hierarchically constructed, do not name their arguments, and do not require the complex machinery of procedure declarations to become generally applicable. Combining forms can use high level programs to build still higher level ones in a style not possible in conventional languages. Associated with the functional style of programming is an algebra of programs whose variables range over programs and whose operations are combining forms. This algebra can be used to transform programs and to solve equations whose “unknowns” are programs in much the same way one transforms equations in high school algebra. These transformations are given by algebraic laws and are carried out in the same language in which programs are written. Combining forms are chosen not only for their programming power but also for the power of their associated algebraic laws. General theorems of the algebra give the detailed behavior and termination conditions for large classes of programs. A new class of computing systems uses the functional programming style both in its programming language and in its state transition rules. Unlike von Neumann languages, these systems have semantics loosely coupled to states—only one state transition occurs per major computation.
最长约 10秒,即可获得该文献文件

科研通智能强力驱动
Strongly Powered by AbleSci AI
更新
PDF的下载单位、IP信息已删除 (2025-6-4)

科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
LaTeXer应助单纯血茗采纳,获得50
刚刚
善良天抒完成签到 ,获得积分10
3秒前
鲸落发布了新的文献求助30
6秒前
葳葳完成签到,获得积分10
8秒前
sl发布了新的文献求助10
11秒前
11秒前
sanqian911完成签到,获得积分10
12秒前
昏睡的蟠桃应助liars采纳,获得150
13秒前
斯文败类应助荒野风采纳,获得10
13秒前
13秒前
hrzmlily完成签到,获得积分10
15秒前
顽主完成签到,获得积分10
16秒前
义气访曼完成签到 ,获得积分10
17秒前
时尚战斗机完成签到,获得积分10
17秒前
19秒前
亦玉完成签到,获得积分10
19秒前
Philadelphus完成签到,获得积分20
21秒前
21秒前
wsh完成签到 ,获得积分10
22秒前
luyue9406完成签到,获得积分10
22秒前
luochen完成签到,获得积分10
22秒前
酷波er应助奶黄包采纳,获得10
23秒前
ROMANTIC完成签到 ,获得积分10
23秒前
Hancock完成签到 ,获得积分10
24秒前
luyue9406发布了新的文献求助10
25秒前
Akim应助小王采纳,获得10
25秒前
甜蜜的楷瑞应助zqfxc采纳,获得10
27秒前
Hello应助花雨落123采纳,获得10
29秒前
30秒前
31秒前
柚仝完成签到 ,获得积分10
31秒前
贾明灵完成签到,获得积分10
31秒前
未来学术司马懿应助LIUYONG采纳,获得10
32秒前
Dops完成签到,获得积分10
34秒前
票子发布了新的文献求助10
35秒前
晚风完成签到 ,获得积分10
35秒前
坚强莺发布了新的文献求助10
35秒前
无奈曼云完成签到,获得积分10
36秒前
不会吹口哨完成签到,获得积分10
36秒前
易槐完成签到,获得积分10
37秒前
高分求助中
【提示信息,请勿应助】关于scihub 10000
Les Mantodea de Guyane: Insecta, Polyneoptera [The Mantids of French Guiana] 3000
徐淮辽南地区新元古代叠层石及生物地层 3000
The Mother of All Tableaux: Order, Equivalence, and Geometry in the Large-scale Structure of Optimality Theory 3000
Global Eyelash Assessment scale (GEA) 1000
Picture Books with Same-sex Parented Families: Unintentional Censorship 550
Research on Disturbance Rejection Control Algorithm for Aerial Operation Robots 500
热门求助领域 (近24小时)
化学 材料科学 医学 生物 工程类 有机化学 生物化学 物理 内科学 纳米技术 计算机科学 化学工程 复合材料 遗传学 基因 物理化学 催化作用 冶金 细胞生物学 免疫学
热门帖子
关注 科研通微信公众号,转发送积分 4038426
求助须知:如何正确求助?哪些是违规求助? 3576119
关于积分的说明 11374556
捐赠科研通 3305834
什么是DOI,文献DOI怎么找? 1819339
邀请新用户注册赠送积分活动 892678
科研通“疑难数据库(出版商)”最低求助积分说明 815029