11
系统复杂性的增加如何影响连续几代程序员?
作为一名“新”程序员(我于2009年首次写了一行代码),我注意到创建一个程序时相对容易,该程序现在可以显示诸如.NET框架之类的非常复杂的元素。现在,只需很少的命令即可创建可视界面或对列表进行排序。 在学习编程的同时,我也在并行学习计算理论。诸如排序算法,硬件如何协同工作的原理,布尔代数和有限状态机之类的东西。但是我注意到,如果我想测试我从理论上学到的一些非常基本的原理,那么入门总是要困难得多,因为很多技术被诸如库,框架和操作系统之类的东西所遮盖。 40/50年前就需要制作一个内存有效的程序,因为内存不足,而且价格昂贵,因此大多数程序员都密切关注数据类型以及处理器如何处理指令。如今,有些人可能会争辩说,由于处理能力和可用内存的增加,这些问题已不再是重点。 我的问题是,年长的程序员是否将此类创新视为天赐之物或抽象的附加层,为什么他们会这样认为?在探索扩展库领域之前,年轻的程序员是否会从学习低级编程中受益?如果是这样,那为什么呢?