写点什么

Clojure 1.8 提升了性能和开发体验

  • 2016-01-29
  • 本文字数:991 字

    阅读完需:约 3 分钟

2016 年 1 月初,身为 Clojure 社区主要开发者之一的 Alex Miller宣布了Clojure 的最新版本。Clojure 1.8 的主要新特性包括“直链(Direct Linking)”、字符串函数和套接字服务器。此外,它还包含一些小的改进及30 多项Bug 修复。

Clojure 是原始 Lisp 编程语言的一种现代化方言,初次出现是在 2007 年 10 月,第一个稳定版本于 2009 年发布。从那时起,Clojure 就大体上保持着每年一个版本的发布节奏。不过,最新评论表明,其目标是每6 个月发布一个新版本

这三个主要的新特性之间没有关联,但是它们为Clojure 用户带来了很大的好处。一方面,直链使用户可以直接静态调用其他函数,与使用普通的两步间接调用相比,提升了性能。而且,这还使JVM 可以通过JIT(Just In Time)编译优化代码。这种方法的其中一个缺点是方法丧失了动态性,因此,方法无法在执行过程中重定义。不过,用户可以使用元数据“^redef”注解任意函数,从而有选择地关闭该标识。在1.8 版本中,Clojure 核心中所有函数的这个标识在默认情况下都是打开的。

另一方面,该版本新增了多个原生字符串函数:index-of、last-index-of、starts-with?、ends-with? 和includes?。此前,这类功能只能直接调用Java 的String 方法(通过名为 Java Interop 的 Java 原生代码交互工具)。与直链的目标相反,新增的字符串函数的运行效率实际上比现有的可选方案略低。不过,这些函数简化了开发,使得该特性以 29 票的得票数成为 Clojure JIRA 任务中最受欢迎的任务之一。这些函数也添加到了 ClojureScript 中。

最后,新增的套接字服务器功能使开发人员可以为任何 Clojure 应用程序创建一个套接字服务器,只需要简单地在命令行或配置文件中提供一个函数名作为参数。该功能配以新增的 clojure.core.server/repl 函数,可以用于同一个正在运行的、用于调式或开发目的的应用程序交互,因为 REPL 模块能够在运行时查看变量甚至重定义函数。不过,这个特性不大可能用在生产环境中,这主要有两个方面的原因:一是开放一个可以同正在运行的应用程序进行交互的服务器,明显会让人有安全上的担忧;二是如果启用直链(如果关注性能,那么就可能启用),那么方法重定义就无法使用了,这会削弱 REPL 服务器的价值。

除了这些特性外,Clojure 1.8 还包含许多其他的变更,感兴趣的读者可以查看官方的发布说明

查看英文原文: Clojure 1.8 Improves Performance and Development Experience

2016-01-29 18:003636
用户头像

发布了 1008 篇内容, 共 445.7 次阅读, 收获喜欢 346 次。

关注

评论

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

【每日学点HarmonyOS Next知识】JSBridge通信、输入框提示文字大小、读书翻页效果、Web回调函数、翻页自动轮播

轻口味

HarmonyOS HarmonyOS NEXT

AI大模型的本地化部署

北京木奇移动技术有限公司

AI大模型 私有化部署 软件外包公司

智能制造:企业运营的核心——PMC

积木链小链

数字化转型 企业管理 智能制造 PMC

【每日学点HarmonyOS Next知识】Tab切换声明周期、复杂Json组装、scroll最大高度、引用传递报错、Web性能

轻口味

HarmonyOS HarmonyOS NEXT

签约!中国煤炭地质总局携手用友打造央企财务数智化建设标杆

用友智能财务

财经 会计

研究机构科研管控系统(源码+文档+讲解+演示)

深圳亥时科技

【每日学点HarmonyOS Next知识】对话框回调问题、输入区域最大行数、web自定义节点、icon图标库、软键盘开关

轻口味

HarmonyOS HarmonyOS NEXT

【每日学点HarmonyOS Next知识】输入框自动获取焦点、JS桥实现方式、Popup设置全屏蒙版、鼠标事件适配、Web跨域

轻口味

HarmonyOS HarmonyOS NEXT

AI大模型本地化部署的优势

北京木奇移动技术有限公司

AI大模型 私有化部署 软件外包公司

CST超材料光子晶体和禁带分析实例

思茂信息

cst cst操作 CST软件

反向海淘反向代购独立站系统的终极神器?Hoobuy+电商API,让独立站躺着“搬砖”

代码忍者

AI大模型本地化部署的工具和框架

北京木奇移动技术有限公司

AI大模型 本地化部署 软件外包公司

快速了解黑龙江等级保护

黑龙江陆陆信息测评部

0代码+AI驱动,霍格沃兹测试开发学社‌「爱测智能化服务平台」限时体验

测试人

人工智能 软件测试 测试开发

【每日学点HarmonyOS Next知识】输入框限制小数位数、列表偏移计算、web请求header问题、对话框宽度、Web权限

轻口味

HarmonyOS HarmonyOS NEXT

【每日学点HarmonyOS Next知识】Web上传文件、监听上下左右区域连续点击、折叠悬停、字符串相关、播放沙盒视频

轻口味

HarmonyOS HarmonyOS NEXT

【每日学点HarmonyOS Next知识】Web跨域资源、Web长按菜单、Web拦截请求、禁止录屏、Base64图片宽高

轻口味

HarmonyOS HarmonyOS NEXT

LED显示屏:点亮商场与零售的“吸睛”密码

Dylan

LED显示屏 全彩LED显示屏 户外LED显示屏 led显示屏厂家 户内led显示屏

AI大模型本地化部署的技术

北京木奇移动技术有限公司

AI大模型 私有化部署 软件外包公司

淘宝店铺所有商品数据接口详解

tbapi

淘宝API接口 淘宝店铺所有商品接口

软件设计模式及其应用

陈一之

软件工程 设计模式

【每日学点HarmonyOS Next知识】双向传值问题、子组件半径、VIdeo标签下载隐藏、字符串替换、路由问题

轻口味

HarmonyOS HarmonyOS NEXT

7B 开源模型性能超越 LLaVA,DeepSeek Janus Pro 论文详解

Baihai IDP

人工智能 AI LLMs DeepSeek Janus Pro

【每日学点HarmonyOS Next知识】输入法光标控制、Text部分圆角、Web组件缓存、Grid问题、Web出现PC效果

轻口味

HarmonyOS HarmonyOS NEXT

HarmonyOS SDK让小红书鸿蒙用户尽享相机的拍摄之美

HarmonyOS SDK

harmoyos

企业身份安全管理面临的问题

芯盾时代

身份安全 iam 统一身份管理平台

AI大模型本地化部署的关键技术

北京木奇移动技术有限公司

AI大模型 本地化部署 软件外包公司

a16z:一文梳理 7 种代币分类,如何区分网络代币与公司支持代币?

TechubNews

加密货币 Meme 加密市场

签约!中国煤炭地质总局携手用友打造央企财务数智化建设标杆

用友BIP

数据 智能体 数智化 用友BIP 财务管理

天翼云“息壤”放大招!AI Agent限时优惠资源包,手慢无!

天翼云开发者社区

AI应用 科研助手 算力平台

GreatSQL 8.0.32-27 GA (2025-3-10)

GreatSQL

Clojure 1.8提升了性能和开发体验_Java_Abraham Marín Pérez_InfoQ精选文章