为什么没有一种万能且通用的编程语言呢?

2021-10-21 16:23:33 +08:00
 onice

Web 开发用 PHP,Java,Node.js

基础设施用 C/C++

网页设计用 HTML,JS,CSS

数据库用 SQL 。

为什么不发明一种万能的编程语言,我只需要学一门语言就能做所有的事情。

这可能吗?

目前 Python 有这种趋势,但还是无法全面覆盖,比如移动端的 App 开发。

18128 次点击
所在节点    程序员
166 条回复
ShareDuck
2021-10-22 08:43:25 +08:00
@onice 大佬应该不是抨击 C# 这门语言,这门语言在社区一直都是赞誉有加的。抨击的应该是 .Net Framework 。
ShareDuck
2021-10-22 08:47:09 +08:00
@lysS 你看不起我存储过程??手动狗头。
desstiony
2021-10-22 08:47:48 +08:00
单机片上能跑 js ? 硬件驱动能用 js 写?
wangxn
2021-10-22 09:03:03 +08:00
@industryhive C/C++/Rust 本身都预编译成机器码了,还要 JIT 干嘛?
yunyuyuan
2021-10-22 09:12:26 +08:00
有啊,英语不就是吗
xdeng
2021-10-22 09:12:46 +08:00
010101101010101010101 二进制就是
Lemeng
2021-10-22 09:14:18 +08:00
js:选我选我
p1gd0g
2021-10-22 09:15:42 +08:00
只能说计算机体系还不够成熟,毕竟还不到 100 年,未来一定会有吧。
huangmingyou
2021-10-22 09:27:27 +08:00
产品经理的语言!
industryhive
2021-10-22 09:31:32 +08:00
@wangxn 预编译是 AOT,AOT 的性能优化上限不如 JIT,JIT 的存在目的就是获取运行时信息进行比 AOT 更高程度的优化。java 也可以进行 AOT 编译,但是 java AOT 之后就不能 JIT 了,以后可能会实现先 AOT 编译再 JIT 运行。
janus77
2021-10-22 09:32:59 +08:00
你说这话不仅是计算机知识不够,最主要的是逻辑知识都不够
我就举个和计算机无关的例子,假设法:假设有这么一个语言已经涵盖了现在所有的场景。
那么明天突然有人发明一种新的开发领域(就好像 android 出来前和出来后),你怎么保证这个语言能满足这个新的场景?
这是纯逻辑问题。这个问题用脚想也知道是无解的
ktqFDx9m2Bvfq3y4
2021-10-22 09:33:35 +08:00
@yazinnnn C#这边 Blazor 都如火如荼了。:-),我涉猎面比较窄,不敢说 C#满足楼主所说,但它已经足够接近了。
Zakun
2021-10-22 09:36:27 +08:00
00011101010101010
industryhive
2021-10-22 09:39:37 +08:00
@lostpg 目前来看 JIT 的确还有非常大的发展潜力,这也是为什么我说越大型的系统越适合用 java 开发,因为越大型的系统 JIT 能发挥的作用就越大。目前来看 cpp/rust 等用来编写一些小型系统仍然存在某些优势,但是现在 java 也不是不可以做这些事,而且很多时候还比 c/cpp 做的更好。比如分布式内存计算平台 apache ignite 性能比 redis 更好并且功能还比 redis 多,分布式数据库 Casandra 性能比 MongoDB 好。还有前几个月开源的商用数据库 StarRocks 就号称比 ClickHouse 好,只不过 StarRocks 选用的开源协议受到了很多人抨击。另外,java 和 jvm 平台也在迅速发展,未来 java 的缺陷都会被一一克服。
industryhive
2021-10-22 09:42:00 +08:00
@Leviathann 零开销抽象虽然不是 java 的理念,但 java 也不是不能做到零开销抽象。javac 只是个前端编译器,最主要的优化都在后端 C1/C2 进行,JIT 的作用就是用来进行运行时优化的。
industryhive
2021-10-22 09:43:43 +08:00
@GeruzoniAnsasu 所以汇编和 C 语言一样,只适合用来开发一些小型软件。
ww2000e
2021-10-22 09:46:14 +08:00
硬件限制,编程语言只能在难易度和性能上各种取舍,形成自己风格
Codelike
2021-10-22 09:49:11 +08:00
论造轮子的快乐
silkriver
2021-10-22 10:02:30 +08:00
编程语言只有一种,叫 programming launguage
lqf96
2021-10-22 10:13:43 +08:00
@industryhive Rust 的 cranelift 后端以后是计划 JIT 执行 rust 的,效率应该会有提升,当然这种情况下 ffi 对效率会有一定影响(其实 gcc 后端用的是 libgccjit,说不定也行)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/809557

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX