写点什么

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:003182
用户头像

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

关注

评论

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

划词搜索IP插件

郑州埃文科技

从大模型到MaaS的新生态

百度开发者中心

大模型 AIGC #人工智能

大模型突现能力与范式转变

百度开发者中心

大模型 #人工智能 ChatGPT

适用于 macOS 的温度和风扇速度控制工具 TG Pro

展初云

Mac Mac软件 风扇控制

适用于Mac平台的Git客户端 Fork

展初云

git Mac Mac软件

火山引擎ByteHouse:只需2个方法,增强ClickHouse数据导入能力

字节跳动数据平台

数据库 大数据 云原生 Clickhouse 数仓

sip中继是什么意思

cts喜友科技

SIP sip中继

按Value对Map进行排序,技术大佬们都在用这个方法

SoFlu-JavaAI开发助手

国产大模型与国外技术的碰撞

百度开发者中心

大模型 ChatGPT 文心一言

命名虚拟机及设置安装路径怎么操作

小齐写代码

大模型开发全流程解决方案

百度开发者中心

大模型 AIGC #人工智能

大模型问答助手前端实现打字机效果 | 京东云技术团队

京东科技开发者

前端 ChatGPT 企业号10月PK榜 流式回答

浅析SpringBoot加载配置的6种方式 | 京东云技术团队

京东科技开发者

配置文件 spring-boot 企业号10月PK榜

行业底部期,水泥建材企业如何有效进行数智人力管理升级?

用友BIP

流程制造

间接采购,集团现金流优化的“小成大就”

用友BIP

数智采购

亚马逊云科技生成式 AI 构建者大会精彩回顾

科技热闻

实用的命令行终端增强软件:Tabby | 京东云技术团队

京东科技开发者

ios windows 终端工具 Tabby

PDF文件阅读和编辑软件 PDF Reader Pro

展初云

Mac PDF pdf阅读器 pdf编辑工具

第6期 | 用友BIP项目云,为企业项目管理数智化而生

用友BIP

项目管理

性能测试的实践痛点和解决方法

老张

性能测试 技术实践

集成业务计划IBP,实现企业最终愿景

智达方通

预算管理 集成业务计划

国家数据局正式揭牌,隐私计算助力数据要素流通共享

郑州埃文科技

隐私计算

推出 Amazon Lightsail for Research

亚马逊云科技 (Amazon Web Services)

Amazon Lightsail

芯片制造企业必备的7种项目管理系统

爱吃小舅的鱼

项目管理 项目管理软件

Topaz Video AI for mac(视频增强和修复软件) 4.0.1永久激活版

mac

苹果mac 视频增强修复软件 Windows软件 Topaz Video AI

京东科技埋点数据治理和平台建设实践 | 京东云技术团队

京东科技开发者

数据埋点 平台建设 埋点治理 企业号10月PK榜

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