
有个后端朋友问我,在芯片设计领域为什么选择Python,而不是Perl或Tcl?我才突然意识到,写了这么多天的《Python在ASIC中的应用》系列文章,居然忘了对比介绍Python、Perl、Tcl的优缺点。因此我周末抽空写了这篇文章。
本文包括以下内容。共计1900多字,阅读时间大概10分钟。
- 了解Python发展的大背景
- Perl语言的优缺点
- Tcl/Tk语言的优缺点
- Python在ASIC领域的应用
- 总结
了解Python发展的大背景
我们都知道现在python很火。小到python在学校受到前所未有的重视(如,被编入小学教材,纳入浙江省高考范畴,成为全国计算机二级考试科目)。大到Python是人工智能AI的主要编程语言之一(如,google的TensorFlow,facebook的PyTorch)。
为什么火?就是因为Python简单易学、完善的面向对象(封装、继承、多态)编程。
简单易学体现在Python的语法格式上,强制利用缩进来规范代码风格,不能随意换行等。简单易学还体现在Python的设计思想“只用最好的方法做一件事”。正因为简单易学,所以小白容易入门,小学生有了python的入门课程,社会上有了python兴趣班,出现了《python for kids》、《learn to program with minecraft》这样的儿童书籍。
面向对象的特征使得python具有了像C++那样的建模能力。在软件开发初期时,常常被用来快速建模,只需要把其中对性能有要求的功能模块改用C++实现即可。