编程大师智慧(英文影印版)
基本信息
- 原书名: Masterminds of Programming: Conversations with the Creators of Major Programming Languages
- 原出版社: O'Reilly Media
- 作者: Federico Biancuzzi Shane Warden [作译者介绍]
- 丛书名: 南京东南大学出版社O'Reilly系列
- 出版社:东南大学出版社
- ISBN:9787564122621
- 上架时间:2010-10-9
- 出版日期:2010 年6月
- 开本:16开
- 页码:480
- 版次:1-1
- 所属分类:
计算机 > 软件与程序设计 > 综合 > 综合
编辑推荐
本书是多位编程语言创造者的独家采访。从这部独特的采访集中,你将了解到某些特殊设计决定产生的过程,包括这些先行者当时头脑中的既定目标、他们不得不做的折衷权衡,以及这些宝贵经验至今对编程产生了怎样的影响。
内容简介回到顶部↑
作译者回到顶部↑
本书提供作译者介绍
Federico Biancuzzi是一位自由采访者,他的采访报道发表在多家在线刊物上,包括《ONLamp》、《NewsForge》、《The Register》、《ArsTechnica》等等。
Shane Warden是一位自由软件开发者,他的主要兴趣在于编程语言设计和虚拟机。在业余时间,他是独立出版社Onyx Neon Press的小说出版部门负责人。他也是O'Reilly图书《敏捷开发艺术》的合著者之一。
.. << 查看详细
Shane Warden是一位自由软件开发者,他的主要兴趣在于编程语言设计和虚拟机。在业余时间,他是独立出版社Onyx Neon Press的小说出版部门负责人。他也是O'Reilly图书《敏捷开发艺术》的合著者之一。
.. << 查看详细
目录回到顶部↑
foreword
preface
1 c++
design decisions
using the language
oop and concurrency
future
teaching
2 python
the pythonic way
the good programmer
multiple pythons
expedients and experience
3 apl
paper and pencil
elementary principles
parallelism
legacy
4 forth
the forth language and language design
preface
1 c++
design decisions
using the language
oop and concurrency
future
teaching
2 python
the pythonic way
the good programmer
multiple pythons
expedients and experience
3 apl
paper and pencil
elementary principles
parallelism
legacy
4 forth
the forth language and language design
前言回到顶部↑
WRITING SOFTWARE IS HARD--AT LEAST, WRITING SOFTWARE THAT STANDS UP UNDER TESTS, TIME, and different environments is hard. Not only has the software engineering field struggled to make writing software easier over the past five decades, but languages have been designed to make it easier. But what makes it hard in the first place?
Most of the books and the papers that claim to address this problem talk about architecture, requirements, and similar topics that focus on the software. What if the hard part was in the writing? To put it another way, what if we saw our jobs as programmers more in terms of communication--language--and less in terms of engineering?
Children learn to talk in their first years of life, and we start teaching them how to read and write when they are five or six years old. ! don't know any great writer who learned to read and write as an adult. Do you know any great programmer who learned to program late in life?
And if children can learn foreign languages much more easily than adults, what does this tell us about learning to program--an activity involving a new language?
Imagine that you are studying a foreign language and you don't know the name of an object. You can describe it with the words that you know, hoping someone will understand what you mean. Isn't this what we do every day with software? We describe the object we have in our mind with a programming language, hoping the description will be clear enough to the compiler or interpreter. If something doesn't work, we bring up the picture again in our mind and try to understand what we missed or misdescribed.
With these questions in mind, I chose to launch a series of investigations into why a programming language is created, how it's technically developed, how it's taught and learned, and how it evolves over time.
Shane and I had the great privilege to let 27 great designers guide us through our journey, so that we have been able to collect their wisdom and experience for you.
In Masterminds of Programming, you will discover some of the thinking and steps needed to build a successful language, what makes it popular, and how to approach the current problems that its programmers are facing. So if you want to learn more about successful programming language design, this book surely can help you.
If you are looking for inspiring thoughts regarding software and programming languages, you will need a highlighter, or maybe two, because I promise that you will find plenty of them throughout these pages.
--Federico Biancuzzi
Organization of the Material
The chapters in this book are ordered to provide a varied and provocative perspective as you travel through it. Savor the interviews and return often.
Chapter 1, C++, interviews Bjarne Stroustrup.
Chapter 2, Python, interviews Guido van Rossum.
Chapter 3, APL, interviews Adin D. Falkoff.
Chapter 4, Forth, interviews Charles H. Moore.
Chapter 5, BASIC, interviews Thomas E. Kurtz.
Chapter 6, AWK, interviews Alfred Aho, Peter Weinberger, and Brian Kernighan.
Chapter 7, Lua, interviews Luiz Henrique de Figueiredo and Roberto Ierusalimschy.
Chapter 8, Haskell, interviews Simon Peyton Jones, Paul Hudak, Philip Wadler, and John Hughes.
Most of the books and the papers that claim to address this problem talk about architecture, requirements, and similar topics that focus on the software. What if the hard part was in the writing? To put it another way, what if we saw our jobs as programmers more in terms of communication--language--and less in terms of engineering?
Children learn to talk in their first years of life, and we start teaching them how to read and write when they are five or six years old. ! don't know any great writer who learned to read and write as an adult. Do you know any great programmer who learned to program late in life?
And if children can learn foreign languages much more easily than adults, what does this tell us about learning to program--an activity involving a new language?
Imagine that you are studying a foreign language and you don't know the name of an object. You can describe it with the words that you know, hoping someone will understand what you mean. Isn't this what we do every day with software? We describe the object we have in our mind with a programming language, hoping the description will be clear enough to the compiler or interpreter. If something doesn't work, we bring up the picture again in our mind and try to understand what we missed or misdescribed.
With these questions in mind, I chose to launch a series of investigations into why a programming language is created, how it's technically developed, how it's taught and learned, and how it evolves over time.
Shane and I had the great privilege to let 27 great designers guide us through our journey, so that we have been able to collect their wisdom and experience for you.
In Masterminds of Programming, you will discover some of the thinking and steps needed to build a successful language, what makes it popular, and how to approach the current problems that its programmers are facing. So if you want to learn more about successful programming language design, this book surely can help you.
If you are looking for inspiring thoughts regarding software and programming languages, you will need a highlighter, or maybe two, because I promise that you will find plenty of them throughout these pages.
--Federico Biancuzzi
Organization of the Material
The chapters in this book are ordered to provide a varied and provocative perspective as you travel through it. Savor the interviews and return often.
Chapter 1, C++, interviews Bjarne Stroustrup.
Chapter 2, Python, interviews Guido van Rossum.
Chapter 3, APL, interviews Adin D. Falkoff.
Chapter 4, Forth, interviews Charles H. Moore.
Chapter 5, BASIC, interviews Thomas E. Kurtz.
Chapter 6, AWK, interviews Alfred Aho, Peter Weinberger, and Brian Kernighan.
Chapter 7, Lua, interviews Luiz Henrique de Figueiredo and Roberto Ierusalimschy.
Chapter 8, Haskell, interviews Simon Peyton Jones, Paul Hudak, Philip Wadler, and John Hughes.
序言回到顶部↑
PROGRAMMING LANGUAGE DESIGN IS A FASCINATING TOPIC. There are so many programmers who think they can design a programming language better than one they are currently using; and there are so many researchers who believe they can design a programming language better than any that are in current use. Their beliefs are often justified, but few of their designs ever leave the designer's bottom drawer. You will not find them represented in this book.
Programming language design is a serious business. Small errors in a language design can be conducive to large errors in an actual program written in the language, and even small errors in programs can have large and extremely costly consequences. The vulnerabilities of widely used software have repeatedly allowed attack by malware to cause billions of dollars of damage to the world economy. The safety and security of programming languages is a recurrent theme of this book.
Programming language design is an unpredictable adventure. Languages designed for universal application, even when supported and sponsored by vast organisations, end up sometimes in just a niche market. In contrast, languages designed for limited or local use can win a broad clientele, sometimes in environments and for applications that their designers never dreamed of. This book concentrates on languages of the latter kind.
These successful languages share a significant characteristic: each of them is the brainchild of a single person or a small team of like-minded enthusiasts. Their designers are masterminds of programming; they have the experience, the vision, the energy, the persistence,and the sheer genius to drive the language through its initial implementation, through its evolution in the light of experience, and through its standardisation by usage (de facto)and by committee (de jure).
In this book the reader will meet this collection of masterminds in person. Each of them has granted an extended interview, telling the story of his language and the factors that lie behind its success. The combined role of good decisions and good luck is frankly acknowledged. And finally, the publication of the actual words spoken in the interview gives an insight into the personality and motivations of the designer, which is as fascinating as the language design itself.
--Sir Tony Hoare
Sir Tony Hoare, winner of an ACM Turing Award and a Kyoto Award, has been a leader in research into computing algorithms and programming languages for 50 years. His first academic paper, written in 1969, explored the idea of proving the correctness of programs, and suggested that a goal of programming language design was to make it easier to write correct programs. He is delighted to see the idea spread gradually among programming language designers.
Programming language design is a serious business. Small errors in a language design can be conducive to large errors in an actual program written in the language, and even small errors in programs can have large and extremely costly consequences. The vulnerabilities of widely used software have repeatedly allowed attack by malware to cause billions of dollars of damage to the world economy. The safety and security of programming languages is a recurrent theme of this book.
Programming language design is an unpredictable adventure. Languages designed for universal application, even when supported and sponsored by vast organisations, end up sometimes in just a niche market. In contrast, languages designed for limited or local use can win a broad clientele, sometimes in environments and for applications that their designers never dreamed of. This book concentrates on languages of the latter kind.
These successful languages share a significant characteristic: each of them is the brainchild of a single person or a small team of like-minded enthusiasts. Their designers are masterminds of programming; they have the experience, the vision, the energy, the persistence,and the sheer genius to drive the language through its initial implementation, through its evolution in the light of experience, and through its standardisation by usage (de facto)and by committee (de jure).
In this book the reader will meet this collection of masterminds in person. Each of them has granted an extended interview, telling the story of his language and the factors that lie behind its success. The combined role of good decisions and good luck is frankly acknowledged. And finally, the publication of the actual words spoken in the interview gives an insight into the personality and motivations of the designer, which is as fascinating as the language design itself.
--Sir Tony Hoare
Sir Tony Hoare, winner of an ACM Turing Award and a Kyoto Award, has been a leader in research into computing algorithms and programming languages for 50 years. His first academic paper, written in 1969, explored the idea of proving the correctness of programs, and suggested that a goal of programming language design was to make it easier to write correct programs. He is delighted to see the idea spread gradually among programming language designers.








点击看大图





加载中...

