现在学习汇编还有用吗?

不止一个人觉得汇编语言现在应用的场景太少了,还在学习这门苦涩的语言还有多大的意义,现在汇编语言有多大用途,在当前这个高级语言越来越重要的年代,学习C语言的都不多了,汇编的又有多少人还在学习。在底层语言越来越不受重视的时代,学习汇编语言到底还有多大的用处?

为什么还是很多人对汇编情有独钟?

1.了解汇编语言能更好的分析问题

虽然C语言已经很靠近底层了,但是在调试程序员的时候还会遇到一些无法直接解决的问题,汇编会是解决问题的最后一根稻草,曾经有个同事有事没事就喜欢研究代码到汇编层面,所以经常遇到程序员崩溃的底层问题,直接扔给他,很快就能定位到问题的关键。

在解决问题的过程中,从上层的高级语言一层层抽丝剥茧到最底层的汇编语言是一件很有意思的事情,因为计算机已经对你没有任何的隐瞒了,所以计算机内部的一些运行原理都能看得见,摸得着。出现大的系统的性能或者底层的隐晦的bug,有了汇编做支撑,解决问题的方案变得更加直白,当你遇到无法下手的问题,就知道汇编有多牛气了。

很多病毒都是汇编做的,而且检测病毒的很多手段都是采用汇编,所以在安全角度考虑,做安全杀毒掌握汇编语言也是必备。

2.掌握汇编语言在某些场景能很好的提升性能

做前端开发的可能对于javascript很熟悉,在复杂的页面动态交互非常多的,会导致性能的下降,JS里面复杂的运算底层从性能考虑,主要是加减乘除的运算直接采用汇编实现,所以在早期的浏览器的版本对接不同的平台,在JS引擎加速方面需要在对接汇编做很多的事情。

在嵌入式领域图形界面性能很影响用户的体验,为了达到最好的效果,一般会硬件加速,加速的方式很多,其中一种就是通过汇编直接调用cpu指令,提高效率,虽然使用的场景不是很多,但是提升效果极其明显。

3.能更好的了解计算机体系结构

如果电脑上装了两个系统,在开机的时候会让你选择进入哪个系统,选择的这个引导程序就是传说中的bootloader,计算机系统系统在启动之前需要有个程序引导下就是这玩意,这个程序大部分的代码是汇编搞定。主要功能初始化设备,建立内存映射,在软件和硬件之间建立一个载体,这些对于了解计算机系统结构有非常大的帮助,理论上越贴近底层越容易了解其内在的运行原理。

计算机系统了解的越彻底,越容易写出高质量的代码。

看到上面的三点,也就明白为啥汇编语言还是屹立不倒,任何语言的存在都有必然性。不见得汇编语言有多牛,但关键时候能帮上你。如果有机会能学到汇编就不要放过这种机会。

人工智能学习资料

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2018-04-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏重庆的技术分享区

IPv6部署如何影响物联网设备的安全性

原文地址:https://internetofthingsagenda.techtarget.com/feature/How-IPv6-deployment-a...

4346
来自专栏IT大咖说

微信支付大规模前端开发背后,如何用外包解决困境

摘要 业务高速发展离不开各种配套运营系统的高效建设,微信支付也不例外。在前端人力极其匮乏的条件下我们另辟蹊径,大规模引入外包团队协同作业,并且在如何保证效率和质...

4426

云原生应用程序:为什么,是什么和如何做

云原生是一种构建和运行应用程序的方法,可以利用云计算模式的优势 —— 按需计算的能力和即用即付的定价模式。这些应用程序是以云计算平台的快速响应为基础构建和部署的...

3557
来自专栏漫漫全栈路

R.I.P. :传统整体式架构 VS 微服务

我咨询了十几个微服务项目。有些人表示,微服务真棒(这是未来!),而有些人很沮丧(谁发明了这个废物?)

1422

云监控入门

原文作者:Angela Stringfellow

36011
来自专栏架构师小秘圈

1亿级PV网站架构演变

作者:叶军 来自:http://www.yejun.cn/?p=1154 一个网站就像一个人,存在一个从小到大的过程。养一个网站和养一个人一样,不同时期需要不...

5287
来自专栏北京马哥教育

25年Linux内核开发经历总结出来的九条经验

原文: 9 lessons from 25 years of Linux kernel development 作者:Greg Kroah-Hartman 翻译...

38211
来自专栏IT大咖说

手无寸铁,如何强硬又体面地落地中间件

内容来源:2017 年 12 月 03 日,找钢网资深架构师刘星辰在“IAS2017互联网架构峰会”进行《手无寸铁,如何强硬又体面地落地中间件》演讲分享。IT ...

1043
来自专栏CSDN技术头条

Linux创始人Linus Torvalds访谈,Git的十年之旅

十年前的这周,Linux kernel社区面临着艰巨的挑战。十年后的今天,Git用于成千上万个项目。在这十周年之际,Linux创始人Linus Torvalds...

2266
来自专栏SDNLAB

SDN实战团分享(十四):网络设备自动化遇到的问题与思考

我一直是做网络的,而且是大家常说的物理网工。 干了16年。虽然,刚刚毕业哪会干了几年的DBA 和SA 的工作。后来就一直在做网络。 企业网,城域网,骨干网都算是...

3896

扫码关注云+社区

领取腾讯云代金券