为什么没有一种万能且通用的编程语言呢?
source link: https://www.v2ex.com/t/809557
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Web 开发用 PHP,Java,Node.js
基础设施用 C/C++
网页设计用 HTML,JS,CSS
数据库用 SQL 。
为什么不发明一种万能的编程语言,我只需要学一门语言就能做所有的事情。
这可能吗?
目前 Python 有这种趋势,但还是无法全面覆盖,比如移动端的 App 开发。
ZHenJ 4 小时 8 分钟前 3
AoEiuV020 3 小时 57 分钟前
同样一个特点,有人觉得是优点,有人觉得是缺点,
觉得是缺点的人就可能选择不用这门语言,另外开发一门语言解决这个“痛点”,
其他有同样看法的程序员就跟上了也用新语言,
程序员割裂了直接导致不同语言的生态不一样了,自然就能划分出哪些语言擅长什么,实际上是这门语言的主流用户擅长什么,
onice 3 小时 47 分钟前
是不是上了微软的.NET ,全套都得用微软的东西了,操作系统,数据库,云。
Vegetable 3 小时 38 分钟前 1
严格来说,所有人们使用的编程语言都是自然语言的子集。
你觉得没有只是因为你抽象的层次不够。当然这么说就有点抬杠的意思了,你实际上想问的,我觉得是:「传统编程语言为什么难以做到适应所有的场景」
这是因为不同场景的需求不同,语言作为一个工具,必然有其擅长工作,比如菜刀可以切菜,也可以切水果,但是人们还是发明了水果刀。瑞士军刀能切菜也能切水果,但是没有谁家厨房或者果盘里放的是瑞士军刀对吧?
工具的功能存在取舍,一味的加特性,去适配更多的场景,损失的就是易用性。同时,当一个工具的功能足够多时,可能会出现另一个情况:不同人群都使用的其中的部分功能,大家互相没有交集,vb 和 c#都属于 dotnet,那你说他们还算一种编程语言吗
Chad0000 3 小时 34 分钟前
onice 3 小时 17 分钟前
kerro1990 3 小时 7 分钟前
industryhive 3 小时 1 分钟前
fgwmlhdkkkw 3 小时 0 分钟前
industryhive 2 小时 57 分钟前
snw 2 小时 54 分钟前 via Android
所有已知的图灵完备系统都是图灵等价的。
理论上你确实只要学一门语言就能做任何事,只有适合与不适合的差别。
如果一门语言容易做所有事情,那它本身就是极其复杂的;如果一门语言本身不很复杂,那么它只容易做某些事情。
clf 2 小时 41 分钟前
我用 Java 的 js 解释器跑了一个'consolo.log("hello world")',这时候这玩意算 java 的代码还是 js 。
TAFMT 1 小时 54 分钟前
cmdOptionKana 1 小时 45 分钟前
这个真理的原因是:场景和问题本身是复杂的、多样化的。而专用工具就是针对特定问题的特殊性而专门设计的。
这就是没有一个万能语言的原因。
xarthur 1 小时 7 分钟前 via iPhone
这些语言都是图灵等价的,表达能力的上限是相同的,不存在某个语言能写,另一个语言就不能写的情况。
至于为什么不能用 Python 写 App,实际上可以的,你可以写一个 object-c 和 python 之间的 bridge 就能写了。
至于为什么没人这么干,这是商业问题不是技术问题,答案也很简单,没什么必要,商业上也划不来。
不要想着有这种学一门编程语言就够了,至少得会个 6 们以上的编程语言吧。
charlie21 41 分钟前
其次,它贵 就会有人寻找便宜的近似替代品
第三,有人就会制造出近似替代品,它就会在喜欢便宜货的人群之中流传开
以上三点是唯一物品和唯一物品替代物出现的原因,商品社会里没有意外。商品社会常识就是这样。当你有了无可替代的理由并彻底堵死 “近似替代物” 机会,就会出现无可替代的唯一物品
lostpg 11 分钟前 via Android
industryhive 1 分钟前
Recommend
-
39
当今唯有超级计算机才有足够的计算能力来应对科学研究中那些最顶尖的挑战,但在这些超级机器上进行编程却很艰难,这对科学探索而言是一种阻碍。 几十年前,计算机也曾成本昂贵、操作复杂、数量稀少。而个人电脑(PC)的革命改变了...
-
20
前段时间和@lufei 大哥学习了一波Linux下基于文件描述符的反序列化回显方式的思路。 在自己实现的过程中发现,是通过IP和端口号的筛选,从而过滤出当前线程(也可以说是请求)的文件描述符,进而加入回显的内容。 但是...
-
13
随着走向成熟的以太坊 Layer-2 解决方案多了起来,ENS 也要能为整个生态系统提供服务,同时让 ENS 用户能够获得 Layer-2 解决方案给他们带来的效率提升。自
-
6
一种C#读写二进制文件的通用方法 在日常的工作中,我们经常需要进行一些二进制文件或协议的读写操作,...
-
5
颜色标记法-一种通用且简明的树遍历方法 - 二叉树的中序遍历 - 力扣(LeetCode)颜色标记法-一种通用且简明的树遍历方法
-
5
关于“如何将自己写的LLVM Pass集成到NDK中”这个问题,目前网上并没有很完美的方法,并且大多数已经过时。史上最优雅的NDK加载pass方案此贴中提出的方法也很麻烦,在我看来并不算太“优雅”。经过我的一番折腾,...
-
4
【几百KB的小工具】万能通用合同生成器(同时可做 收据收条 送货单 发货单等) 查看: 1252|回复: 21
-
4
这篇也是脑洞系列,属于我觉得好玩、分析后认为技术上可行、但限于时间或精力没去做的事,分享出来,有兴趣的小伙伴可以去折腾 我有很多想法,只差一个程序员啦 先前的工作
-
2
一种通用的jquery动画滚屏方案 原创 在网站页面上,点击某个超链接,页面跳转到某个...
-
3
Toki Pona:一种只有约 120 个单词的通用语言 Toki pona 是一种围绕语言尽可能简单理念而设计的Conlangs(人工语言)。除了 Toki P...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK