系统侧编程 - 选择哪种语言?
我有几个关于系统编程的问题。
- Python可以像Perl一样同时用于网页和系统编程吗?
- 你会推荐我学哪个语言?我对JavaScript和Java有一点了解。
- 如果我想开发一个编译器,我需要了解什么,应该从哪里开始?
3 个回答
1
当然,BASH 是一种功能强大的脚本语言。我个人更喜欢 Perl,但这完全看你的选择。
关于第 3 点,你应该学习 bison 或 yacc,还有 lex,或者其他任何语法解析器(编译器生成器)。
2
我绝对推荐使用Python。这是一种非常棒的编程语言,几乎可以用来做任何事情,特别适合网页和系统开发。学习Python是我做过的最好的事情。我之前用过Java和PHP几年,但现在我再也不想回去了。用Python学习编程,我的能力提升得比我学过的其他语言都要快。
如果你想开发编译器,和PyPy团队一起工作会很不错,这也是学习这门语言的一个好理由。PyPy不仅是一个快速的Python解释器(带有即时编译功能),还是一个用于实现动态语言的高级编译器和框架。
3
是的。
使用你周围的人常用的编程语言。
你应该了解一些基本概念,比如词法分析、语法分析、符号表、抽象语法树、优化、中间语言、基于栈和寄存器的架构、代码生成、目标文件格式、链接器、加载器等等。在Stack Overflow上有很多关于如何构建编译器的资源可以参考。