2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

多语言和 DSLs 会使 Java 成为最后的大语言吗?

  • 2008-05-24
  • 本文字数:1126 字

    阅读完需:约 4 分钟

Ola Bini 说这个世界不会再有新的大(big)语言了,因为开发者要根据其问题域来选择不同的语言。同样,Martin Folwer 说开发者选择语言的根据是它能做什么,就像他们选择框架一样。另一方面,Joe Winchester 说你只能精通一种语言。

Ola Bini 在一篇最近发表的文章中详细分析了 Haskell、Java 和 Ruby 的类型系统的优劣,对这些语言进行比较并非不可能,但却很难

现在我们有三种语言。一种静态检查较强,比如 Haskell。一种静态检查较弱,比如 Java。还有一种是动态检查的,如 Ruby。从我的角度来说,他们分别善于不同的方面。甚至在同一个领域里他们都不会互相竞争。对他们进行比较真的没有什么太大意义。

Ola在多语言中找到了希望

一个优秀的程序员通过其判断来提供最佳值。这包括为工作选择最佳的语言。如果 Ruby 使你能用比 Java 快 5 倍的速度完成同样的功能,你需要考虑一下这是否可接受。另一方面,Java 的 IDE 使得维护变得很简单,但是通过使用 Ruby 代码,你需要维护的代码量只有 Java 的五分之一。这种交换可接受吗?有些情况下,是的。

最后他建议:

成为优秀的通晓多种语言的程序员。这个世界不会再有新的大语言了,你需要调整思维适应这个环境。

Joe Winchester 在 Java 开发者杂志上给出了一个不同的视角。他相信:

你只可能精通一门语言——如果什么都会,那其实就是什么都不会。

Joe 回想起 Smalltalk 社区所做的尝试:让 Java 运行在他们的虚拟机上(Universal Virtual Machine——UVM),这一切简直就是一场噩梦。

最后他说:

我们需要完善 Java,而不是对 VM 做一些手脚,更不是仅仅为了适应几年前就已不存在的语言而徒增复杂性。

如果我们不把 Java 看做一门语言,而仅仅看做是一些“Java 技术”之类的东西的话,那么我们正在用其他语言来减弱 Java 的能力,并提高了构建优秀软件的成本。

另一方面,Martin Folwer 也提到我们可能正在走进这样一个时期:

我们看到项目中使用了多种语言,开发者选择语言的根据是它能做什么,就像他们选择框架一样。

他说自从 SmallTalk 之后已经发生了很多变化

我们难道回退到 80 年代晚期和 90 年代初期那种语言争论的时代了吗?我想我们将看到多语言的争论,但这有一个很重要的区别。在 80 年代晚期,语言之间很难实现紧密的交互。现在人们将很多精力放在使得不同语言能紧密交互的环境构建上。脚本语言本来就与 C 有着密切的关系。人们投入了大量精力实现 JVM 和 CLR 平台的交互。人们在库的构建上花费了大量时间以使语言能忽略它们的不同。

去年在 InfoQ 上有一篇文章讨论到 DSLs 是否会终结单语言开发

你的想法如何?多语言和 DSLs 会占据主导地位,从而不给新的“下一代的大语言”留下任何余地吗?

查看英文原文: Will Polyglotism and DSLs make Java the Last Big Language?

2008-05-24 08:271203
用户头像

发布了 88 篇内容, 共 273.1 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

极光开发者周刊【No.0430】

极光GPTBots-极光推送

IT 专业大学生被培训机构“渗透”情况调查

梦想橡皮擦

签约计划

群英荟萃 | UINO优锘科技ThingJS平台亮相华为开发者大会

ThingJS数字孪生引擎

物联网 3D可视化 数字孪生

什么,你管这叫“线程安全”?

Java大蜗牛

Java 程序员 编程语言 后端 线程安全

科技赋能 博睿数据引领教育行业走入“服务可达”时代

博睿数据

在线教育 博睿数据 服务可达

引入:从云计算到Serverless

刘宇

高校软件IT专业大学生课外培训调查问卷

穿过生命散发芬芳

行业分析能力考核

聆听极致 ——声网 Agora

cv君

算法 音视频 科技 声网 引航计划

带你温习一下webpack配置

IT皮皮蟹

npm nodejs webpack

2.8W字Java基础学习和书籍推荐,真正意义上的从0到1学Java,才不是培训机构那种大纲文

北游学Java

面向对象 线程 集合 java基础 IO流

新人小白福利来啦!精简版java知识总结,阿里P8大牛看完都说绝了

牛哄哄的java大师

Java

软件 IT专业的高校大学生是否写文调查问卷

Bob

问卷调查 行业分析能力考核 高校大学生 写文

5月日更,InfoQ 高定T-恤,达标来领~

InfoQ写作社区官方

5月日更 热门活动

【得物技术】网络优化——域名解析原理&实践

得物技术

网络 域名解析 域名 得物技术 实践

参加人气创作者的一些感悟

石云升

28天写作 4月日更 1 周年盛典

弱密码会毁灭物联网(IoT)吗?

龙归科技

密码管理

云原生除了K8S、微服务,还有...?

云计算

​太厉害了,终于有人把Spring条件注解讲明白了,送你上岸!

飞飞JAva

spring

Boss直聘转发超100W次Java面试突击手册 火遍全网

比伯

Java 编程 程序员 架构 计算机

博睿数据DataView标准化指标管理,助力企业快速制定SLO

博睿数据

数据中台 博睿数据 dataview

音频变速变调原理及soundtouch代码分析

floer rivor

音视频

又一个免费良心的下载站,答应我:别再下到流氓软件了。

彭宏豪95

ios 效率 工具 下载 4月日更

SpringCloud-技术专题-Feign组件基本使用(2)

码界西柚

springmvc SpringCloud Hystrix Fegin

万字长文讲述我是怎样保送清华的|寒门学子的奋斗史(四)

程序猿石头

程序员 码农 逆袭 大学总结 读书总结

对于即将工作的IT大学生,该如何变强?

cv君

程序人生 IT 科技 问卷 有意义

SpringCloud-技术专题-Feign组件基本使用(1)

码界西柚

Configuration Hystrix spring-cloud Fegin Ribbon

我与写作平台的初次接触

Aldeo

1 周年盛典 我和写作平台的故事

聪明人的训练(三十)

Changing Lin

4月日更

Serverless的定义

刘宇

已跪!Java全能笔记爆火,Java教程/Java包/Eclipse安装指南全有

牛哄哄的java大师

Java

面试:某云面试题目整理

程序员架构进阶

Java 面试 自我提升 28天写作 4月日更

多语言和DSLs会使Java成为最后的大语言吗?_Java_Dio Synodinos_InfoQ精选文章