※ 引述《ntucorner (台大角落)》之铭言:
: 如题
: 硬件语言跟软件语言
: 哪个比较简单 比较不用动脑呢?
: 或者说花在coding的时间比例比较少
: 有卦吗
和身边认识的同学、同事闲聊到类似的话题时,
走软件的很多觉得硬件语言比较难;
走硬件的很多觉得软件语言比较难。
我觉得关键在于两套语言的思维不同,
不讨论那些可以轻松切换程式语言概念的强者,
先消毒一下,软件、硬件都强的人不但有,而且还不少,
绝对没有软件学得好,硬件概念必定不好这种事,反之亦然,
以下所探讨的只是小弟所看到一些软硬件特别偏一边的情况。
多数学生是上大学才开始接触写程式,
很容易把第一套熟悉的程式语言当作模板,
再接触其他语言时,会先入为主地拿模板语言的概念去模拟。
就如同大家常说的“中式英文”,其实语言学上也有类似现象。
以C++和verilog来讨论的话,
语法虽然类似,熟悉前者的去学后者是倍感亲切没错,
但两者在执行上大不相同,前者循序,后者同步。
有些人会不熟悉硬件的同步概念,
导致写出来的电路面积、系统架构都不算很优……
归根究柢是无法抓到硬件的精神,把verilog写得很C。
就我自己的情况,大一学C时勉强60分飞过,C++退选,
资料结构、算法之类的就不用说了,
我根本不敢修那些课,所以也只能走硬件。
没想到后来学VLSI、IC-Lab,写verilog时反而异常顺利,
以前写C++时把我电趴的一些人,verilog居然写得没我好XD
和他们讨论架构、debug时,他们的思维很软件,
如我上面所讲的,他们把verilog当成另一套C在写,
有点分不清楚硬件和软件语言概念上的差异。
所以要我说的话,我是觉得C++比较难啦XD