不看好 Rust 用于 web 服务器端编程的前景

原创
2021/11/05 10:26
阅读数 1.6K

我不看好 Rust 用于 web 服务器端编程的前景,主要理由如下:

1. 当前用于在 web 服务器端的编程语言,主要有 java + jsp/servlet、C# + asp.net、php。其共有的特点如下:
1.1 内存自动回收,软件工程师无需手工释放变量内存
1.2 基本语法遵循历史习惯,类似与 c/c++, 包括且不限于:变量定义、函数定义、for/while 循环等。


2. 一般来说,新的编程语言要流行,需要有特殊亮点。否则无法击败已有的编程语言,流行不开来。
2.1 C 语言之后的 C++, 增加了 namespace, class 封装, 继承等,增加了 ANSI/ISO C++ 类库,string/io/stl 等,方便用于大型项目
虽然在 Linux 内核开发方面,C++ 进展不大,但在单机版应用程序开发方面,C++ 进展神速,KDE/Gnome 等 Linux 桌面,均采用 C++ 开发。
C++ 的缺点很明显,标准类库不够庞大,缺乏网络、GUI、数据库等方面的内容。

2.2 C++ 之后的 java, 增加了内存自动回收机制,增加了庞大的类库,比如网络、加密/解密、GUI、数据库
起初在 web 客户端发力(java applet),以提高网页的动态性、交互性,后在 web 服务器端进展神速,快速替换了 c/c++ 所写的 CGI 程序
在单机版的客户端方面,只在 Linux 平台取得了一定的进展。比如,我日常使用的 SQuirreL SQL Client (java 程序, Windows/Linux 双平台)
至于 web 客户端(java applet) ,则因 Mozilla/Firefox 在 Javascript 上的发力(持续向 Javascript 增加功能、提交到标准化组织),Java 阵营逐渐主动废弃了 java applet。
Java 相关开发工具,包括 IBM WSAD 、Borland JBuilder 、Eclipse 等,早期的开发工具有使用内存高、运行慢的毛病,近些年因开源组织参与开发而逐步改善。


2.3 java 之后的 C#, 语法与类库仿照 java ,又有增强,一方面狂增各类方便编程的语法,比如 property ,另一方面疯狂增加 java JRE 不包含的功能: data table, web 模板引擎, crystal report 报表工具, webform(我不看好webform),工控编程OPC,办公简单编程VBA 等。
并在开发文档多语言自动翻译方面下功夫
,微软官网的中文文档的机器翻译水平,业界也是一流的。
凭借功能多、开发工具强劲、入门简单的优势,C#逐步在单机版桌面程序占住一定份额,比如微软与某大学合作的 Paint.NET 在持续开发,有一定的可用性;并且借助易用性高、开发工具好的优势,逐步在蚕食 web 服务器端编程的 java 份额。
近几年又开始在跨平台、开源、标准化方面发力,全力阻击 java.
java 及相关工具,有很明显的 Unix/Linux 烙印,比如,倾向于使用命令行,对初学者其实有一定的门槛。
C# 在 Linux 编程方面,.net5.0, .net6.0 目前尚不完善,有待提高。

2.4 php 相对于 c++, 在web 服务器端编程方面,优势也很明显: 内存自动回收;庞大的官方类库(比不了 Java/C#,但远超 C++),不像 C++ 搭建来自不同组织的多个库那样折腾(比如,GUI 库 + 数据库访问库)。
php 因为是源代码级别的解释执行,额外有一些优势:一个目录下十几个 .php 文件,如果只有一两个是写好的,也可以调试、运行。没有编译、打包时间
缺点也很明显:缺乏 GUI 库、运行速度慢、缺乏官方的GUI开发工具等。

基于以上分析的 1、2 ,可以看出, Rust 用于 web 服务器端编程,已经没什么机会了
Rust 虽然在语法上增加了内存可控的自动回收、并保持 c/c++ 的执行效率,但抛弃 c/c++ 的语法(变量定义、函数定义、for/while 循环等),增加了入门难度
Rust 与 Java/C# 相比,无明细亮点。


且 web 服务器编程领域,执行效率降低一点点一定并非不可接受(<30%),现在多服务器集群的技术已经发展很完善、也很便宜。
服务器上运行的软件,内存要求也没那么严苛。
web 服务器编程领域,需要的是入门容易、自动内存回收、自带数据库读写类库的编程语言。


综合而言,Rust 在web 服务器编程领域,完全没有机会了

--------------欢迎转载,转载请注明出处: https://my.oschina.net/jacklondon

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部