如何象计算机专家一样思考:学习Python 前言
来源:互联网 发布:苹果mac系统怎么用 编辑:程序博客网 时间:2024/06/05 11:27
Foreword
By David Beazley
As an educator, researcher, and book author, I am delighted to see the completion of this book. Python is a fun and extremely easy-to-use programming language that has steadily gained in popularity over the last few years. Developed over ten years ago by Guido van Rossum, Python's simple syntax and overall feel is largely derived from ABC, a teaching language that was developed in the 1980's. However, Python was also created to solve real problems and it borrows a wide variety of features from programming languages such as C++, Java, Modula-3, and Scheme. Because of this, one of Python's most remarkable features is its broad appeal to professional software developers, scientists, researchers, artists, and educators.
Python来历,发展及其重要特性
Despite Python's appeal to many different communities, you may still wonder "why Python?" or "why teach programming with Python?" Answering these questions is no simple task especially when popular opinion is on the side of more masochistic alternatives such as C++ and Java. However, I think the most direct answer is that programming in Python is simply a lot of fun and more productive.
学习Python的原因:使用Python编程更有趣并快速开发.
When I teach computer science courses, I want to cover important concepts in addition to making the material interesting and engaging to students. Unfortunately, there is a tendency for introductory programming courses to focus far too much attention on mathematical abstraction and for students to become frustrated with annoying problems related to low-level details of syntax, compilation, and the enforcement of seemingly arcane rules. Although such abstraction and formalism is important to professional software engineers and students who plan to continue their study of computer science, taking such an approach in an introductory course mostly succeeds in making computer science boring. When I teach a course, I don't want to have a room of uninspired students. I would much rather see them trying to solve interesting problems by exploring different ideas, taking unconventional approaches, breaking the rules, and learning from their mistakes. In doing so, I don't want to waste half of the semester trying to sort out obscure syntax problems, unintelligible compiler error messages, or the several hundred ways that a program might generate a general protection fault.
One of the reasons why I like Python is that it provides a really nice balance between the practical and the conceptual. Since Python is interpreted, beginners can pick up the language and start doing neat things almost immediately without getting lost in the problems of compilation and linking. Furthermore, Python comes with a large library of modules that can be used to do all sorts of tasks ranging from web-programming to graphics. Having such a practical focus is a great way to engage students and it allows them to complete significant projects. However, Python can also serve as an excellent foundation for introducing important computer science concepts. Since Python fully supports procedures and classes, students can be gradually introduced to topics such as procedural abstraction, data structures, and object-oriented programming all of which are applicable to later courses on Java or C++. Python even borrows a number of features from functional programming languages and can be used to introduce concepts that would be covered in more detail in courses on Scheme and Lisp.
选择Python的理由:使用性和概念化.
In reading Jeffrey's preface, I am struck by his comments that Python allowed him to see a "higher level of success and a lower level of frustration" and that he was able to "move faster with better results." Although these comments refer to his introductory course, I sometimes use Python for these exact same reasons in advanced graduate level computer science courses at the University of Chicago. In these courses, I am constantly faced with the daunting task of covering a lot of difficult course material in a blistering nine week quarter. Although it is certainly possible for me to inflict a lot of pain and suffering by using a language like C++, I have often found this approach to be counterproductive especially when the course is about a topic unrelated to just "programming." I find that using Python allows me to better focus on the actual topic at hand while allowing students to complete substantial class projects.
Python的优势:move faster with better results
Although Python is still a young and evolving language, I believe that it has a bright future in education. This book is an important step in that direction.
展望
David Beazley
University of Chicago
Author of the Python Essential Reference
- 如何象计算机专家一样思考:学习Python 前言
- 如何象计算机专家一样思考:学习Python --序
- 如何象计算机专家一样思考:学习Python--第一章
- 1.1 什么是编程语言:如何像计算机专家一样思考(C++版)
- 1.1 什么是编程语言:如何像计算机专家一样思考(C++版
- 像计算机科学家一样思考Python pdf
- 像专家一样思考
- 如何像计算机科学家一样思考
- 像计算机一样思考
- 如何象Google一样开会
- 如何象人一样活着
- 读《象程序员一样思考》的感悟
- 如何像计算机科学家一样思考(书摘)
- 计算机一样思考的大脑是如何练成的
- 像专家一样思考,像专家一样实践
- 《像外行一样思考,像专家一样实践》
- 像外行一样思考,像专家一样实践
- 像外行一样思考,像专家一样实践(读书笔记)
- 用户层下拦截系统api的原理与实现
- 2006-4-14(炸弹人开发日志)
- 一个网格计算的构想
- Web技术的历史
- 《代码大全》解读(三)
- 如何象计算机专家一样思考:学习Python 前言
- 安装ANT
- 如何象计算机专家一样思考:学习Python --序
- 搞不定Virtual PC + Linux了...
- cisco voip配置
- Cisco 路由器VOIP 配置解析
- cisco 3640 voip配置实例解析
- 隐藏任意进程,目录/文件,注册表,端口
- 制作最完美的GHOST纯净稳定版详细档案