就是因为计算机编程涉及到的思维更接近于人的自然思维。
软件编程所用到的各种工具,比如 操作系统,各种语言的编译器,各种集成开发环境,比如eclipse,都有开源版本.
而 设计电路 所用到的 工具,基本上没有好用的开源版本,都有比较高昂的收费。
为什么有这种区别,个人认为,电路设计 技术门槛更高,是其中的一个原因。
其实一个专业本来没有绝对的难度,只是接近于 人类自然思维方式是专业,学习起来就快。
和人的语言一样 ,各种语言学习起来,难度差不多,各个民族的儿童学会说话的 年龄也差不多,不存在一种语言难,这种语言的儿童说话就迟。
各民族儿童学会语言的年龄应该差不多
但是学外语的时候,难度差别就非常明显了,比如越南人学习汉语,比欧洲人容易的多,因为越南语也是有声调的语言,而欧洲语言没有声调,学习起四声来觉得很复杂。欧洲都有时态和复数的语言,学习起英语来,也比我们容易的多.
语系分布地图
和计算机专业比起来,电子工程所用到的思维方式 更远离人们日常的生活经验 。
编程所用到的主要思维方式,比如 条件判断,循环,在没有计算机以前,人们在计算时,也是按这个流程进行的,所以学习起来 感觉很顺手。所以,外专业的同学,经过半年培训,完全可以胜任程序员的工作,程序员就有了传说中的35岁危机。
编程语言掩盖了硬件细节,提供了方便人理解的接口
而电子工程 所用到的思维方式,非常重要的 一个 反馈,比如一个 负反馈 放大器,把原来放大器的输出,经过分压以后,再反馈到原来的输出端,这样 就 可以 造出 运算放大器来,运算放大器 可以用外接电阻大小来 任意配置放大器的,放大倍数。 这种把输出 再返回到 输入端 的思维 方式,是我们日常生活中所没有的。
三极管和模拟芯片
通过反馈 这种技巧,电子科学的先驱们 设计出了 运算放大器,移位寄存器,分频器,触发器等。
固态硬盘里有许多触发器电路
逻辑门 组合起来,可以实现任意的运算功能,而触发器 可以存储信息,给触发器接上时钟信号,使触发器 只可以 在时钟节点上 改变其 里边存储的信息,将触发器里存储的信息,做为下一个时钟周期 运算器的输入,就可以使电路 存储信息,并按时钟节拍 连续计算,就是 计算机的雏形了。
现代计算机中时钟每秒滴答几十亿次
又因为 三极管 其中的pn结 是单向导电的,所以用一个三极管 设计放大电路时,需要偏置电阻,将原来在 0附近 正负 震荡的被放大信号,升到工作电压附近,等放大完以后 再用滤波器滤除偏置增加的信号,比如 射极耦合放大器就是这个原理。
而 cmos 电路,就是用 一个 pnp 三极管 和 一个 npn 三极管 互相补充,一个放大 正向信号,一个放大反向信号,这些精巧的 设计,体现出了电子工程 先驱们的高超智慧。
设计电路需要技巧 理解电路需要数学
单纯的程序员工作,比如做的图像界面gui,做linux kernel 编程,根本用不到 微积分 和线性代数,不学这些课程,对这些编程工作 没有任何影响。编程中常用到的算法,比如排序,查找,日常生活中也常这样思维,理解起来没有任何问题。
一个linux 系统命令行输出
但是学习电子工程,微积分是必须的,要设计模拟电路,需要对微积分做彻底深入的 理解,搞懂 傅里叶级数和 常微分方程的原理,否则就 搞不明白 接 一个 电容为什么 会有 滤波的作用,也无法 理解 电容的 阻抗 和 电感 感抗 的计算公式 是 如何来的。要计算复杂的电路,用基尔霍夫 定律 列出 方程组来,要解方程组,线性代数 知识 是 必须的。
所以模拟电路 设计人员 基本没有年龄危机,基本和医生一样,经验越丰富,价值越高。
上好大学重要 选好专业也重要
高考完,报志愿选专业时 ,好多同学 用 高中所学知识 来 评判 自己是否对一个专业 感兴趣,如果 按 高中 物理的内容来说,力学题目更难,一些题目受力分析需要技巧,而电路计算题,不是串联 就是 并联,基本上 没有 难题,没有力学题难。所以 一部分同学 选 机械,而不选电子电气,认为更有挑战性。实际上,高考电学部分没有难题,比如计算的电路中只有电阻,没有电容和电感,恰恰是因为 这部分内容的计算,需要更复杂高等的数学,高中生还没有学。
所以,用高中以及高考所考内容评判一个专业,容易陷入误区,到了大学,发现一个专业所学内容,和高中理解的完全不一样。 典型的比如生物,高中学遗传学用概率论计算,让一部分同学感觉很有意思,实际上,生物类专业 大学课程很少计算,都是对观察现象的描述,和形象化 的原理比喻和解释。
反正电子工程是个很有意思的专业,值得真正爱好数学的同学学习。