http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=free&kind=1220&qkSg=2&qID=10793&readSg=1
内容:
几日前,在一位仁兄的blog里看到如下一番话:其实我发现中国的教育还是有很大问题的,你们得让你们的学生认识到这门课的作用啊,有些师兄说到出去工作了才发现汇编的作用。
我觉得值得庆幸的是这位仁兄在在校期间的学习中及时地意识到了汇编的重要性,并做出了正确的选择。然而这位仁兄提到的“老师没有让学生认识到汇编的重要性”和“有些师兄工作了才发现汇编的重要性”这些在计算机专业教育中存在的客观事实,再次让我心情沉重!
为了让更多的计算机学习者意识汇编语言的重要性,我就抛砖引玉,发表一下对汇编语言的理解,希望能够让更多的计算机技术的学习者对汇编语言的作用有一个正确的认识。
1.汇编语言
汇编语言是最接近于机器语言的编程语言。如果说机器语言是计算机操作的本质,那么汇编语言就是最最接近本质的语言。汇编语言操作直接面向硬件,所以,我们在使用汇编语言的时候,我们能够感知计算机的运行过程和原理,从而能够对计算机硬件和应用程序之间的联系和交互形成一个清晰的认识。这也是最能够锻炼编程者编程思维逻辑的,只有这样,学习者才能形成一个软、硬兼备的编程知识体系,这是任何高级语言都无法给予的!相对于繁复的高级语言,汇编语言指令集合更简约,指令操作更直接,从汇编开始学习更符合循序渐进的学习原理!所以,对于计算机技术初学者或者自学者,汇编语言重要性无可替代!
2.汇编语言之于高级语言
不否认,在应用层面,高级语言占据了软件开发市场的绝大部分。也正是这种现象,误导了学习者,甚者是教育者!所以目前高校计算机专业的现状是:专业课程中C语言,C++,java等高级语言一应俱全,而毕业的学生却连简单的程序都不能编写。为什么?听不懂,学不会!这就是缺乏基础造成的!
汇编语言才是计算机技术的基础,而不是常说的C语言。之所以说汇编重要,其一个重要的原因就是,汇编语言能够让你更好的理解高级语言,尤其是高级语言中的C语言。汇编语言对于内存的操作都是基于内存地址的,而C语言中最令人头疼的指针概念,说白了就是内存的地址。指针的学习和应用中最头疼的就是在指针这个抽象的概念和实际的内存单元之间建立思维映射,而这些恰恰是我们在汇编语言学习中频繁做的一件平常事。另外,对于C语言中的数据类型、形参实参、函数调用、全局变量、局部变量等概念及操作,我们都可以用汇编语言中的一些操作相关联,把这些抽象的概念和过程,通过汇编语言形成一个具体的映像,深度剖析,这样我们才能真正的学会、学好C语言。
有了汇编和C的基础,那些所谓的面向对象的语言学习起来就更为顺畅了!奉劝那些好高骛远的学习者,踏踏实实的从汇编开始吧,古云:磨刀不误砍柴工啊!
3.汇编语言之于应用
很多学习者放弃对于汇编语言的学习,是因为高级语言的开发更容易找到工作。这个理由也是我见到过的最现实的。但是,这里面明显存在着认识误区!
首先,我们的学习是一个系统过程,我们的知识结构不是一个单一课程所能够建立的。所以,学习汇编的目的并不是非要用汇编去挣饭钱。因为汇编语言对于一个编程人员所应该具备的基本素质的培养和形成得意义是非常重大的!这在前文中已经分析了,不再赘述!
其次,汇编本身也是很重要的应用技术。由于学习者,尤其是在校的学生,平时接触的最多的是纯软件的东西,所以,觉得五花八门的软件才是计算机技术应用的舞台。那么这些人最终会成为那位博主提到的那些工作后才意识到汇编的作用的“师兄”!汇编的操作由于跟硬件紧密相关,所以,很多硬件设施的嵌入式编程使用的都是使用的汇编语言,因为汇编语言更直接,更有效率!我们现在的数码产品很多,而这些数码产品赖以生存的芯片,主板等,都包含了嵌入式程序,而这些程序中,汇编语言的使用是相当重要的!
为了工作放弃汇编,得失自明啊!
很激动地写了上面这些,目的只有一个:让更多的学习者认识到汇编语言在计算机技术学习中的重要性!
37 个解决方案
#1
你是哪个网站的站长吗?你上个帖子还没有结呢。做一个好的程序员未必就必须学好汇编。
#2
虽然寡人精通数门汇编语言(80x86, ARM, PowerPC, SPARC),但凡是不搞绝对化,一切视需要而定。冷静!
#3
会编不汇编
汇编不会遍
会不会汇编
不会编汇编
……
#4
oo
#5
why?
#6
虽然寡人精通数门汇编语言(80x86, ARM, PowerPC, SPARC),但凡是不搞绝对化,一切视需要而定。冷静!
--
月薪20k ,很厉害
--
月薪20k ,很厉害
#7
汇编确实值得学习
#8
好的程序员汇编必须了解,至少要能大概看懂.
#9
* Supper_Jerry
发表于:2008-02-27 15:22:221楼 得分:0
你是哪个网站的站长吗?你上个帖子还没有结呢。做一个好的程序员未必就必须学好汇编。
-----------------------------------
合格的程序员就应该熟悉汇编
发表于:2008-02-27 15:22:221楼 得分:0
你是哪个网站的站长吗?你上个帖子还没有结呢。做一个好的程序员未必就必须学好汇编。
-----------------------------------
合格的程序员就应该熟悉汇编
#10
合格的程序员就应该熟悉汇编
---------
未必
---------
未必
#11
* iozeng
* iozeng
* 等 级:
发表于:2008-02-27 19:49:3010楼 得分:0
合格的程序员就应该熟悉汇编
---------
未必
-------------------
你学过没?
* iozeng
* 等 级:
发表于:2008-02-27 19:49:3010楼 得分:0
合格的程序员就应该熟悉汇编
---------
未必
-------------------
你学过没?
#12
我想学计算机微指令
#13
汇编不只是一种语言,你可以叫汇编语言们。自从dmr设计C语言后,汇编语言们就退出了历史的舞台。阿ken和dmr用C改写UNIX时,拉响了汇编语言们走向消亡的号角。
#14
mark
#15
发表于:2008-02-27 19:49:3010楼 得分:0
合格的程序员就应该熟悉汇编
---------
未必
-------------------
你学过没?
----------
不好意思,我还真学过。而且还不是很差。但我并不觉得有太大用处,本人目前主要用C做Unix后台开发。再说即使我没学过就不能发表言论了?
合格的程序员就应该熟悉汇编
---------
未必
-------------------
你学过没?
----------
不好意思,我还真学过。而且还不是很差。但我并不觉得有太大用处,本人目前主要用C做Unix后台开发。再说即使我没学过就不能发表言论了?
#16
hehe
#17
合格的程序员,是选用最合适的语言高质高效的实现客户所需的功能。不在乎用什么语言。比如用Java做Web企业应用,你认为他们学汇编有多大实际意义?有那时间和经历还不如去了解企业业务流程。
#18
汇编还是很好用的,就是不会用
#19
* iozeng
* iozeng
* 等 级:
发表于:2008-02-28 09:46:1215楼 得分:0
不好意思,我还真学过。而且还不是很差。但我并不觉得有太大用处,本人目前主要用C做Unix后台开发。再说即使我没学过就不能发表言论了?
----------------------------
觉得没太大用处还说学得不差?别学校那本16位汇编学学考试了就觉得算是好...
提给我提C做UNIX后台开发,那个和水平不相关.
再说即使我没学过就不能发表言论了?
----------------------------
作为一个技术人员,说话要严谨,我说有用,是因为我学过,我体会到了有用的地方.
而你如果没学,没体会过,就说没用,那的确让人无法信服.
* iozeng
* 等 级:
发表于:2008-02-28 09:46:1215楼 得分:0
不好意思,我还真学过。而且还不是很差。但我并不觉得有太大用处,本人目前主要用C做Unix后台开发。再说即使我没学过就不能发表言论了?
----------------------------
觉得没太大用处还说学得不差?别学校那本16位汇编学学考试了就觉得算是好...
提给我提C做UNIX后台开发,那个和水平不相关.
再说即使我没学过就不能发表言论了?
----------------------------
作为一个技术人员,说话要严谨,我说有用,是因为我学过,我体会到了有用的地方.
而你如果没学,没体会过,就说没用,那的确让人无法信服.
#20
作为一个技术人员,说话要严谨,我说有用,是因为我学过,我体会到了有用的地方.
而你如果没学,没体会过,就说没用,那的确让人无法信服.
---------
你觉得有用,不代表就对所有人有用。剪刀粉笔是裁缝必备,但是厨师不一定要用。
我第一份工作主要做硬件检测编程,少不了汇编,吃饭的工具之一,但我也不觉得汇编就是“合格的程序员必须”。你做偏硬件或底层还勉强用的到汇编,如果是做UI,Web,汇编有什么用?不是所有程序员都需要通过汇编去了解什么X86体系结构,说到底,汇编也好,计算机也好,只是一个工具。
按你的说法,“合格的程序员就应该熟悉汇编 ”,那可以反推:只要不熟悉汇编,就不是合格的程序员。那我估计程序员合格率10%都不到了。这个观点实在不敢苟同。
而你如果没学,没体会过,就说没用,那的确让人无法信服.
---------
你觉得有用,不代表就对所有人有用。剪刀粉笔是裁缝必备,但是厨师不一定要用。
我第一份工作主要做硬件检测编程,少不了汇编,吃饭的工具之一,但我也不觉得汇编就是“合格的程序员必须”。你做偏硬件或底层还勉强用的到汇编,如果是做UI,Web,汇编有什么用?不是所有程序员都需要通过汇编去了解什么X86体系结构,说到底,汇编也好,计算机也好,只是一个工具。
按你的说法,“合格的程序员就应该熟悉汇编 ”,那可以反推:只要不熟悉汇编,就不是合格的程序员。那我估计程序员合格率10%都不到了。这个观点实在不敢苟同。
#21
一个合格的程序员还是有必要了解一下汇编的。
做房子的人,你不了解土质和地下水,就不可能做出安全的房子。做程序员如果对你工作的平台一无所知,很难说可以做出好的代码。要了解工作平台,绕不开的需要了解一下芯片,要了解一款芯片,绕不开的要去了解它的汇编。你未必要用汇编去写代码,但是你至少要知道有多少个寄存器,有多少个中断源,有多少个运行级别,等等,你知道了这些也就差不多对这个平台的汇编有所了解了。
有的人本身就不是做房子的,只是做装修,就好像是写各种应用的,操作系统屏蔽了大多数东西。但是做装修,你也需要知道房子哪堵墙是承重的,不能敲。做应用,在调试的时候,会发现知道汇编要方便很多。
同样是做装修,有的人只管刷油漆,比如做WEB,那就无所谓了,地基和房屋构架离工作实在太远,那的确不需要去了解这些东西。
我不认为在学习过程中需要去了解所有芯片的汇编,实际上它们都有着很多相似点。比较常见的,你选一样,无论是ARM,MIPS还是X86。以后用到什么平台,你去看它的data sheet,做一些代码之后,自然会了解它的汇编。
做什么东西,不光是要了解这个东西本身,还有它的基础,也就是它下面那一层:做系统的需要了解一些电路;做应用的需要了解一些汇编和操作系统;做JAVA的需要了解一些虚拟机原理;我想这应该是一贯的道路。
做房子的人,你不了解土质和地下水,就不可能做出安全的房子。做程序员如果对你工作的平台一无所知,很难说可以做出好的代码。要了解工作平台,绕不开的需要了解一下芯片,要了解一款芯片,绕不开的要去了解它的汇编。你未必要用汇编去写代码,但是你至少要知道有多少个寄存器,有多少个中断源,有多少个运行级别,等等,你知道了这些也就差不多对这个平台的汇编有所了解了。
有的人本身就不是做房子的,只是做装修,就好像是写各种应用的,操作系统屏蔽了大多数东西。但是做装修,你也需要知道房子哪堵墙是承重的,不能敲。做应用,在调试的时候,会发现知道汇编要方便很多。
同样是做装修,有的人只管刷油漆,比如做WEB,那就无所谓了,地基和房屋构架离工作实在太远,那的确不需要去了解这些东西。
我不认为在学习过程中需要去了解所有芯片的汇编,实际上它们都有着很多相似点。比较常见的,你选一样,无论是ARM,MIPS还是X86。以后用到什么平台,你去看它的data sheet,做一些代码之后,自然会了解它的汇编。
做什么东西,不光是要了解这个东西本身,还有它的基础,也就是它下面那一层:做系统的需要了解一些电路;做应用的需要了解一些汇编和操作系统;做JAVA的需要了解一些虚拟机原理;我想这应该是一贯的道路。
#22
楼上的兄弟,你也承认“做WEB,UI,跟地基差的太远,不需要了解这些东西”,为什么又说“一个合格的程序员还是必要了解汇编”?我觉得一个合格的上层程序员不了解汇编也是很正常的。
#23
我说的是:一个合格的程序员还是
有必要了解一下汇编的。有必要而已。
至于做WEB的人,其一,相对于整个程序员来说还是少。
其二,即使说做WEB的,对汇编了解一些也没什么坏处。就好像做手机UI的人未必需要了解GSM,但是假如一无所知,还是有点说不过去,恐怕自己都不好意思说自己是做手机的。
至于做WEB的人,其一,相对于整个程序员来说还是少。
其二,即使说做WEB的,对汇编了解一些也没什么坏处。就好像做手机UI的人未必需要了解GSM,但是假如一无所知,还是有点说不过去,恐怕自己都不好意思说自己是做手机的。
#24
* iozeng
* iozeng
* 等 级:
你觉得有用,不代表就对所有人有用。剪刀粉笔是裁缝必备,但是厨师不一定要用。
我第一份工作主要做硬件检测编程,少不了汇编,吃饭的工具之一,但我也不觉得汇编就是“合格的程序员必须”。你做偏硬件或底层还勉强用的到汇编,如果是做 UI,Web,汇编有什么用?不是所有程序员都需要通过汇编去了解什么X86体系结构,说到底,汇编也好,计算机也好,只是一个工具。
按你的说法,“合格的程序员就应该熟悉汇编 ”,那可以反推:只要不熟悉汇编,就不是合格的程序员。那我估计程序员合格率10%都不到了。这个观点实在不敢苟同。
-----------------------------------
我说的是合适的程序员,不思上进的程序员不合适,在我看来现在程序员合格率本来就不到10%.
熟悉汇编不是说要用汇编写程序,了解汇编是为了更方便的了解计算机体系,比如你用C,如果不了解内存如何组织,语句会被编译成什么样子,如何优化?如何写出安全的代码?
除了汇编,数据结构和算法,编译原理等也是合适的程序员应该掌握的.
就算是做WEB的,了解汇编和计算机组成更有利于他了解自己所使用的语言.
* iozeng
* 等 级:
你觉得有用,不代表就对所有人有用。剪刀粉笔是裁缝必备,但是厨师不一定要用。
我第一份工作主要做硬件检测编程,少不了汇编,吃饭的工具之一,但我也不觉得汇编就是“合格的程序员必须”。你做偏硬件或底层还勉强用的到汇编,如果是做 UI,Web,汇编有什么用?不是所有程序员都需要通过汇编去了解什么X86体系结构,说到底,汇编也好,计算机也好,只是一个工具。
按你的说法,“合格的程序员就应该熟悉汇编 ”,那可以反推:只要不熟悉汇编,就不是合格的程序员。那我估计程序员合格率10%都不到了。这个观点实在不敢苟同。
-----------------------------------
我说的是合适的程序员,不思上进的程序员不合适,在我看来现在程序员合格率本来就不到10%.
熟悉汇编不是说要用汇编写程序,了解汇编是为了更方便的了解计算机体系,比如你用C,如果不了解内存如何组织,语句会被编译成什么样子,如何优化?如何写出安全的代码?
除了汇编,数据结构和算法,编译原理等也是合适的程序员应该掌握的.
就算是做WEB的,了解汇编和计算机组成更有利于他了解自己所使用的语言.
#25
iozeng
-----------------
如果你想在技术上有所为,建议你做几件事
熟悉汇编,学编译原理,自己设计一个简单的语言,实现它的编译器.
做的过程中会让你对语言本质有重新的认识,一些语言的语法语义为什么要这么设计,会有自己的感受.
-----------------
如果你想在技术上有所为,建议你做几件事
熟悉汇编,学编译原理,自己设计一个简单的语言,实现它的编译器.
做的过程中会让你对语言本质有重新的认识,一些语言的语法语义为什么要这么设计,会有自己的感受.
#26
嘎哈用地啊?
#27
我说的是合适的程序员,不思上进的程序员不合适,在我看来现在程序员合格率本来就不到10%.
=============================================================================
你说的程序员是什么范围?全世界?
程序员是否合格是依靠什么来判断的?会多少语言?还是会特定的语言(如:汇编)?
你会说中文吗?知道它的原理吗,知道它为什么这么发音?
我是不是可以说你还不会说话,好好学着点
忒反感某些人的嘴脸
=============================================================================
你说的程序员是什么范围?全世界?
程序员是否合格是依靠什么来判断的?会多少语言?还是会特定的语言(如:汇编)?
你会说中文吗?知道它的原理吗,知道它为什么这么发音?
我是不是可以说你还不会说话,好好学着点
忒反感某些人的嘴脸
#28
* royeleo
* 煨灶猫||(只要一颗★)
* 等 级:
忒反感某些人的嘴脸
-------------
请继续反感 :-)
* 煨灶猫||(只要一颗★)
* 等 级:
忒反感某些人的嘴脸
-------------
请继续反感 :-)
#29
你会说中文吗?知道它的原理吗,知道它为什么这么发音?
我是不是可以说你还不会说话,好好学着点
---------------------------------
另外你的类比不合适,我本来就不是研究中文的,如果我研究中文,我肯定会去了解这些.
想反驳请严谨些.
我是不是可以说你还不会说话,好好学着点
---------------------------------
另外你的类比不合适,我本来就不是研究中文的,如果我研究中文,我肯定会去了解这些.
想反驳请严谨些.
#30
如果你想在技术上有所为,建议你做几件事
熟悉汇编,学编译原理,自己设计一个简单的语言,实现它的编译器.
做的过程中会让你对语言本质有重新的认识,一些语言的语法语义为什么要这么设计,会有自己的感受.
----------
谢谢建议。我本人喜欢研究算法,也喜欢研究“为什么”,但我还是不认为一个合格的程序员就必须做这些。例如假设我用PHP,ASP做Web界面,虽然我并不懂得PHP怎么解析,Apache服务器体系结构,但我做的页面美观,易用,清爽,这就是合格甚至优秀的程序员。反过来你即使连Apache每一步都清楚,但是页面根本就混乱不堪,控件摆放不合理,这也不能算合格。说到底,不同行业不痛要求,没必要把自己要求强加在别人头上。什么叫合格的程序员?写的程序能帮助用户解决实际问题,就是合格的程序员。
我说的是合适的程序员,不思上进的程序员不合适,在我看来现在程序员合格率本来就不到10%.
----------
什么叫“不思进取”?假设有两个程序员,一个专心研究技术,汇编,体系,算法等;另一个发现自己不适合,对汇编一看就头痛,转行做业务或销售,恐怕十五年后后者更可能成功,至少在国内目前的情况如此。哪个更有出息?还有在你自己没达到求伯君,马化腾那种级别之前,少用教育人的口气,呵呵。
royeleo,兄弟,论坛论坛,本来就是用来发表自己的观点的,呵呵,争论可以,没必要针对个人。
熟悉汇编,学编译原理,自己设计一个简单的语言,实现它的编译器.
做的过程中会让你对语言本质有重新的认识,一些语言的语法语义为什么要这么设计,会有自己的感受.
----------
谢谢建议。我本人喜欢研究算法,也喜欢研究“为什么”,但我还是不认为一个合格的程序员就必须做这些。例如假设我用PHP,ASP做Web界面,虽然我并不懂得PHP怎么解析,Apache服务器体系结构,但我做的页面美观,易用,清爽,这就是合格甚至优秀的程序员。反过来你即使连Apache每一步都清楚,但是页面根本就混乱不堪,控件摆放不合理,这也不能算合格。说到底,不同行业不痛要求,没必要把自己要求强加在别人头上。什么叫合格的程序员?写的程序能帮助用户解决实际问题,就是合格的程序员。
我说的是合适的程序员,不思上进的程序员不合适,在我看来现在程序员合格率本来就不到10%.
----------
什么叫“不思进取”?假设有两个程序员,一个专心研究技术,汇编,体系,算法等;另一个发现自己不适合,对汇编一看就头痛,转行做业务或销售,恐怕十五年后后者更可能成功,至少在国内目前的情况如此。哪个更有出息?还有在你自己没达到求伯君,马化腾那种级别之前,少用教育人的口气,呵呵。
royeleo,兄弟,论坛论坛,本来就是用来发表自己的观点的,呵呵,争论可以,没必要针对个人。
#31
呵呵,见仁见智,为了避免向吵架发展,我个人就此为止
#32
会编不汇编
汇编不会遍
会不会汇编
不会编汇编
-------------------------------------------
汇编不会遍
会不会汇编
不会编汇编
-------------------------------------------
#33
我来结帖
#34
>>我说的是合适的程序员,不思上进的程序员不合适,在我看来现在程序员合格率本来就不到10%.
>=============================================================================
>忒反感某些人的嘴脸
同意反感。汇编已经退化到只用在写一些硬件相关的引导例程的地步,被遗忘、逼迫到一隅。合格不合格,还是管好自己吧。
>=============================================================================
>忒反感某些人的嘴脸
同意反感。汇编已经退化到只用在写一些硬件相关的引导例程的地步,被遗忘、逼迫到一隅。合格不合格,还是管好自己吧。
#35
那些特殊的场合,对不熟悉的人来说,可以炫为神技,对于有编过一两次经验的人来说,就像掏出钥匙,打开抽屉,拿出笔记本,翻开,写字,放回上锁——这样一些干巴巴简单的机械步骤。有几个大型程序的逻辑是用汇编实现的,企业计算有几个算法是汇编写的。
#36
老话,仁者见仁,智者见智,接分
#37
想问下lz
学习汇编语言前得学什么语言。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
学习汇编语言前得学什么语言。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
#1
你是哪个网站的站长吗?你上个帖子还没有结呢。做一个好的程序员未必就必须学好汇编。
#2
虽然寡人精通数门汇编语言(80x86, ARM, PowerPC, SPARC),但凡是不搞绝对化,一切视需要而定。冷静!
#3
会编不汇编
汇编不会遍
会不会汇编
不会编汇编
……
#4
oo
#5
why?
#6
虽然寡人精通数门汇编语言(80x86, ARM, PowerPC, SPARC),但凡是不搞绝对化,一切视需要而定。冷静!
--
月薪20k ,很厉害
--
月薪20k ,很厉害
#7
汇编确实值得学习
#8
好的程序员汇编必须了解,至少要能大概看懂.
#9
* Supper_Jerry
发表于:2008-02-27 15:22:221楼 得分:0
你是哪个网站的站长吗?你上个帖子还没有结呢。做一个好的程序员未必就必须学好汇编。
-----------------------------------
合格的程序员就应该熟悉汇编
发表于:2008-02-27 15:22:221楼 得分:0
你是哪个网站的站长吗?你上个帖子还没有结呢。做一个好的程序员未必就必须学好汇编。
-----------------------------------
合格的程序员就应该熟悉汇编
#10
合格的程序员就应该熟悉汇编
---------
未必
---------
未必
#11
* iozeng
* iozeng
* 等 级:
发表于:2008-02-27 19:49:3010楼 得分:0
合格的程序员就应该熟悉汇编
---------
未必
-------------------
你学过没?
* iozeng
* 等 级:
发表于:2008-02-27 19:49:3010楼 得分:0
合格的程序员就应该熟悉汇编
---------
未必
-------------------
你学过没?
#12
我想学计算机微指令
#13
汇编不只是一种语言,你可以叫汇编语言们。自从dmr设计C语言后,汇编语言们就退出了历史的舞台。阿ken和dmr用C改写UNIX时,拉响了汇编语言们走向消亡的号角。
#14
mark
#15
发表于:2008-02-27 19:49:3010楼 得分:0
合格的程序员就应该熟悉汇编
---------
未必
-------------------
你学过没?
----------
不好意思,我还真学过。而且还不是很差。但我并不觉得有太大用处,本人目前主要用C做Unix后台开发。再说即使我没学过就不能发表言论了?
合格的程序员就应该熟悉汇编
---------
未必
-------------------
你学过没?
----------
不好意思,我还真学过。而且还不是很差。但我并不觉得有太大用处,本人目前主要用C做Unix后台开发。再说即使我没学过就不能发表言论了?
#16
hehe
#17
合格的程序员,是选用最合适的语言高质高效的实现客户所需的功能。不在乎用什么语言。比如用Java做Web企业应用,你认为他们学汇编有多大实际意义?有那时间和经历还不如去了解企业业务流程。
#18
汇编还是很好用的,就是不会用
#19
* iozeng
* iozeng
* 等 级:
发表于:2008-02-28 09:46:1215楼 得分:0
不好意思,我还真学过。而且还不是很差。但我并不觉得有太大用处,本人目前主要用C做Unix后台开发。再说即使我没学过就不能发表言论了?
----------------------------
觉得没太大用处还说学得不差?别学校那本16位汇编学学考试了就觉得算是好...
提给我提C做UNIX后台开发,那个和水平不相关.
再说即使我没学过就不能发表言论了?
----------------------------
作为一个技术人员,说话要严谨,我说有用,是因为我学过,我体会到了有用的地方.
而你如果没学,没体会过,就说没用,那的确让人无法信服.
* iozeng
* 等 级:
发表于:2008-02-28 09:46:1215楼 得分:0
不好意思,我还真学过。而且还不是很差。但我并不觉得有太大用处,本人目前主要用C做Unix后台开发。再说即使我没学过就不能发表言论了?
----------------------------
觉得没太大用处还说学得不差?别学校那本16位汇编学学考试了就觉得算是好...
提给我提C做UNIX后台开发,那个和水平不相关.
再说即使我没学过就不能发表言论了?
----------------------------
作为一个技术人员,说话要严谨,我说有用,是因为我学过,我体会到了有用的地方.
而你如果没学,没体会过,就说没用,那的确让人无法信服.
#20
作为一个技术人员,说话要严谨,我说有用,是因为我学过,我体会到了有用的地方.
而你如果没学,没体会过,就说没用,那的确让人无法信服.
---------
你觉得有用,不代表就对所有人有用。剪刀粉笔是裁缝必备,但是厨师不一定要用。
我第一份工作主要做硬件检测编程,少不了汇编,吃饭的工具之一,但我也不觉得汇编就是“合格的程序员必须”。你做偏硬件或底层还勉强用的到汇编,如果是做UI,Web,汇编有什么用?不是所有程序员都需要通过汇编去了解什么X86体系结构,说到底,汇编也好,计算机也好,只是一个工具。
按你的说法,“合格的程序员就应该熟悉汇编 ”,那可以反推:只要不熟悉汇编,就不是合格的程序员。那我估计程序员合格率10%都不到了。这个观点实在不敢苟同。
而你如果没学,没体会过,就说没用,那的确让人无法信服.
---------
你觉得有用,不代表就对所有人有用。剪刀粉笔是裁缝必备,但是厨师不一定要用。
我第一份工作主要做硬件检测编程,少不了汇编,吃饭的工具之一,但我也不觉得汇编就是“合格的程序员必须”。你做偏硬件或底层还勉强用的到汇编,如果是做UI,Web,汇编有什么用?不是所有程序员都需要通过汇编去了解什么X86体系结构,说到底,汇编也好,计算机也好,只是一个工具。
按你的说法,“合格的程序员就应该熟悉汇编 ”,那可以反推:只要不熟悉汇编,就不是合格的程序员。那我估计程序员合格率10%都不到了。这个观点实在不敢苟同。
#21
一个合格的程序员还是有必要了解一下汇编的。
做房子的人,你不了解土质和地下水,就不可能做出安全的房子。做程序员如果对你工作的平台一无所知,很难说可以做出好的代码。要了解工作平台,绕不开的需要了解一下芯片,要了解一款芯片,绕不开的要去了解它的汇编。你未必要用汇编去写代码,但是你至少要知道有多少个寄存器,有多少个中断源,有多少个运行级别,等等,你知道了这些也就差不多对这个平台的汇编有所了解了。
有的人本身就不是做房子的,只是做装修,就好像是写各种应用的,操作系统屏蔽了大多数东西。但是做装修,你也需要知道房子哪堵墙是承重的,不能敲。做应用,在调试的时候,会发现知道汇编要方便很多。
同样是做装修,有的人只管刷油漆,比如做WEB,那就无所谓了,地基和房屋构架离工作实在太远,那的确不需要去了解这些东西。
我不认为在学习过程中需要去了解所有芯片的汇编,实际上它们都有着很多相似点。比较常见的,你选一样,无论是ARM,MIPS还是X86。以后用到什么平台,你去看它的data sheet,做一些代码之后,自然会了解它的汇编。
做什么东西,不光是要了解这个东西本身,还有它的基础,也就是它下面那一层:做系统的需要了解一些电路;做应用的需要了解一些汇编和操作系统;做JAVA的需要了解一些虚拟机原理;我想这应该是一贯的道路。
做房子的人,你不了解土质和地下水,就不可能做出安全的房子。做程序员如果对你工作的平台一无所知,很难说可以做出好的代码。要了解工作平台,绕不开的需要了解一下芯片,要了解一款芯片,绕不开的要去了解它的汇编。你未必要用汇编去写代码,但是你至少要知道有多少个寄存器,有多少个中断源,有多少个运行级别,等等,你知道了这些也就差不多对这个平台的汇编有所了解了。
有的人本身就不是做房子的,只是做装修,就好像是写各种应用的,操作系统屏蔽了大多数东西。但是做装修,你也需要知道房子哪堵墙是承重的,不能敲。做应用,在调试的时候,会发现知道汇编要方便很多。
同样是做装修,有的人只管刷油漆,比如做WEB,那就无所谓了,地基和房屋构架离工作实在太远,那的确不需要去了解这些东西。
我不认为在学习过程中需要去了解所有芯片的汇编,实际上它们都有着很多相似点。比较常见的,你选一样,无论是ARM,MIPS还是X86。以后用到什么平台,你去看它的data sheet,做一些代码之后,自然会了解它的汇编。
做什么东西,不光是要了解这个东西本身,还有它的基础,也就是它下面那一层:做系统的需要了解一些电路;做应用的需要了解一些汇编和操作系统;做JAVA的需要了解一些虚拟机原理;我想这应该是一贯的道路。
#22
楼上的兄弟,你也承认“做WEB,UI,跟地基差的太远,不需要了解这些东西”,为什么又说“一个合格的程序员还是必要了解汇编”?我觉得一个合格的上层程序员不了解汇编也是很正常的。
#23
我说的是:一个合格的程序员还是
有必要了解一下汇编的。有必要而已。
至于做WEB的人,其一,相对于整个程序员来说还是少。
其二,即使说做WEB的,对汇编了解一些也没什么坏处。就好像做手机UI的人未必需要了解GSM,但是假如一无所知,还是有点说不过去,恐怕自己都不好意思说自己是做手机的。
至于做WEB的人,其一,相对于整个程序员来说还是少。
其二,即使说做WEB的,对汇编了解一些也没什么坏处。就好像做手机UI的人未必需要了解GSM,但是假如一无所知,还是有点说不过去,恐怕自己都不好意思说自己是做手机的。
#24
* iozeng
* iozeng
* 等 级:
你觉得有用,不代表就对所有人有用。剪刀粉笔是裁缝必备,但是厨师不一定要用。
我第一份工作主要做硬件检测编程,少不了汇编,吃饭的工具之一,但我也不觉得汇编就是“合格的程序员必须”。你做偏硬件或底层还勉强用的到汇编,如果是做 UI,Web,汇编有什么用?不是所有程序员都需要通过汇编去了解什么X86体系结构,说到底,汇编也好,计算机也好,只是一个工具。
按你的说法,“合格的程序员就应该熟悉汇编 ”,那可以反推:只要不熟悉汇编,就不是合格的程序员。那我估计程序员合格率10%都不到了。这个观点实在不敢苟同。
-----------------------------------
我说的是合适的程序员,不思上进的程序员不合适,在我看来现在程序员合格率本来就不到10%.
熟悉汇编不是说要用汇编写程序,了解汇编是为了更方便的了解计算机体系,比如你用C,如果不了解内存如何组织,语句会被编译成什么样子,如何优化?如何写出安全的代码?
除了汇编,数据结构和算法,编译原理等也是合适的程序员应该掌握的.
就算是做WEB的,了解汇编和计算机组成更有利于他了解自己所使用的语言.
* iozeng
* 等 级:
你觉得有用,不代表就对所有人有用。剪刀粉笔是裁缝必备,但是厨师不一定要用。
我第一份工作主要做硬件检测编程,少不了汇编,吃饭的工具之一,但我也不觉得汇编就是“合格的程序员必须”。你做偏硬件或底层还勉强用的到汇编,如果是做 UI,Web,汇编有什么用?不是所有程序员都需要通过汇编去了解什么X86体系结构,说到底,汇编也好,计算机也好,只是一个工具。
按你的说法,“合格的程序员就应该熟悉汇编 ”,那可以反推:只要不熟悉汇编,就不是合格的程序员。那我估计程序员合格率10%都不到了。这个观点实在不敢苟同。
-----------------------------------
我说的是合适的程序员,不思上进的程序员不合适,在我看来现在程序员合格率本来就不到10%.
熟悉汇编不是说要用汇编写程序,了解汇编是为了更方便的了解计算机体系,比如你用C,如果不了解内存如何组织,语句会被编译成什么样子,如何优化?如何写出安全的代码?
除了汇编,数据结构和算法,编译原理等也是合适的程序员应该掌握的.
就算是做WEB的,了解汇编和计算机组成更有利于他了解自己所使用的语言.
#25
iozeng
-----------------
如果你想在技术上有所为,建议你做几件事
熟悉汇编,学编译原理,自己设计一个简单的语言,实现它的编译器.
做的过程中会让你对语言本质有重新的认识,一些语言的语法语义为什么要这么设计,会有自己的感受.
-----------------
如果你想在技术上有所为,建议你做几件事
熟悉汇编,学编译原理,自己设计一个简单的语言,实现它的编译器.
做的过程中会让你对语言本质有重新的认识,一些语言的语法语义为什么要这么设计,会有自己的感受.
#26
嘎哈用地啊?
#27
我说的是合适的程序员,不思上进的程序员不合适,在我看来现在程序员合格率本来就不到10%.
=============================================================================
你说的程序员是什么范围?全世界?
程序员是否合格是依靠什么来判断的?会多少语言?还是会特定的语言(如:汇编)?
你会说中文吗?知道它的原理吗,知道它为什么这么发音?
我是不是可以说你还不会说话,好好学着点
忒反感某些人的嘴脸
=============================================================================
你说的程序员是什么范围?全世界?
程序员是否合格是依靠什么来判断的?会多少语言?还是会特定的语言(如:汇编)?
你会说中文吗?知道它的原理吗,知道它为什么这么发音?
我是不是可以说你还不会说话,好好学着点
忒反感某些人的嘴脸
#28
* royeleo
* 煨灶猫||(只要一颗★)
* 等 级:
忒反感某些人的嘴脸
-------------
请继续反感 :-)
* 煨灶猫||(只要一颗★)
* 等 级:
忒反感某些人的嘴脸
-------------
请继续反感 :-)
#29
你会说中文吗?知道它的原理吗,知道它为什么这么发音?
我是不是可以说你还不会说话,好好学着点
---------------------------------
另外你的类比不合适,我本来就不是研究中文的,如果我研究中文,我肯定会去了解这些.
想反驳请严谨些.
我是不是可以说你还不会说话,好好学着点
---------------------------------
另外你的类比不合适,我本来就不是研究中文的,如果我研究中文,我肯定会去了解这些.
想反驳请严谨些.
#30
如果你想在技术上有所为,建议你做几件事
熟悉汇编,学编译原理,自己设计一个简单的语言,实现它的编译器.
做的过程中会让你对语言本质有重新的认识,一些语言的语法语义为什么要这么设计,会有自己的感受.
----------
谢谢建议。我本人喜欢研究算法,也喜欢研究“为什么”,但我还是不认为一个合格的程序员就必须做这些。例如假设我用PHP,ASP做Web界面,虽然我并不懂得PHP怎么解析,Apache服务器体系结构,但我做的页面美观,易用,清爽,这就是合格甚至优秀的程序员。反过来你即使连Apache每一步都清楚,但是页面根本就混乱不堪,控件摆放不合理,这也不能算合格。说到底,不同行业不痛要求,没必要把自己要求强加在别人头上。什么叫合格的程序员?写的程序能帮助用户解决实际问题,就是合格的程序员。
我说的是合适的程序员,不思上进的程序员不合适,在我看来现在程序员合格率本来就不到10%.
----------
什么叫“不思进取”?假设有两个程序员,一个专心研究技术,汇编,体系,算法等;另一个发现自己不适合,对汇编一看就头痛,转行做业务或销售,恐怕十五年后后者更可能成功,至少在国内目前的情况如此。哪个更有出息?还有在你自己没达到求伯君,马化腾那种级别之前,少用教育人的口气,呵呵。
royeleo,兄弟,论坛论坛,本来就是用来发表自己的观点的,呵呵,争论可以,没必要针对个人。
熟悉汇编,学编译原理,自己设计一个简单的语言,实现它的编译器.
做的过程中会让你对语言本质有重新的认识,一些语言的语法语义为什么要这么设计,会有自己的感受.
----------
谢谢建议。我本人喜欢研究算法,也喜欢研究“为什么”,但我还是不认为一个合格的程序员就必须做这些。例如假设我用PHP,ASP做Web界面,虽然我并不懂得PHP怎么解析,Apache服务器体系结构,但我做的页面美观,易用,清爽,这就是合格甚至优秀的程序员。反过来你即使连Apache每一步都清楚,但是页面根本就混乱不堪,控件摆放不合理,这也不能算合格。说到底,不同行业不痛要求,没必要把自己要求强加在别人头上。什么叫合格的程序员?写的程序能帮助用户解决实际问题,就是合格的程序员。
我说的是合适的程序员,不思上进的程序员不合适,在我看来现在程序员合格率本来就不到10%.
----------
什么叫“不思进取”?假设有两个程序员,一个专心研究技术,汇编,体系,算法等;另一个发现自己不适合,对汇编一看就头痛,转行做业务或销售,恐怕十五年后后者更可能成功,至少在国内目前的情况如此。哪个更有出息?还有在你自己没达到求伯君,马化腾那种级别之前,少用教育人的口气,呵呵。
royeleo,兄弟,论坛论坛,本来就是用来发表自己的观点的,呵呵,争论可以,没必要针对个人。
#31
呵呵,见仁见智,为了避免向吵架发展,我个人就此为止
#32
会编不汇编
汇编不会遍
会不会汇编
不会编汇编
-------------------------------------------
汇编不会遍
会不会汇编
不会编汇编
-------------------------------------------
#33
我来结帖
#34
>>我说的是合适的程序员,不思上进的程序员不合适,在我看来现在程序员合格率本来就不到10%.
>=============================================================================
>忒反感某些人的嘴脸
同意反感。汇编已经退化到只用在写一些硬件相关的引导例程的地步,被遗忘、逼迫到一隅。合格不合格,还是管好自己吧。
>=============================================================================
>忒反感某些人的嘴脸
同意反感。汇编已经退化到只用在写一些硬件相关的引导例程的地步,被遗忘、逼迫到一隅。合格不合格,还是管好自己吧。
#35
那些特殊的场合,对不熟悉的人来说,可以炫为神技,对于有编过一两次经验的人来说,就像掏出钥匙,打开抽屉,拿出笔记本,翻开,写字,放回上锁——这样一些干巴巴简单的机械步骤。有几个大型程序的逻辑是用汇编实现的,企业计算有几个算法是汇编写的。
#36
老话,仁者见仁,智者见智,接分
#37
想问下lz
学习汇编语言前得学什么语言。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
学习汇编语言前得学什么语言。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。