网资酷

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 100|回复: 3

如何选择编程语言

[复制链接]

1

主题

1

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2022-12-1 17:45:44 | 显示全部楼层 |阅读模式
时至2022年,我们在选择编程语言时,需要考虑以下几点。
首先,最关键的考虑因素是语言的适用范围。如果是特定的领域,必须使用一些特定于领域的语言,则最具普遍适用性的语言是首选。值得庆幸的是,自从Java提出“编写一次,到处运行”以来,运行时和部署便不再是问题,成本和许可也不再是制约因素。时至今日,所有编程语言、运行时以及各种工具基本都可以免费获取。如果某种语言不适合某个特殊的场合,只能说它的流行度不够,没有普及到所有人;要么是因为一些基本因素,导致该语言确实不适合该任务。
流行度很重要,我们应该选择拥有强大的社区、丰富的信息来源、大量其他程序员可供合作或雇佣的语言。任何不受欢迎的语言都不值得选择。如果遇到特殊情况,则选择会更困难。没有任何一种语言能够适用于所有场景,但在理想情况下,通用的主流语言应该足以应对大多数场景。
最后,我们选择的编程语言应该优于大多数其他语言。即使在2022年,仍有一些糟糕的编程语言,难以学习和使用,很容易让程序员陷入困境。
鉴于上面的陈述,实际上我们并没有太多选择。下面,就让我们来看看这些最佳编程语言。
JavaScript / TypeScript
编程语言界的JavaScript就像人类交流时使用的英语一样。它是最流行、最通用的编程语言,适用于许多不同的场景(浏览器/前端、系统/后端、作为扩展语言嵌入到许多环境中)。JavaScript的运行时(V8 / Node / Deno)非常高效,拥有许多出色的工具和庞大的社区。
TypeScript是JavaScript的超集,引入了强类型和标准工具,正在迅速发展成为JS编程的默认选择。
Rust
Rust拥有C/C++的所有功能,更易于使用,而且也没有太多陷阱。Rust的社区和生态系统非常强大且在不断发展,工具也很好用。如果你需要的功能Rust都提供了,那它绝对是不二之选。以前只能使用C或C++的场合,如今也可以选择Rust。此外,Rust还在建立自己的WebAssembly通用语言(WebAssembly可以说是终极版的“编写一次,到处运行”的运行时)。
Python
我使用Python已经超过20年了,可惜时至2022年,Python依然算不上真正的通用编程语言。原因之一是,Python仍然非常低效,很多注重性能的场合都无法采用Python。还有一个原因是,它未能进入主流的面向用户环境,比如网络浏览器或手机。尽管如此,Python仍不失为一种出色的编程语言,而且在数据工程/数据科学/机器学习中占据了重要位置,所以如果你从事这些领域的工作,那么Python绝对是一门值得了解和热爱的语言。就目前的情况来看,Python很可能会作为数据科学的通用语言继续发展下去,但可能无法突破这个领域。
Go
Go是一种非常适合“云”编程的语言。Go语言优雅、易于学习和使用,拥有出色的社区、生态系统和工具。它被广泛应用于云原生领域的核心产品,因此它会长期发展下去。不幸的是,Go并没有普遍的适用性,基本无法用于互联网服务器之外的环境。此外,由于Go设计上的选择,它在C/C++世界中表现不佳。Go固然好,但如果必须做出选择,凡是Go能实现的功能Rust都可以实现,随着时间的推移,Go有可能会被主流系统编程语言取代。
C#/Java
C#及其生态系统非常出色,你可以用它实现很多功能。Java的各个方面都比不上C#,所以我不理解为什么有人会喜欢它,但Java确实很流行。C#的应用很广泛,不仅是一种系统和“商业”语言,现在更是延伸到了移动应用程序和浏览器。强大的运行时,伟大的生态系统。但是,除非你需要C#的一些量身定制的运行时和工具的功能,否则在短期内C#很难与JavaScript和Rust竞争。
C/C++
根据林迪效应,C和C++在未来几十年内将继续流行下去。如果你已是这两种语言的专家,肯定不愁找工作。如果有这方面的需求,则花时间学习二者也是不错的选择。否则,选择Rust更合适。
回复

使用道具 举报

0

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2022-12-1 17:46:27 | 显示全部楼层
汇编语言和Rust语言能应用于任何场景。汇编语言也能写商城、浏览器、幻灯片、爬虫,毕竟汇编是底层语言,每次操作都很精确;Rust当然也能实现商城、浏览器、幻灯片、爬虫,还能实现网页应用。也就是说,Java、Python、HTML能实现的功能,汇编语言(得益于精确度)和Rust语言(比C语言更接近底层)也都能实现。
回复

使用道具 举报

1

主题

4

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2022-12-1 17:47:04 | 显示全部楼层
能实现,python也能实现,但web网站程序开发主流还是java  php,C#,因为历史原因还有开发者的背景,现在开发看重的是效率,维护,环境,如果之前其他语言有更好的解决方案,这些语言也不会现在这么流行,简单的例子,C写一个套接字,用java写一个套接字,比较一下,后期在原来的基础进行增强迭代,慢慢你就知道什么语言是最适合的,甚至就是为某个场景存在的。
回复

使用道具 举报

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2022-12-1 17:47:54 | 显示全部楼层
C#的确在很多方面都能有超过java的地方,但奈何微软一开始没走开源,一开始发展社区以及受欢迎度比不上
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|网资酷

GMT+8, 2025-7-7 15:40 , Processed in 0.098638 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表