黑客与画家
[美] 保罗·格雷厄姆
知名程序员,风险投资家
744 人已学习
立即订阅
登录后,你可以任选4讲全文学习
推荐试读
换一换
免费
时长 37:50
时长 43:01
课程目录
已完结/共 32 讲
时长 00:02
时长 05:58
时长 13:44
时长 00:45
时长 06:10
时长 37:50
时长 43:01
时长 15:05
时长 01:17:28
时长 52:14
时长 28:24
时长 32:36
时长 18:22
时长 27:18
时长 37:31
时长 16:08
时长 04:12
时长 36:08
时长 01:07
时长 00:38
黑客与画家
15
15
1.0x
00:00/00:00
登录|注册

10 编程语言解析

所有机器都有一张操作命令清单,让你可以控制它。有时这个清单非常简短。电水壶就只允许两种操作:打开和关闭。CD 播放器稍微复杂点,除了打开和关闭以外,还能调节音量、播放、暂停、快进、快退和随机播放等。
计算机和其他机器一样,也有一张操作命令清单。比如,可以命令计算机把两个数相加。这种操作命令的总和就是计算机的机器语言。

机器语言

在计算机刚被发明的时候,所有程序就是一条条机器语言的命令。没过多久,程序就改成使用汇编语言了,它要比机器语言写起来稍微方便一点。命令清单还是一样的,就是每个命令换了一个更人性化的名字。机器语言的加法命令是 11001101,这可能就是计算机内部的加法表达方式,但是在汇编语言中,这条命令就改成了add
机器语言和汇编语言的共同问题就是,只能让大多数计算机做一些很简单的事情。假定你想让计算机的蜂鸣器响 10 次,但是不存在一条直接的机器语言命令让计算机重复进行n次操作,所以只能用机器语言写出下面这样的程序:
a 将数字10存入内存地址0
如果内存地址0的值为负数,跳到b
蜂鸣器发出声音
将内存地址0的值减1
跳到a
b ……程序的其他部分……
如果只是为了让蜂鸣器响 10 次就不得不写这么多代码,不难想象写出一个文字处理器或电子表格将是一项多么浩大的工程。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

编程语言的发展历程和现状展现了技术的不断进步,从机器语言到高级语言的演进使编程变得更加便捷和灵活。高级语言的强大命令使程序更简洁易读,也更具可移植性。开放源码的软件增强了软件的可控性和可靠性。大多数程序员现在使用高级语言编程,而不同的高级语言适用于不同的开发需求。文章还提到了开放源码的优势,以及程序员对于不同语言的偏好和争论。高级语言比汇编语言更接近人类语言,而某些高级语言又比其他语言更进一步。抽象能力强的语言有可能走错方向,而低层次语言则更关注效率问题。语言设计者之间的分歧在于,有些人认为编程语言应该防止程序员干蠢事,另一些人则认为程序员应该可以用编程语言干一切他们想干的事。静态类型语言与动态类型语言之争、面向对象编程等也是当前热点争论。最近出现了很多新的编程语言,这种现象被称为“编程语言的文艺复兴”,并且导致了语言的多样化。文章指出,程序员活在这个文艺复兴时代可能是一件好事,因为如果所有人都使用同一种编程语言,反而可能是坏事。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《黑客与画家》
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部