登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

『簡體書』编程的修炼(中英双语)(图灵奖获得者Edsger W. Dijkstra 是每个在计算机领域学习和工作的人都应该了解和尊重的先驱者,本书为他最重要的述著,堪称编程领域里,经典著作的经典)

書城自編碼: 2092233
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: Edsger
國際書號(ISBN): 9787121202506
出版社: 电子工业出版社
出版日期: 2013-07-01
版次: 1 印次: 1
頁數/字數: 456/598000
書度/開本: 16开 釘裝: 平装

售價:NT$ 735

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
翻译的危险:清代中国与大英帝国之间两位译者的非凡人生
《 翻译的危险:清代中国与大英帝国之间两位译者的非凡人生 》

售價:NT$ 426.0
论法拉比与迈蒙尼德:施特劳斯讲演与论文集:卷三
《 论法拉比与迈蒙尼德:施特劳斯讲演与论文集:卷三 》

售價:NT$ 494.0
实验之火:锻造英格兰炼金术(1300—1700年)
《 实验之火:锻造英格兰炼金术(1300—1700年) 》

售價:NT$ 562.0
高功率激光推进
《 高功率激光推进 》

售價:NT$ 499.0
藩镇时代的政治与社会
《 藩镇时代的政治与社会 》

售價:NT$ 510.0
电网设备无人机自动机场建设与应用
《 电网设备无人机自动机场建设与应用 》

售價:NT$ 406.0
中国沿海的贸易与外交:通商口岸的开埠:1842-1854.下
《 中国沿海的贸易与外交:通商口岸的开埠:1842-1854.下 》

售價:NT$ 666.0
甲骨文丛书·繁荣与衰退:中国市场经济(1000~1500年)
《 甲骨文丛书·繁荣与衰退:中国市场经济(1000~1500年) 》

售價:NT$ 666.0

建議一齊購買:

+

NT$ 656
《 程序开发心理学(银年纪念版) 》
+

NT$ 374
《 编程格调 》
+

NT$ 405
《 代码之髓:编程语言核心概念 》
+

NT$ 456
《 高效能程序员的修炼 》
編輯推薦:
《编程的修炼(中英双语)》本书写于20世纪70年代中后期,但其对编程技术领域的开发、编程语言发展和程序理论研究的深刻影响持续至今。
內容簡介:
本书是图灵奖获得者Edsger W. Dijkstra在编程领域里的经典著作中的经典。作者基于其敏锐的洞察力和长期的实际编程经验,对基本顺序程序的描述和开发中的许多关键问题做了独到的总结和开发。书中讨论了顺序程序的本质特征、程序描述和对程序行为(正确性)的推理,并通过一系列从简单到复杂的程序的思考和开发范例,阐释了基于严格的逻辑推理开发正确可靠程序的过程。
本书写于20世纪70年代中后期,但其对编程技术领域的开发、编程语言发展和程序理论研究的深刻影响持续至今。本书值得每个关注计算机科学技术的本质,冀求在程序和软件领域有长远发展的计算机工作者、教师和学生阅读。
關於作者:
艾兹赫尔·戴克斯特拉(Edsger W. Dijkstra,1930年5月11日-2002年8月6日),生于荷兰鹿特丹,自喻为荷兰第一个以程序设计作为职业的人。他早年积极推动结构化程序设计,一生致力于将计算(computing)发展为一门科学,在计算机科学技术的诸多领域有开拓性建树,并由于在程序设计基础研究中的卓越贡献获得1972年图灵奖。
译者简介:
裘宗燕,北京大学数学学院教授。主要研究兴趣是软件形式化方法和程序设计的理论基础,也关注程序设计实践。翻译过若干相关著作,包括《从规范出发的程序设计》、《B方法》、《编程原本》、《计算机程序的构造和解释》、《C++语言的设计和演化》等。
目錄
序 IX
前言 XI
第0章 执行抽象 1
第1章 编程语言的作用 13
第2章 状态及其特征 19
第3章 语义的性质 29
第4章 一种编程语言的语义特征 47
第5章 两个定理 73
第6章 论完满终止结构的设计 81
第7章 再论欧几里得算法 89
第8章 几个小例子的形式化处理 101
第9章 论受限的非确定性 143
第10章 有关记法的短论:“变量的作用域” 157
第11章 数组变量 187
第12章 线性检索定理 209
第13章 下一个排列 213
第14章 荷兰国旗问题 221
第15章 更新顺序文件 233
第16章 再论归并 245
第17章 来自R.W.HAMMING的一个练习 257
第18章 模式匹配问题 269
第19章 将一个数写成两个平方之和 279
第20章 大数的最小素因子问题 285
第21章 最孤立村庄问题 297
第22章 最短子支撑树问题 307
第23章 记录等价类的REM算法 321
第24章 三维空间的凸包问题 335
第25章 有向图的最大强连通分支 383
第26章 论手册和实现 401
第27章 跋 417
內容試閱
第1 章
编程语言的作用
在“执行抽象”一章中,我非形式化地描述了计算两个(不太大的)正整数的最大公因子的几种不同“机器”的设计。其中一部机器采用在纸板上移动石子的方式;另一部机器基于两个半拉石子,而且它们都在坐标轴上移动;最后一个基于两个寄存器,每个里面可以保存一个(直至某个上限的)整数值。从物理上说,这三台“机器”大相径庭;而从数学上看,它们却很类似,做出这一论断的主要原因是,三者都能计算最大公因子,这是三者的共性。由于这三台机器只不过是同样一组“游戏规则”中不同的具体实现,而实际上,这组规则才是一个发明的核心,该发明就是大名鼎鼎的“欧几里得算法”。
在前一章里,欧几里得算法是用一种相当非形式化的方式描述的。有人会提出,由于与之对应的可能计算的数目如此之大,因此,我们必须要有一个关于其正确性的证明。如果一个算法只是以非形式化的方式给出,它就不容易作为一种形式化处理的对象。为了形式化地处理,我们就需要用某种适当的形式化的记法来做算法的描述。
这样一种形式化记述技术的可能优势有许多方面。任何记述技术都蕴涵着一个事实:它所实际表述的任何东西都是它有可能描述的那个对象集合(通常是一个无穷集合)的一个特定成员。我们的记述技术当然应该能给出欧几里得算法的一个优雅而简洁的描述,而一旦做好了这件事,也就是把它表示成了一个包含各种算法的巨大的类中的一个成员。而在描述该类中的其他算法时,我们可能期望发现自己所用的记述技术的一些更有趣的应用。对于欧几里得算法,可能会有人说因为它如此简单,用一个非形式化的描述就能对付了。形式化记法的威力应该表现在一些没有它就绝不可能做到的成就方面。
形式化记述技术的第二个优势是,它使我们有可能将算法作为一种数学对象来研究,算法的形式化描述将成为我们的智力收获的抓手,使我们能证明一些有关算法类的定理,例如,由于算法所采用的描述而使之共有的一些结构性的性质。
最后,这样一种记述技术将使我们能毫无歧义地定义算法,这样,给定了用它描述的一个算法,并给定一组实际参数(输入),有关与之对应的答案(输出)应该是什么,将没有任何疑义或者非确定性。可以断言,相应的计算完全可以用一部自动机器完成:给它该算法(的形式化描述)和相应的实际参数,它就能产生出相应的答案,完全无须进一步的人工干预。这样一种能对付这种相互对应的算法和实际参数的自动机器已经造出来了,它就是人们说的“自动计算机”。为能在计算机上自动执行而写出的算法称为“程序”,而自20世纪50年代后期以来,用于写程序的形式化记述技术就被称为“编程语言”。(与程序的记述技术有关的术语“语言”的引入已受到多方面关注。一方面,现有的语言理论为相关讨论提供了一种很自然的框架和一套有用的术语,如“文法”、“语法”、“语义”等。另一方面,我们也必须注意到,与现存的“自然语言”的类似性也造成了许多误导,因为各种自然语言,无论怎样做形式化,其弱点和威力都来自它们的非明确性和非精确性。)
从历史情况看,这最后一个方面,即各种编程语言可以用作指挥现有的自动计算机的媒介,这个事实已经在很长时期里成为它们最重要的属性。现有的自动计算机执行某种特定语言写出的程序的效率,也成为评判该语言的质量的最重要标准。这种情况导致了一个令人遗憾的后果:不难看到,现有计算机的许多很反常的特性都被忠实地反映在现有的编程语言里,为此付出的代价是,用这样一个语言描述的程序是很难用智力去把握的(实际上,即使没有这种情况,编程的工作也已经非常困难了!)。在下面将要提出的方法中,我们将试着重新考虑这方面的平衡。按我们的认识,写出的程序需要实际地由一台计算机执行,这只是由于偶然性而导致的一种实际情况,它不应该居于我们考虑问题的中心。(在最近的一本培养PLI程序员的教材里,可以看到作者强烈建议尽可能避免过程调用,理由是“因为它们会大大影响程序的效率”。由于过程是PLI中描述结构的最重要的工具,上述建议实在太可怕了,以至于我完全无法把这本书看作真的能“用于教育”。如果你确信过程是一种有用的概念,而在你的工作环境中,过程机制的实现带来的开销却令人难以忍受,那么应该诅咒的是这些不适当的实现,而不应该是把它们的表现作为一种标准!这方面的权衡确实应该重新做!)
我把一种编程语言看作是一种工作媒介,用于描述(可能非常复杂的)抽象机制。正如在有关“抽象执行”一章里可以看到的,算法最突出的优点就在于对它们能够做出的论证的简洁性。我们对于有关机制的信心也是基于这个事实。如果失去了这种简洁性,算法就失去了其(存在的权利)中很大一部分,因此,我们将把保持这种简洁性作为始终如一的目标。另外,我们对所有编程语言的选择也将直面这一目标。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.