课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
掌握不同的软件编程开发语言能够让程序员在面对不同的开发问题时有更多的解决方法,而本文我们就通过案例分析来简单了解一下,软件开发程序员如何拓宽视野。
在开发Python核心程序的过程中,我们会做的一件事是查看其它语言中解决了我们正面临的问题的特性,看看是否有办法既吸收它们,又使Python代码更易于阅读和编写。这意味着学习其它专注于特定软件开发风格的编程语言,可以帮助我们在使用Python时,提高对这种编程风格的理解。
为了提供帮助,我在下面列出了一些值得探索的领域,以及可能加深对这些领域的理解的语言。我尽可能链接了维基百科的页面,而不是直接链接到语言的主页,因为维基百科经常会提供有趣的历史背景,当你为了教育目的学习一门新的编程语言,而不是直接用于实际应用时,这些背景值得去了解。
虽然我知道这些语言中的大部分(并且在开发生产系统时使用过几种),但这份推荐清单中还包括我间接知道的语言(通常是通过阅读教程和设计文档,或者通过与我信任的人交谈,以获取对一门语言的优点与缺陷的洞察)。
除了考虑一门语言可能教给你的东西,如果你想获得一份更全面的清单,可以去查看IEEESpectrum关于编程语言流行度和增长度的年度榜单。
过程式编程:C、Rust、Cython
Python默认的执行模型是过程式的:从主模块的顶部开始,逐条语句地执行。Python对下面介绍的所有数据和编程建模方法的支持,都建立在这种过程式的执行模型上。
C语言仍然是无可争议的底层过程式编程的统治者。它是Python官方解释器以及Linux操作系统内核的核心实现语言。作为一名软件开发人员,学习C语言是更多地了解底层硬件的好方法之一——C语言经常被称为“可移植的汇编语言”,对于任何新的CPU架构来说,一个交叉编译的应用程序将是C编译器。
Rust是一种相对较新的编程语言,由Mozilla创造。Rust的目标是吸取整个行业在不使用C时遇到的所有教训,设计一门能与C库相互操作的新语言,提供底层的系统编程所需的对硬件用途的精确控制,但使用不同的编译方法来进行数据建模和内存管理,从结构上消除许多困扰C程序的常见缺陷(如缓冲区溢出、指针重复释放错误、空指针访问和线程同步问题)。经过培训和早期的专业经验,我是一名嵌入式系统工程师,而Rust是我见过的一种看起来有潜力缩减当前由C语言和自定义汇编代码所主导的生态位的新语言。
Cython也是一种较底层的过程式语言,但与C和Rust等通用语言不同,Cython专门用于编写CPython的扩展模块。为了实现这一目标,Cython被设计为Python的超集,允许程序员选择何时支持纯Python语法以获得灵活性,何时支持Cython的语法扩展,以便生成在速度和内存效率方面能与原生C代码相当的代码。
学习这些语言,你可以加深在内存管理、算法效率、二进制接口(ABI)兼容性、软件可移植性、以及将源代码转换为运行系统等实践方面的见解。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。