https://www.youtube.com/watch?v=XJC5WB2Bwrc
本视频深入讲解了为什么一些项目会使用多种编程语言混合开发,并探讨了这些语言如何在系统层面协同工作:
引子:通常开发者无需考虑底层细节,但在系统级开发中就必须理解多语言的协作方式。
简单示例:Django 框架
后端使用 Python;
前端用 HTML、CSS、JavaScript;
两部分通过网络通信、属于两个不同进程,易于理解。
复杂示例:同一进程中多语言协作
某些项目要求不同语言的代码在同一个进程中运行;
涉及语言互操作性、编译链接过程、运行时环境等系统级知识。
深入讨论:为何不直接用一种语言?每种语言在效率、生态、硬件控制、跨平台等方面有其优势。
低层原理剖析:如 C/C++ 与 Python、Rust 等语言之间的互操作(如 FFI、动态链接库等)。