【IT168 评论】现在市面上已经存在着很多编程语言,那么还有必要投入这么多的人力物力去开发一个新的编程语言吗?三种新的开源编程语言(Coconut、 Crystal、Oden )的作者给出了答案:

在程序设计中,没有永远的满足,总会有新的市场和需求需要被满足。

开发者使用现有的开发语言工具进行开发时发现这些语言并不能完全满足他们的需求,总是有所欠缺,所以他们才会下定决心来开发一款完全适合自己的编程语言。Coconut主要是用来编译Python,Crystal致力于整合多种编程能力,而Oden则是为了填补谷歌Go语言的缺失。

为了对这些语言的起源和设计初衷能够有更好的了解,我们采访了它们背后的开发团队,希望能够对大家有所启发。

Coconut:扩展Python的范围

谈到开发Coconut的初衷,Coconut的开发者Evan Hubinger这样说:我爱函数式编程,我认为函数式编程提供了一种更自然的方式来思考问题,而且产生的代码更加简洁易读。回看排名前20的最流行的编程语言,你会发现尽管它们都不是函数式编程语言,但是基本都有这方面的替代品,例如Java有Scala,C#有F#等等。

Hubinger说:Python是他的第一语言,在使用过程中他发现Python对命令式编程来说是优雅的,但是在函数式编程方面的表现就让人大失所望。Coconut是Hubinger在Python函数式编程方面进行的第二次尝试。

Crystal:融合了现有语言的特征

Crystal的主要开发者Ary Borenszweig认为现有的语言各有所长,但是也各有所短,没有任何一种语言能够博采众长,所以他想要开发一种能够及众家之所长的编程语言。

Crystal是一个开源的、类似于Ruby语法的编程语言,其将Ruby的编程高效性和C语言的性能结合到了一起。Borenszweig强调,Crystal支持静态类型检查,无需指定变量类型,实例变量或方法参数,代码更加通用;支持自动内存管理、本地虚拟机;支持宏、支持现有的C语言库。

Oden:和Go共创成功

Oden是有一个Go语言的粉丝开发的。

Oden的开发者Oskar Wickstrom 表示:“我一直很喜欢Go的工具和部署,Go是一种学习曲线是柔和的编程语言。但是在使用Go语言编程的过程中还是遇到了一些不尽如人意的地方,比如流程控制和错误处理等等。”

Wickstrom说,Oden的设计初衷就是为了解除这些限制,提供更灵活的类型系统,同时也把重点放在函数式编程。另外一个目的就是要和Go保持很好的互操作性,可以使用Go的标准库,无需编写绑定。

新兴语言的出现

创造一种语言是一回事,帮助开发者解决实际问题又是另外一回事。我们看到这三种新兴语言已经有了使用案例。

Wickstrom 表示Oden擅于处理Go任务,例如Web服务器、后端服务,命令行工具等等。另外它也有良好的库,提供用户定义的数据结构,通用算法和抽象控制流。

Borenszweig表示Crystal同样适用于Web服务,因为它具有非阻塞I/O和轻量级的进程。现有的应用程序,包括命令行应用程序,仿真器,网站和IRC僵尸,可以应用在响应速度快性能要求高的竞赛节目中。

Hubinger表示:Coconut完美支持Python,所以Coconut完全能够做到Python做到的一切。

Crystal和Oden仍处于发展的初期阶段,但是Coconut 已经发布了版本 1.1。Crystal是基于Ruby的,但是编译器是用其自身来编写的。Coconut的编译器是用Python编写的。Oden的编译器是由Haskell编写的。

新出的计算机语言,新编程语言是鸡肋?听听创始人们怎么说相关推荐

  1. 新编程语言——微软的“M”语言

    在一个 软件为中心的世界里, 我们已经有了太多太多的计算机语言用以编程--从脚本语言到字节码编译语言,再到最高级的架构语言和 嵌入式语言.而现在,微软正打算 开发另外一种编程语言,代号为"M ...

  2. 再见Python!Yann LeCun警告:深度学习需要新编程语言

    整理 | 一一 出品 | AI科技大本营 尽管工程师们普遍定位 Python 是简单.优雅的编程语言,但它并非毫无缺点,比如人们一直吐槽它的执行速度不够快,线程不能利用多 CPU 等缺点,如今 AI ...

  3. 谷歌发布新编程语言,专治SQL各种“不服”

    丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 天下苦SQL久矣. 写个查询语句而已,动不动就上百行-- 不过谷歌新推出的这个逻辑编程语言,对于"SQL党"来说可谓是福 ...

  4. Java语言的替代品:JVM的新编程语言开源

    近日,JetBrains 宣布将其 Kotlin 编程语言开源,这是一个针对 Java 和 JavaScript 平台的现代编程语言,该语言的设计目的是成为 Java 语言的替代品. Kotlin 是 ...

  5. 学习一种新编程语言要做的15个练习

    学习一种新编程语言要做的15个练习 Posted on 2010-01-31 09:57 小豆丁 阅读(34) 评论(0) 编辑 收藏 简介 怎样快速学习一门新的编程语言?本文提供了一个行之有效的方法 ...

  6. Libra 新编程语言 :Move 所有权模型灵感竟是来自它……

    作者 | Dieter Shirley 译者 | 火火酱  责编 | Carol 出品 | 区块链大本营(blockchain_camp) 智能合约是一类专用于管理有价值数字资产所有权的独特软件.尽管 ...

  7. 腾讯 QQ 产品已经实现全量上云;中科院计算所发明新编程语言“木兰”;Electron 7.1.9 发布 | 极客头条...

    整理 | 屠敏 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注 ...

  8. 再见 Python!Yann LeCun 警告:深度学习需要新编程语言

    整理 | 一一 出品 | AI科技大本营 Python 全栈工程师系统学 https://edu.csdn.net/topic/ai30?utm_source=csdn_bw 尽管工程师们普遍定位 P ...

  9. 编译器大神 Chris Lattner 官宣新编程语言:Mojo,比 Python 快 35000 倍!

    整理 | 王子彧    责编 | 张红月 出品 | CSDN(ID:CSDNnews) 说起 Chris Lattner,大家一定不陌生.这位编译器大神,曾经领导了众多大型技术项目.他不仅是 LLVM ...

  10. 腾讯 QQ 产品已经实现全量上云;中科院计算所发明新编程语言“木兰”;Electron 7.1.9 发布 | 极客头条

    一分钟速览新闻点! 贵州今年建成华为数据中心.iCloud 数据中心等项目 美团打车:"出租车感谢费"模块已下线,将进一步评估方案 腾讯 QQ 产品已经实现全量上云 华为面向全球发 ...

最新文章

  1. 如何做一个好的互联网老板(二)
  2. Hack Into Linux Packet Schedulers
  3. MySQL主从复制详细配置步骤及复制延时问题解决
  4. 谈谈surging引擎的tcp、http、ws协议和如何容器化部署
  5. verilog异步复位jk触发器_异步复位同步释放原理
  6. LeetCode(62):不同路径
  7. 前端------Codepen 用起来非常舒服的工具
  8. 第9章 逻辑回归 学习笔记 中
  9. JUC主要包含哪些功能?
  10. 西门子与源讯联手打造网络安全技术;全球首个5G全息国际通话打通 | IoT黑板报...
  11. 【实践与问题解决30】苹果手机如何取消使用切换控制时候弹出的重要通知
  12. 第1天——R语言介绍
  13. 表示颜色的英语单词(图)
  14. 学微积,用手机,人人“知识共享”学真知
  15. 中国电子级高性能聚酰亚胺薄膜市场十四五规划与发展战略建议报告2022~2028年
  16. kali系统的u盘安装过程_kali linux怎么安装u盘启动
  17. 醍醐灌顶——我眼中的Spring Cloud
  18. SCADA系统一次系统与二次系统模型
  19. 计算机进位制及其规则,进位计数制及其转换方法过程详解
  20. Media Encoder CC 2017安装使用攻略

热门文章

  1. 构建REST风格的Web Service (转)
  2. 【Mybatis】Mybatis三大组件之StatementHandler
  3. Oracle相同的一个SQL执行计划截然不同的解决方法
  4. Docker备份镜像和重新载入镜像
  5. Linux运维之如何查看目录被哪些进程所占用,lsof命令、fuser命令
  6. springSecurity 基于方法权限控制@RolesAllowed @Serured @PreAuthorize 与 页面端标签控制权限...
  7. Jarvis Oj Pwn 学习笔记-level1
  8. MySQL主从介绍及配置
  9. L01-03:python学习之控制语句
  10. 【原译】一个可定制的WPF任务对话框