不止一个人觉得汇编语言现在应用的场景太少了,还在学习这门苦涩的语言还有多大的意义,现在汇编语言有多大用途,在当前这个高级语言越来越重要的年代,学习C语言的都不多了,汇编的又有多少人还在学习。在底层语言越来越不受重视的时代,学习汇编语言到底还有多大的用处?
为什么还是很多人对汇编情有独钟?
虽然C语言已经很靠近底层了,但是在调试程序员的时候还会遇到一些无法直接解决的问题,汇编会是解决问题的最后一根稻草,曾经有个同事有事没事就喜欢研究代码到汇编层面,所以经常遇到程序员崩溃的底层问题,直接扔给他,很快就能定位到问题的关键。
在解决问题的过程中,从上层的高级语言一层层抽丝剥茧到最底层的汇编语言是一件很有意思的事情,因为计算机已经对你没有任何的隐瞒了,所以计算机内部的一些运行原理都能看得见,摸得着。出现大的系统的性能或者底层的隐晦的bug,有了汇编做支撑,解决问题的方案变得更加直白,当你遇到无法下手的问题,就知道汇编有多牛气了。
很多病毒都是汇编做的,而且检测病毒的很多手段都是采用汇编,所以在安全角度考虑,做安全杀毒掌握汇编语言也是必备。
做前端开发的可能对于javascript很熟悉,在复杂的页面动态交互非常多的,会导致性能的下降,JS里面复杂的运算底层从性能考虑,主要是加减乘除的运算直接采用汇编实现,所以在早期的浏览器的版本对接不同的平台,在JS引擎加速方面需要在对接汇编做很多的事情。
在嵌入式领域图形界面性能很影响用户的体验,为了达到最好的效果,一般会硬件加速,加速的方式很多,其中一种就是通过汇编直接调用cpu指令,提高效率,虽然使用的场景不是很多,但是提升效果极其明显。
如果电脑上装了两个系统,在开机的时候会让你选择进入哪个系统,选择的这个引导程序就是传说中的bootloader,计算机系统系统在启动之前需要有个程序引导下就是这玩意,这个程序大部分的代码是汇编搞定。主要功能初始化设备,建立内存映射,在软件和硬件之间建立一个载体,这些对于了解计算机系统结构有非常大的帮助,理论上越贴近底层越容易了解其内在的运行原理。
计算机系统了解的越彻底,越容易写出高质量的代码。
看到上面的三点,也就明白为啥汇编语言还是屹立不倒,任何语言的存在都有必然性。不见得汇编语言有多牛,但关键时候能帮上你。如果有机会能学到汇编就不要放过这种机会。