1.
国内的本科叫"学术研究型"大学是为了培养能发paper的科研人才的业界用的工具说实话上个专科的能力就够掌握了既然要培养以后能发paper的能力当然是每个研究方向的基础都要打好编译器是CS领域里面一个很大研究方向比如编译器优化新的编程语言的设计DSL的设计不说多了天天用的这么多构建工具webpack这种很多都是需要有编译原理基础才能搞的如果学生以后对这个方向感兴趣想继续深入那在本科学的"编译原理"就是他最好的基础课国内大学你觉得没用的课程大概都是这么个逻辑最典型的国内CS必学的几门数学课:工科数分离散概率论线性代数乍一看和电脑有什么关系但是到后面需要发paper的人才知道不学这些数学搞锤子CS科研学计算机科学到最后就是学计算机数学googleи觉得学"编译原理"没用的这种想法不过是进阶版的"读书无用""大学生都给我初中生打工"理论
我觉得最重要的还是让你理解为什么你的代码可以跑起来从数字电路、到汇编写bootloader、到操作系统、到了解到第一个编译器是用汇编攒起来到可以运行编译了再加新的语法功能用高级语言后续开发、再到stack式和register式虚拟机了解JVM原理
2.
【编译原理】期末复习 零基础自学_哔哩哔哩_bilibili
现在计算机应用发展太快编译器已经逐渐变成像汇编一类的可懂可不懂的底层细节了
十年后可能编译器会变成大学里的选修而分布式计算数据库这些更上层的应用可能会在学校里变成主流
参考:
【编译原理】期末复习 零基础自学_哔哩哔哩_bilibili
对于基础很差的 可以补补的 环境已经很卷了是吧