去学汇编有必要吗?-一个比语言之争有意义的话题
2008-01-14 17:48
375 查看
以前经常出现语言,平台之争的帖子,开始是C++和VB,后来Java和.Net现在少些了.其实这些争论都是很无聊的,都学过辩证法,存在即合理,本来就没有通用的强与弱标准. 几天发现了另一种争论,也许说是一种讨论好一些.说是Java能作为学习计算机编程的第一门语言吗?链接在这里,我也留了言,
"一个恰当的比喻就是,我们有了计算器依然要学习四则运算. 我不同意不能把Java(C#)作为入门语言.学习的关键在于你的学习态度和目的.有兴趣的学生就算你有sort方法的实现,依然会去找背后的实现方法.另外我们用了很多hashtable,需要我们把哈希的算法,稀疏矩阵什么的搞那么清楚吗?"
这就是我的看法,其实也就是一种辩证法的标准.有些基本概念,比如数据结构,图论什么的,肯定要通过一种语言的表现来学习的.其实和哪种语言也是无关的.对于Java类库的一些担忧,完全取决于个人怎么去看待这些类库.明明有现成的解决方案,非要自己去实现,有什么意义呢?或者相反,明明没有现成的东西满足你的要求,非要去强拉硬拽.能达到目的吗?我想要用一个编程的观点"Refactoring to Pattern"来说明我的学习观点.首先,你的目的是什么,你要做操作系统吗?你要做Socket通信吗?你要做3G吗?先回答,你学习编程的目的是什么,接下来怎么做,怎么开始就很好解决了.对于寄存器,网络协议模型这类东西,我觉得还是有必要了解一些的,但是绝对没必要因为这个而去花费大量时间,精力去学习汇编语言,ISO标准,IEEE规范的.因为这已经超出为了实现你的目标而需要掌握的技能范围了.后来,你发现确实需要了解一两个深入的方向,那再花时间,做一个比较系统的学习肯定会收获更大一些.对于语言的学习依然如此,为什么不能把Java作为入门语言呢?因为学了Java就不会再去关心背后的一些基本的算法知识了吗?我看未必.
"一个恰当的比喻就是,我们有了计算器依然要学习四则运算. 我不同意不能把Java(C#)作为入门语言.学习的关键在于你的学习态度和目的.有兴趣的学生就算你有sort方法的实现,依然会去找背后的实现方法.另外我们用了很多hashtable,需要我们把哈希的算法,稀疏矩阵什么的搞那么清楚吗?"
这就是我的看法,其实也就是一种辩证法的标准.有些基本概念,比如数据结构,图论什么的,肯定要通过一种语言的表现来学习的.其实和哪种语言也是无关的.对于Java类库的一些担忧,完全取决于个人怎么去看待这些类库.明明有现成的解决方案,非要自己去实现,有什么意义呢?或者相反,明明没有现成的东西满足你的要求,非要去强拉硬拽.能达到目的吗?我想要用一个编程的观点"Refactoring to Pattern"来说明我的学习观点.首先,你的目的是什么,你要做操作系统吗?你要做Socket通信吗?你要做3G吗?先回答,你学习编程的目的是什么,接下来怎么做,怎么开始就很好解决了.对于寄存器,网络协议模型这类东西,我觉得还是有必要了解一些的,但是绝对没必要因为这个而去花费大量时间,精力去学习汇编语言,ISO标准,IEEE规范的.因为这已经超出为了实现你的目标而需要掌握的技能范围了.后来,你发现确实需要了解一两个深入的方向,那再花时间,做一个比较系统的学习肯定会收获更大一些.对于语言的学习依然如此,为什么不能把Java作为入门语言呢?因为学了Java就不会再去关心背后的一些基本的算法知识了吗?我看未必.
相关文章推荐
- 实训汇编语言设计——生成一个口字
- 汇编语言---王爽--实验8-分析一个奇怪的程序
- 汇编语言: 试编写一段程序,从键盘接收一个 0-65535 间的十进制无符号数,并在终端上显示与 它等值的二进制数。
- 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZde
- 用汇编语言写的一个模仿IE访问网站数据包的程序片段
- [汇编语言]-第九章 jcxz,loop指令,转移位移的意义
- 汇编语言(王爽)》(第九章、实验8分析一个奇怪的程序)学习笔记
- 汇编语言: 编写一个程序,从键盘输入一个 0~65535 之间的 10 进制无符号数,然后以 16 进制 和四进制数形式显示出所输入的数。
- 汇编语言: 试编制一个程序:从键盘输入一行字符,要求第一个键入的字符必须是空格符,如不 是,则退出程序;如是,则开始接收键入的字符并顺序存放在首地址为buffer的缓冲区中(空 格符不存入),直到接收
- 实训汇编语言设计——生成一个口字
- 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZde
- 汇编语言编写的一个“接球游戏”
- 用80x86汇编语言,编写一个输出16进制数字的程序
- 编写一个汇编语言数据编译器小记
- 汇编语言: 编写一个程序,从键盘输入一个不长于8位的四进制数,并将所输入的数以10进制数 形式显示出来。
- 汇编语言写的一个病毒[转自KingofCoders]
- 32位汇编语言学习笔记(28)--一个简单的光标控制程序
- 汇编语言理解指针(指针就是汇编的间接寻址,其实就是一个简单方便的运算指令,计算完毕直接就赋值,不是从内存中去取值后赋值)
- 汇编语言: 试编写一段程序,从键盘接收一个-32768-32767 间的十进制有符号数,并在终端上 显示与它等值的二进制数。
- <<汇编语言>>---王爽 (实验 8)分析一个奇怪的程序