我们需要多少种编程语言

我们需要多少种编程语言

💡 原文中文,约3400字,阅读约需9分钟。
📝

内容提要

编程语言的选择对于目标实现的可能性和效率都很重要。通用编程语言有Basic、C、C++、Python、JavaScript、TypeScript、Java和Rust,领域特定语言有Logo、CSS、Matlab、R和SQL,标记语言有HTML和Markdown。在数据科学中,Python、R和Matlab是可选的编程语言,Python在将数据科学和工程代码结合时更有优势。在后端应用中,Java是首选,Python也是不错的选择。在前端,HTML、CSS和JavaScript是主要的语言,TypeScript扩展了JavaScript的功能。在移动端,iOS系统的首选语言是Swift,Android系统的首选语言是Kotlin。在桌面端,macOS系统的首选语言是Swift,Windows系统的首选语言是.Net。脚本语言有Shell、Python、Perl、Ruby和Lua。在嵌入式开发中,C/C++和Python是常用的语言。个人偏好也是选择语言的重要因素。总之,根据自己的需求和偏好选择合适的编程语言。

🔎

延伸解读

语言选择:从工具到战略

文章开篇指出编程语言不仅是工具,其选择会制约目标实现的可能性与效率。这意味着在技术决策中,语言选型需要结合领域偏好、团队生态和长期维护成本,而非仅凭个人喜好。作者以自身数据科学背景为例,说明不同语言在特定场景下的优势差异,提醒读者避免陷入“语言万能”或“语言无用”的极端。

领域偏好与个人偏好的平衡

文章强调领域偏好能降低协作成本,但个人偏好也可能带来意外收益。作者以自己钟爱R为例,因坚持使用R而接触到RMarkdown、Quarto和ggplot2,最终将可重复性研究融入工作。这提示读者:在顺应领域主流的同时,保留个人技术兴趣可能激发创新,但需注意不要因偏好而忽视更广泛的工程需求。

Python性能争议与演进

针对Python运行慢的常见批评,文章指出许多流行扩展包基于C/C++构建,且从3.13版本开始可选去除全局解释锁,这些改进正提升其性能。作者认为使用者对Python理解不深、技巧不足也是性能问题的一个原因,并推荐《流畅的Python》作为深入学习的资源。这提醒读者,语言性能不仅取决于本身,也与使用方式密切相关。

跨平台与性能的取舍

在客户端开发中,原生语言能更好适配系统,但多系统适配成本高;普通场景下跨平台方案更吸引人。文章提到基于前端技术的跨平台解决方案是不错的选择,并指出Rust在提升前后端性能方面受青睐。这为读者在项目选型时提供了权衡思路:根据应用核心程度和团队资源,在原生体验与开发效率之间做出合理取舍。

❓

Q&A

编程语言通常可以分为哪几类?

编程语言大致可分为三类:通用编程语言(如Basic、C、C++、Python、JavaScript、TypeScript、Java、Rust)、领域特定语言(如Logo、CSS、Matlab、R、SQL)和标记语言(如HTML、Markdown)。

数据科学领域应该选择Python还是R?

如果非要二选一,作者现在会选择Python,因为其作为通用编程语言在将数据科学和工程代码结合时更具优势。但在一些特定领域,例如生物信息学,R的采用率更高。

后端开发首选什么编程语言?

企业级后端应用中Java是首选,对高性能场景C/C++、Rust可能更合适。Python也可以作为不错的后端语言选择,在HTTP和RPC接口、高并发、开源组件SDK支持等方面表现不错。

移动端开发分别用什么语言?

在移动端,iOS(iPadOS和tvOS)系统的首选语言为Swift,Android系统的首选语言为Kotlin。

嵌入式开发常用哪些编程语言?

嵌入式开发中,早期常用C/C++,随着硬件性能提升,Python等高级语言也可以作为嵌入式开发的工具。

作者最终推荐的编程语言选择方针是什么?

作者以四句话作为指导方针:人生苦短,我用Python;想要甜些,得上JavaScript/TypeScript;开心的话,就用R;再想更屌,恶补Rust。

🏷️

标签

➡️

继续阅读