有哪些关于(现代或历史)编程语言设计的备受推崇的书籍?

发布于 2024-09-19 02:44:21 字数 191 浏览 3 评论 0 原文

我非常喜欢 Douglas Crockford 最近的系列讲座,特别是涵盖编程语言历史的演讲。我想更详细地了解这个主题。

考虑这个问题与语言无关。我对教授编程的书籍不感兴趣。我对讨论一种或多种语言设计过程中做出的决策的书籍感兴趣。

I greatly enjoyed Douglas Crockford's recent lecture series, particularly the talk which covered the history of programming languages. I'd like to learn about this subject in more detail.

Consider this question language agnostic. I'm not interested in books that teach programming. I'm interested in books which discuss decisions made during the design of one or more languages.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

任谁 2024-09-26 02:45:29

已故的 Per Brinch Hansen 所著的《并发程序架构》很好地概述了他的并发 Pascal 语言的设计和基本原理,该语言为他的 Sequential Pascal(Pascal 的一个适当子集)添加了监视器(和其他东西)。

Sequential Pascal 中缺少的最重要的一点就是指针。然而,考虑到对顺序 Pascal 程序的限制,你可以用指针做的所有事情也可以用数组索引做,并且以一种更安全的方式,“安全”是因为它是不可能的(并检查过)由编译器!)做非法的事情。

"Architecture of Concurrent Programs", by the late Per Brinch Hansen, includes a good overview of the design and rationale for his Concurrent Pascal language, which added monitors (and other things) to his Sequential Pascal, a proper subset of Pascal.

The big thing missing from Sequential Pascal is pointers. However, given the restrictions intended to be placed on Sequential Pascal programs, everything you can do with a pointer you can also do with an array index, and in a more secure way, "secure" in the sense that it is impossible (and checked by the compiler!) to do illegal things.

一指流沙 2024-09-26 02:45:24

Ada 编程语言的设计原理:

http://www.amazon.com/ Rationale-Design-Programming-Language-Companion/dp/0521392675

虽然这本书讨论了该语言的原始版本,但阅读起来仍然很有趣。对于每个设计决策,都包含从程序员和编译器实现者的角度来看的基本原理和讨论。

Rationale for the Design of the Ada Programming Language:

http://www.amazon.com/Rationale-Design-Programming-Language-Companion/dp/0521392675

Although the book discusses the original version of the language, it still makes interesting reading. For each design decision, rationale and discussion is included, both from the point view the programmer and compiler implementer.

少女净妖师 2024-09-26 02:44:59

计算机程序的结构和解释。我有印刷版,但现在可以免费在线获取:

http://mitpress.mit.edu/sicp/full-text/book/book-ZH-4.html#%_toc_start

Structure and Interpretation of Computer Programs. I have a print copy, but it's now available online for free:

http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%_toc_start

梦纸 2024-09-26 02:44:48

每 15 年,ACM 就会举办一次编程语言史会议(被亲切地称为HoPL)。会议记录质量极高,并且可以使用,遗憾的是只能通过 ACM 付费专区获取。 (但是,如果您从大学、学院或学校的 IP 地址访问它们,您应该能够访问它们。)

对于 HoPL-III (2007),Guido van Rossum 想提交一篇关于 Python 的论文,但未能及时满足审稿要求,所以以博客的形式发布

除了官方会议记录外,几位演讲者还免费发表了他们的论文。此外,几位演讲者在不同的地点再次发表了相同的演讲。例如,Guy L. Steele, Jr. 和 Richard P. "Dick" Gabriel 重复了他们的“50 in 50< /a>”演讲(如果你看过盖伊·斯蒂尔或迪克·加布里埃尔的演讲,你可以想象,这并不是真正的演讲,更像是多媒体表演艺术与诗歌大满贯与百老汇的结合),其中呈现了 50 个节目每种语言 50 个单词。

正如@Missing Faktor 上面提到的,不仅Oberon 项目,而且 所有 Niklaus Wirth 的语言都有大量的详细记录:Algol-60、Algol- X、Algol-W、Pascal、Modula-2 和 Oberon。

Every 15 years, the ACM puts on a History of Programming Languages conference (affectionately known as HoPL). The proceedings are of exceptionally high quality, and are available, unfortunately only behind the ACM paywall. (However, if you access them from a university, college or school IP address, you should be able to access them.)

For HoPL-III (2007), Guido van Rossum wanted to submit a paper about Python, but he wasn't able to meet the review requirements in time, so he published it in form of a blog instead.

Several presenters also published their papers for free, in addition to the official conference proceedings. Also, several presenters gave the same talk again, at a different venue. For example, Guy L. Steele, Jr. and Richard P. "Dick" Gabriel repeated their "50 in 50" talk (which, as you can imagine if you've ever seen a talk by Guy Steele or Dick Gabriel, is not really a talk, more like multimedia performance art crossed with poetry slam meets Broadway), which presents 50 programming languages in 50 words each.

As @Missing Faktor mentioned above, not only Project Oberon, but all of Niklaus Wirth's languages are tremendously well documented: Algol-60, Algol-X, Algol-W, Pascal, Modula-2, and Oberon.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文