抖音技术能力大揭密!钜惠大礼、深度体验,尽在火山引擎增长沙龙,就等你来! 立即报名>> 了解详情
写点什么

成为多语言程序员

2017 年 5 月 09 日

年轻的 IT 开发人员在学校的几年中会学习几门编程语言,时间久了不用,甚至会忘记几门(Fortran、汇编等等)。 Martin Thompson 认为到他们上班的时候,学习的这些编程语言早已抛到脑后。

Zaiste 的理念与 Martin Thompson 的恰好相反。他每年都会尝试学习一门新的语言,并将其用于项目中。他认为这样做非常重要,因此他举办了有关 IT 多语言主题的会议:PolyConf 。PolyConf 大会将于 7 月 7 日至 7 月 9 日在 La Géode 举行。InfoQ 将以新闻、问答和文章的形式报道这次会议。

InfoQ FR 采访了 Zaiste,询问了他有关用不同语言编程的体验,不时换换编程语言的动机,不同语言模式之间的差别,他热爱的语言,以及今年 PolyConf 大会的主要内容。

InfoQ Fr能否请你首先介绍一下自己?

Zaiste:嗨,我是 Zaiste。我在巴黎经营一家软件公司,我热爱在世界各地举办技术活动,其中 PolyConf 大会是规模最大的一个。大约 12 年前,我在银行业开启了编程的职业生涯,那时候我使用 Struts 1 和 Spring 工具以及 Java 编程语言。在这之前,我的工作比较偏学术方面,并且主要使用 Python 语言。2005 年我开始使用 Ruby 和 Rails,两年之后,我召开了有关 Ruby 和 Python 的会议,叫 RuPy。现在我尤其喜欢用 JavaScript 语言写代码,特别是它的新版本,我自己也感到非常惊讶。我非常喜欢 Clojure,也非常高兴看到 OCaml 和 Reason 社区能有时间深入探究。

InfoQ Fr: 你召开了有关多语言编程的 PolyConf 大会。为什么你认为 IT 多语言如此重要呢?

Zaiste:多语言编程不是指同时或在一个项目中使用不同的编程语言。而是指一种软件开发艺术的全方位手段。程序员应该更加深入地、综合地了解编程概念,而不仅仅只是精通一门编程语言。他们应该不断寻求如何改进他们的实践,以及最终如何推广和提升。我一直将米开朗基罗和达芬奇视为楷模,他们不仅仅是发明家、建筑师、设计师,还是画家和雕塑家。热衷于软件工艺的人不应该仅仅了解一两门编程语言。

人才市场需要人们提供多年相关经验来证明他们的技术才能。了解 Angular 通常不适合做 React 相关工作,但是这两者都是 JavaScript 解决方案,可以处理相同的问题。公司喜欢争取在某一方面受过良好训练的员工,他们在这一方面的特别技能会受到企业的青睐。然而,我建议企业去挑选知识全面的工程师,即使他们的简历中不会有太多关键词和吹嘘之词,但是公司更应该考虑雇佣更加这样的人才。

InfoQ Fr: 你是如何将多语言编程实践到日常工作中去的?

Zaiste:PolyConf 大会对我来说是个理想的学习场所,能够帮助我加深对使用工具的理解,也帮助我从不同角度来看待问题并寻找解决方案。我能看到一些老旧的、不受欢迎的想法是如何重新流行起来的,一些被遗忘的点子又是怎样回到人们的视线中的。《多语言方法》一书让我对编程有了更加全面的看法。通过比较多种技术,我可以快速了解它们的优缺点和应用环境。

InfoQ Fr: 你最期待学习使用的新语言是哪些?

Zaiste:我最近非常喜爱 Rust 和 OCaml,它们都各具特色。Rust 是非常快的系统编程语言,而 OCaml 是多范式语言,在类似 ML 这样的系统下统一了功能化、命令行化和面向对象编程。

InfoQ Fr: 有许多多语言编程相关的会议。PolyConf 大会更侧重于什么?

Zaiste:有好多个有关多语言编程的会议,我也非常期待新的会议的出现。我举办 PolyConf 大会的目的是促进不同编程语言和社区之间的交流。我们期望成为实现最终目标的助力之一。

InfoQ Fr: 作为 PolyConf 2017 大会的与会者之一,我将在这次会议上看到什么?

Zaiste:今年会更加偏重于虚拟机内容。 Chris Seaton 将会介绍 Graal :目标实现高性能 Java 动态编译器和 Ruby 环境下的解释器的一款 Oracle 项目。 Maxime Chevalier-Boisvert 将会介绍她正在搭建的动态语言平台。Jack Moffitt 将向我们展示 Servo :Rust 语言编写的 Web 浏览器引擎原型,而 Etiene Dalcol 将和我们探讨 Lua 和 LuaJIT。这只是整个大会的一小部分内容,要想获得更多内容,请持续关注。

查看英文原文 Being a Polyglot Programmer


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017 年 5 月 09 日 19:002181
用户头像

发布了 217 篇内容, 共 54.1 次阅读, 收获喜欢 70 次。

关注

评论

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

Golang Package sync 透析

卓丁

golang sync

实战解读丨Linux下实现高并发socket最大连接数的配置方法

华为云开发者社区

Linux TCP socket 高并发

深入理解JVM垃圾回收机制 - GC Roots枚举

WANDEFOUR

GC Roots枚举 安全点 安全区域 OopMap

架构师训练营第十三周总结

张明森

用函数式写法精简Java代码的一个例子

Sean

Java 函数式编程

Go: gops如何与Go运行时交互?

陈思敏捷

go golang gops

ARTS打卡 第15周

引花眠

微服务 ARTS 打卡计划

你问我答:容器平台改造后的安全是如何解决的?

BoCloud博云

云计算 容器 微服务 PaaS 博云

甲方日常 8

句子

工作 随笔杂谈 日常

ARTS Week15

时之虫

ARTS 打卡计划

翻转链表,机器学习视觉训练,对数据的人工标注,使信息丢失,John 易筋 ARTS 打卡 Week 16

John(易筋)

学习 ARTS 打卡计划 翻转链表 Google论文评判人工预处理 大数据架构Spark

给DevOps加点料——融入安全性的DevSecOps

禅道项目管理

DevOps 运维 测试 开发 安全性

大数据管理:构建数据自己的“独门独院”

华为云开发者社区

大数据 数据湖

Redis 数据同步机制--主从模式

是老郭啊

redis 主从配置 主从同步 redis主从 主从复制

拥抱K8S系列-05-基于docker部署面临的问题

张无忌

Docker 运维

给大家介绍下,这是我的流程图软件 —— draw.io

程序员小航

工具 流程图 draw.io drawio-desktop 画图软件

LeetCode题解:239. 滑动窗口最大值,单调队列,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

读后感之《任正非:以客户为中心》

王新涵

oeasy教您玩转linux010206 蒸汽机车 sl

o

[翻译] Go Concurrency Patterns: Pipelines and cancellation[Go并发模式]

卓丁

channel pipeline

一点思考|工作十几年了,竟从未用过do-while!

王磊

Java

从湖南“软硬兼施”,管窥三湘水畔的智能浪潮

脑极体

用 Python 实现一个简易版的 Pong 游戏 (一)

Matrix Chan

Python Turtle Python游戏

Spring 5 中文解析测试篇-Spring测试

青年IT男

Spring5 JUnit

3. 站在使用层面,Bean Validation这些标准接口你需要烂熟于胸

YourBatman

Hibernate-Validator Bean Validation 数据校验

阿里巴巴发布国内首个公益区块链标准 用技术让公益公开透明

CECBC区块链专委会

区块链 公益

学习 Java,有什么书籍推荐?学习的方法和过程是怎样的?

沉默王二

Java 学习 程序员 书单

握草,你竟然在代码里下毒!

小傅哥

Java 程序员 小傅哥 bug 有毒代码

有奖征文重磅来袭,来!一起玩把大的!

有只小耳朵

程序的机器级表示-数组的分配和访问

引花眠

计算机基础

不支持原子性的 Redis 事务也叫事务吗?

海星

Java redis 事务

Study Go: From Zero to Hero

Study Go: From Zero to Hero

成为多语言程序员-InfoQ