如何选择编程语言(8)官方 API 库

8.1、字符串拼接、子串匹配、子串替换等操作

C:stdlib 库,但功能较弱
C++:cstdlib、string 库
Java:有较完善的官方 API
Kotlin:有较完善的官方 API
JavaScript:有较完善的官方 API
Python:有较完善的官方 API
PHP:有较完善的官方 API

8.2、数组排序以及链表、哈希表、自平衡二叉树等数据结构

C:无官方 API 提供这些功能
C++:STL 库
Java:Java Collection API
C#:与 Java 类似的 API
Kotlin:与 Java 类似的 API
Python:有官方库提供
JavaScript:有数组排序 API,对象本身是一个哈希表,有可作为哈希表的 Map、WeakMap 类,无其他复杂数据结构的官方 API
PHP:有数组排序,对象本身是一个哈希表,无提供其他复杂数据结构的官方 API

8.3、日期、时间、时区 API

C:没有时区以及日期时间与字符串相互转换、日期时间计算等功能的官方 API
Java 1.7 及以下版本:有时区以及日期时间与字符串相互转换的官方 API
Java 1.8 及以上版本:有时区、日期时间与字符串相互转换、日期时间计算等功能的官方 API(java.time 包)
Kotlin:没有时区以及日期时间与字符串相互转换、日期时间计算等功能的官方 API,需调用 Java 的 API
JavaScript:有时区相关的官方 API,但无完善的日期时间与字符串相互转换、日期时间计算等功能的官方 API

8.4、JSON

C:无序列化、反序列化 JSON 的官方 API
Java:无序列化、反序列化 JSON 的官方 API
Kotlin:无序列化、反序列化 JSON 的官方 API
JavaScript:有序列化、反序列化 JSON 的官方 API(JSON 内置对象)
PHP:有序列化、反序列化 JSON 的官方 API(json_encode, json_decode 函数)

8.5、正则表达式

C:无处理正则表达式的官方 API
Java:有处理正则表达式的官方 API(java.util.regex 包)
Kotlin:有处理正则表达式的官方 API(kotlin.text.Regex 类等)
JavaScript:有处理正则表达式的官方 API(RegExp 类)

8.6、访问关系式数据库

C:无访问关系式数据库的官方 API
Java:有访问关系式数据库的官方 API(JDBC)
Kotlin:无访问关系式数据库的官方 API,需调用 Java 的 API
JavaScript:无访问关系式数据库的官方 API
PHP:有访问关系式数据库的官方 API(ODBC、PDO 等)

8.7、文件访问

C:有文件读写的官方 API
C++:有文件读写的官方 API
Java:有文件读写的官方 API(java.io 包和 java.nio 包)
C#:有文件读写的官方 API
Kotlin:无文件读写的官方 API,需调用 Java 的 API
JavaScript:ECMAScript 无文件读写的官方 API,但 Node.js 运行时有提供文件读写的官方 API
Python:有文件读写的官方 API
PHP:有文件读写的官方 API

8.8、网络访问

C:无网络访问的官方 API
Java:有使用 TCP / UDP / HTTP / HTTPS 的官方 API(java.net 包)
C#:有网络访问的官方 API
Kotlin:无网络访问的官方 API,需调用 Java 的 API
JavaScript:ECMAScript 无文件读写的官方 API,但 Node.js 运行时和 web 浏览器均有提供网络访问的官方 API
Python:有网络访问的官方 API
PHP:有网络访问的官方 API

8.9、高精度数字运算

C:无高精度数学运算的官方 API
Java:有高精度数学运算的官方 API(BigInteger 和 BigDecimal 类)
Kotlin:无高精度数学运算的官方 API,需调用 Java 的 API
JavaScript:无高精度数学运算的官方 API
Python:数字类型本身支持高精度数学运算

服务推荐

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值