高智编程语言.1 参考学习资料

2018-05-03 10:34:29 +08:00
 enm

为了帮助少数 hacker 或高智的新程序员更好地理解我正在写的语言,这里推荐几个学习资料。

之所以只有几个,是因为真知就那么多,其它都是些低智的人弄出来的糟粕。

Code: The Hidden Language of Computer Hardware and Software, by Charles Petzold

BUILD AN 8-BIT COMPUTER FROM SCRATCH

Learning to Read x86 Assembly Language - Pat Shaughnessy

Compiler Explorer

Instruction set architecture - Wikiwand


那么为什么要学习底层语言?

  1. 能够更彻底地理解源代码实际上会怎么运行。
  2. 避免被莫须有的东西误导,比如 Class,在底层根本没有对应的指令,本质上不过是一个构造 function,根本没必要单独弄出来,除了让编程变得更低智之外毫无用处。

为什么不学习更底层的知识?

  1. 没办法理解,到了电子乃至量子层面,即使最先进的科学也还在研究,甚至人脑可能永远无法完全理解。
  2. 没办法改变,软件再怎么写也不可能改变硬件,所以除非你开始做硬件,否则没必要学习比 ISA 还底层的东西。
2276 次点击
所在节点    程序员
6 条回复
mypchas6fans
2018-05-03 11:44:39 +08:00
你可以说别人糟粕,但是请露两手让大家看看。
请开始你的表演。
enm
2018-05-03 11:56:22 +08:00
@mypchas6fans 麻烦你先露半手看看
MeteorCat
2018-05-03 13:15:54 +08:00
数据结构我感觉必修的
虽然计算机科学和高等数学有所差异,但是我感觉两者其实有的是相交
目前所有的语言都是建立在现有的数据结构上面,夯实这种基础无论任何方面有所脾益
但是这个上升过程是十分陡峭的,还有对于`糟粕`是要根据时代背景来决定的,很多人没有考虑到那么长远,现在的`糟粕`也能是当年遗留的妥协产物,这种`糟粕`给我们提醒了我们以后处理需要怎么规避这种问题,并不是完全毫无价值的
wizardforcel
2018-05-03 14:29:28 +08:00
硬件的一部分(软核,固核)也是软件定义的。

verilog 和 fpga 了解一下。。
mypchas6fans
2018-05-03 14:32:06 +08:00
@enm 我没说自己是高手,我甚至没说你是什么水平,因为我不能确定。
你既然自信满满,为什么不是你秀出来让大家佩服一下,反倒要我来?

前一个帖子也有人说了,嘴炮无用
wizardforcel
2018-05-03 14:32:34 +08:00
你难道没听说过”一层抽象可以解决任何东西”嘛。汇编语言抽象成高级语言就是为了解决开发效率问题,不要在思考的时候还原回去。

高级语言在适当情况下还原成汇编,才是有意义的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/451662

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX