V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
enm
V2EX  ›  程序员

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

  •  
  •   enm · 2018-05-03 10:34:29 +08:00 · 2392 次点击
    这是一个创建于 2397 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    • 经典书籍,但稍显过时

    BUILD AN 8-BIT COMPUTER FROM SCRATCH

    • 直观的现代视频,但解释得不如 Code

    Learning to Read x86 Assembly Language - Pat Shaughnessy

    Compiler Explorer

    • 汇编没必要深入,能读懂、了解怎么从编程语言到汇编再到机器语言即可

    Instruction set architecture - Wikiwand

    • 软件与硬件的桥接点

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

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

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

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

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

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

    高级语言在适当情况下还原成汇编,才是有意义的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2530 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 00:19 · PVG 08:19 · LAX 16:19 · JFK 19:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.