clojure java_为什么选择Java? 为什么选择Clojure?

clojure java

我于1997年在大学学习Java。那是我大学三年级,而Java的版本为1.1。

我仍然记得努力了解类路径以及包,文件和文件夹之间的关系。 真慢!

但是我更生动地记得它是如何立即点击的。 它解决了我在使用C时遇到的许多头痛问题。

也许Java没有C强大,但是我觉得效率更高了一个数量级:

  • 垃圾回收:大量的复杂性和错误在一夜之间消失了。
  • NullPointerExceptions:它们很棒! (如果将它们与崩溃,内存损坏和核心转储进行比较)
  • 不可变的字符串:我整天都在操纵字符串; 不变的琴弦使我的生活变得如此轻松。

所有这些功能使我的程序变得非常简单,它们使我的大脑专注于更重要的内容。

但是到了2008年,我意识到自己内心深处的不满。

ORM和永无休止的对象关系阻抗不匹配,较长的编译和部署周期,XML所有内容(或更现代的注释所有内容),数百万个if(foo!= nil) ,工厂和FactoryFactories,不灵活的类型,很少重用和所有框架的黑魔法。

然后我的宠物讨厌:创建另一个Mapper类以将一个DTO转换为另一个DTO,这两个类的95%相同。

我的意思是:

如果我仍然想成为一名程序员,我再也不想这样做了
Rich Hickey-Clojure,变得简单。

所以我开始寻找其他地方:Ruby,Erlang,Scala。 有人建议研究Clojure,我当然忽略了他(这是LISP!LISP!)。

但后来Rich Rich Hickey的“ 简单轻松”谈话确实引起了共鸣。 我一直在寻找简单。

Clojure解决了我使用Java时遇到的许多麻烦。 Clojure比Java更强大,我觉得
数量级更高的生产力:

  • 数据优先:一旦您接受了程序将数据从一种形状转换为另一种形状的事实,就可以丢弃90%的代码
  • REPL:不是Ruby的irb,不是Erlang的Shell或Scala的REPL,而是整个功能更强大的交互环境
  • 一切都是不可变的:不可变字符串的优点扩展到了整个代码库。

所有这些功能都使我的程序变得非常简单,它们使我的大脑可以专注于更重要的内容。

翻译自: https://dev.to/danlebrero/why-java-why-clojure-3kgi

clojure java

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值