西西河

主题:工科大学生在国内学习的方法 -- 冷酷的哲学

共:💬80 🌺747 新:
全看树展主题 · 分页
/ 6
上页 下页 末页
家园 C语言(注意不是C++)应该是最好的起步语言

有什么不妥吗?

家园 del
家园 哦...

计算机结构、微机原理、系统与接口等等,用的是汇编。以后工作,有些对实时要求比较高的应用,譬如DSP等,用的也是汇编。汇编不仅用于通信行业,很多控制领域像实时嵌入式系统也需要这种高效的工具。真正要对计算机以及微处理器结构有些深入了解,没有汇编是不行的。至于java,多用于Web开发和对实时要求不高的应用。如果你将来做的只和网络打交道的工作,如果做设备,呵呵,不管是互联网还是传统的电信网络,JAVA能做什么呢?最多做些网络管理系统的界面吧!

家园 del
家园 写得真好,向我的朋友们热情推荐了
哦...
家园 我有不同看法

首先,无论未来工作是否用到汇编,汇编都不是一个很好的起步语言。注意我讨论的一直都是起步时学习的语言。

————————————————

此外,说一说我的见闻。可能有谬误。

现在做计算机硬件的实际少数人。而在做计算机硬件的人里,必须用到汇编的又是少数。我所知道的绝大多数计算机专业毕业生都没有真正用到汇编。

实时嵌入式系统也越来越多的开始支持C语言编程环境了,包括很多DSP。有一些甚至可以使用图形化编程环境(比如labView)。据我所知,除了特殊的工程,一般工程人员和工程单位都没有太大兴趣用汇编编程。

关于Java,我所说的就是网络、网站、网页,和通讯设备没有关系。说实话,我所看到的Java的应用还比汇编多一些。

家园 说得挺好

如果再加上个好导师

那就事半功倍了

家园 你还是以高中生的思维方式来看待大学教育

高中生的学习主要以应付高考为目标,并且基本以高考作为唯一衡量标准,所以说高中教育是应试教育没有问题。这带来的后果之一就是学生习惯以应付考试作为学习的目标。

但是到了大学,这种思维方式就不管用了,大学教育既不面向就业考试也不面向研究生考试。每门课程考试的合格只是大学对于学生最基本的要求。你如果仍抱着以通过考试为目标的学习态度,你就会发现大学考试好像很好混,突击学习一下就可以了,毕竟大学考试不会设置得太难(不及格的人太多对于教师和学生都是件麻烦事)。但付出的代价很可能就是感觉大学四年除了证书之外什么也得不到。

至于你提到“课程基本上只捧着书讲课、脱离实际并且缺乏动手”,这就涉及到另外一个问题:大学教育的定位,一般来说,我们希望大学教育应该是能做到传授知识和培养能力。但实际上,传授知识比较容易做到,考核成本也低。至于培养能力就算国内的一流大学做的也不是很好。问题一方面在于后者的成本比较高,学校和教师缺乏动力,另外一方面习惯了应试教育的学生主观能动性也不强,也不感兴趣。

四级考试是个老问题啦,因为英语不能靠突击,所以不好过。其实能考上重点大学的学生的英语底子,扩充一下词汇量,过四级都没问题。

家园 俺上大学那会

除了课程的实验、课程设计和毕业设计以外,基本上没有机会接触到实践机会,所以学的东西考试过后很快就忘了,更谈不上啥积累经验了。

家园 这样解释吧!

如果你工作时间长了,做的东西多了,当然会希望了解深入的东西,譬如DSP开发环境支持C,不代表高效应用,搞DSP的专业人员,当然用汇编写了,他们不是很相信C的编译器的编译能力,一段C程序用编译器生成的汇编和自己写的汇编,尽管实现了相同功能,但是差异不小,汇编和C哪个好用,专业开发人员当然知道。

计算机专业的毕业生,不代表什么,搞技术没个七八年的实际磨练,根本不算啥?如果在华为这样的地方干个5、6年,中间还得换两三个不同的技术岗位,你才能对什么是通信,什么是计算机有深入了解。一般的计算机应用,什么人都能做,又不费脑子,也没太多的技术含量可言。你身边的各种应用,从做车的公交卡、银行系统、手机里面,哪个里面可以放弃汇编。一个用计算机从事开发的技术人员,在做一个真正的好系统的时候,不对底层架构深入了解,那能行吗?当然,对一般搞开发的工作人员,如果没5、6年好的、实际的项目开发经验,以上这些统统不做要求。

家园 大约是大家所见的领域不同吧

我所知道的绝大多数DSP的应用领域,甚至包括军事领域,都不需要将DSP的性能发挥到极致。也就是说,使用C所带来的效率下降都是可以容忍的。所以我所看见的DSP编程人员,不少都是搞了十几年开发的人,都在用C。有可能我所在的领域和你的不同。我这边真没有见过因为C环境效率较低而使用汇编的。只见过因为硬件不支持C环境而使用汇编的。

此外,我不知道你是否同意,C语言一般是初学者的最佳起步语言?

家园 结束语

好吧,你学计算机语言从C开始,那么你如何彻底理解指针概念?一个好的C语言老师在讲解这个概念的时候,一边是C程序,一边是实现相同功能的汇编语言描述。

C是最佳起步语言?这个认识,我5年前,也认为是这样,后来接触的人更多了,慢慢才转变过来。语言不是特别重要,关键是对系统的了解,知道原理性的东西,这样外界再怎么变化,也不会慌张。

家园 写的真好啊。

可惜我当年没有看到这样的好文章。

就算看到了,可能年少轻狂不会完全去做。

我觉得,如果有人这样做,不但工作不成问题,而且前途无量。

希望所有的工科学生都能看到,楼主大功德呀。

家园 也是事在人为

我们本科的一个同学,也就做到楼主说的一半吧,结果就很不一样。

参加的在日本的国际机器人比赛,直接被院士要去当直博,现在自己都快是院士了。

家园 完全不同意

指针的概念即使不学习汇编语言也能理解得很好。起码使用C语言时在任何需要用到指针的时候都不会有问题。

对系统的理解是怎么来的?最根本的还不是从实践中来?光看看书听听课,就能对系统有很好的理解了吗?要实践,还不是要从语言起步?想对系统有理解,难道VB,python会是好的起步语言吗?语言怎么不是特别重要呢?要做到“关键是对系统的了解,知道原理性的东西,这样外界再怎么变化,也不会慌张”,不借助一门很好的语言是做不到的。你这样讲,我感觉就像“吃到第四个包子吃饱了就说前面的包子对吃饱并不是特别重要”。

汇编语言恰恰不是一个很好的起步语言。的确,从汇编起步,能对系统有理解。但是算法呢?编程思维呢?使用汇编语言汇兑后两者的学习造成很大的阻碍作用。是否对系统有结构性理解事实上根本对中短期工作没有影响,而后两者则有。用汇编语言,绝大多数本科生不可能在有限的学习时间里编出任何有实际应用能力的程序。你又怎么锻炼学生的编程能力?

此外,如果以后的工作大多都用C,为什么起步语言不选C?的确,深入工作6、7年后很可能必须要用到汇编,但是,因此就放弃对开始工作的开头几年非常重要的C语言,恐怕并不合适。

全看树展主题 · 分页
/ 6
上页 下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河