Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

structure and interpretation of computer programs PDF 下载


分享到:
时间:2021-07-08 08:04来源:http://www.java1234.com 作者:转载  侵权举报
structure and interpretation of computer programs PDF 下载
失效链接处理
structure and interpretation of computer programs  PDF 下载

本站整理下载:
提取码:owgw 
 
 
相关截图:
 
主要内容:
A computer is like a violin. You can imagine a novice
trying first a phonograph and then a violin. The latter, he
says, sounds terrible. That is the argument we have heard
from our humanists and most of our computer scientists.
Computer programs are good, they say, for particular
purposes, but they aren't flexible. Neither is a violin, or a
typewriter, until you learn how to use it. 
Marvin Minsky, ``Why Programming Is a Good
Medium for Expressing Poorly-Understood and SloppilyFormulated Ideas'' 
``The Structure and Interpretation of Computer Programs'' is the entry-level subject in computer
science at the Massachusetts Institute of Technology. It is required of all students at MIT who major
in electrical engineering or in computer science, as one-fourth of the ``common core curriculum,''
which also includes two subjects on circuits and linear systems and a subject on the design of digital
systems. We have been involved in the development of this subject since 1978, and we have taught
this material in its present form since the fall of 1980 to between 600 and 700 students each year.
Most of these students have had little or no prior formal training in computation, although many
have played with computers a bit and a few have had extensive programming or hardware-design
experience. 
Our design of this introductory computer-science subject reflects two major concerns. First, we
want to establish the idea that a computer language is not just a way of getting a computer to
perform operations but rather that it is a novel formal medium for expressing ideas about
methodology. Thus, programs must be written for people to read, and only incidentally for
machines to execute. Second, we believe that the essential material to be addressed by a subject at
this level is not the syntax of particular programming-language constructs, nor clever algorithms for
computing particular functions efficiently, nor even the mathematical analysis of algorithms and the
foundations of computing, but rather the techniques used to control the intellectual complexity of
large software systems. 
Our goal is that students who complete this subject should have a good feel for the elements of style
and the aesthetics of programming. They should have command of the major techniques for
controlling complexity in a large system. They should be capable of reading a 50-page-long
program, if it is written in an exemplary style. They should know what not to read, and what they
need not understand at any moment. They should feel secure about modifying a program, retaining
the spirit and style of the original author. 
These skills are by no means unique to computer programming. The techniques we teach and draw
upon are common to all of engineering design. We control complexity by building abstractions that
hide details when appropriate. We control complexity by establishing conventional interfaces that
enable us to construct systems by combining standard, well-understood pieces in a ``mix and
match'' way. We control complexity by establishing new languages for describing a design, each of
which emphasizes particular aspects of the design and deemphasizes others. 
Underlying our approach to this subject is our conviction that ``computer science'' is not a science

 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐