黑客与画家
2016-04-14 11:52:02 16 举报
AI智能生成
为你推荐
查看更多
黑客与画家
作者其他创作
大纲/内容
黑客与画家
译者序
黑客行为
好玩
高智商
探索精神
1-4章(黑客的成长和看待世界的观点)
编程语言首要的特性应该是允许动态扩展
编程语言是用来帮你是写程序的,而不是用来表达你已经写好的程序
换位思考
程序写出来是给人看的,附带能在机器上运行
找“不能说的话”
5-9(章黑客怎样做出自己的成果)
10-15章(黑客的工具)
11、百年后的编程语言
存在一个进化的脉络
为了找到进化的主干
任何一种编程语言由两部分组成
基本运算符的集合(扮演公理的角色)
除运算符以外的其他部分(原则上可以用基本运算符表达出来)
思维没被当前使用的编程语言影响的情况下 去 写程序
10编程语言解析(有一张操作命令清单)
机器语言
机器语言加法命令11001101
汇编语言加法命令add
高级语言
开放源码
编译器处理的高级语言代码又叫做源码,它经过翻译以后产生的机器码就叫做目标码
语言战争
抽象性
安全带还是手铐?
防止程序员干蠢事(Java)
静态类型语言
动态类型语言
做程序员想做的任何事(Perl)
面向对象编程
计算二维图形面积
一种做法:用一整块代码判断遇到的是什么图形,然后再用相应的公式计算面积
面向对象:写出两个类,每个类中用方法计算出面积。使用时问要用哪一个类然后使用相应的方法求出答案
优点
增加代码,不修改程序的其他部分
缺点
性能不佳甚至有副作用的代码
文艺复兴
内核设计的不是很好,但有着无数强大的函数库(性能很差的汽车,车顶却绑着一个飞机发动机)
语言多样化
12、拒绝平庸
13、书呆子的复仇
各种编程语言的编程能力是不相同的
之所以设计Java就是想解决c++的一些弱点
Lisp语言
1.条件结构(if-then-else)
2.函数也是一种数据类型
3.递归
4.变量的动态类型
5.垃圾回收机制
6.程序由表达组成
7.符号类型
8.代码使用符号和常量组成的树形表示法
9.无论什么时候,整个语言都是可用的(不真正区分读取期、编译期、运行期)
14、梦寐以求的编程语言
语言流行因素
听说他人使用这种语言
我认为问题出在于什么是优秀的编程语言
一种语言必须是某一个流行的计算机系统的脚本语言,才会变得流行
简洁
可编程性
一次性程序
函数库
效率
时间
15、设计与研究
考虑用户的需求
理解编程语言
促进程序从无到有的一种媒介
弱即是强
0 条评论
回复 删除
下一页