Java 之父偏爱函数式编程,反而被队友讨厌:编码风格简直像疯子!

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: Java 之父偏爱函数式编程,反而被队友讨厌:编码风格简直像疯子!


来源:OSC开源社区(ID:oschina2013)


James Gosling,加拿大计算机科学家,完成了 Java 的原始设计,并实现了 Java 最初版本的编译器和虚拟机,也是公认的 “Java 之父”。

Gosling 现在是 AWS 的工程师,在 12 月初的 reClojure 2022 线上会议中发表了主题演讲。

他分享了在技术行业工作数十年的经验,这些经验最终使他进入了云服务器领域,这次演讲内容涉及的主题也很广泛,涵盖了从编程语言如何演变到项目如何失败的方方面面。

Gosling 谈到了 Java 对于 AWS 的重要性。据他介绍,AWS 许多核心功能都采用 Java 实现,而且它拥有相当庞大的 Java 工程师团队 —— 一切都是为了性能,其中负责优化 GC 性能 的工程师组成了他们最大的团队。

Gosling 在欣赏 Clojure 对函数式编程的高度重视时,也分享了他自己的一个怪癖。Gosling 透露,他自己对函数式编程的偏爱导致一些人讨厌他的编码风格,比如他更喜欢使用递归而不是数组。 他介绍道:“在我最近交付的项目中,当我完成自己负责的那部分工作后,队友直言我的简直像是疯子。

在被问到 “为什么许多研究和实验并不总能转化为人们最终实际使用的东西时”,Gosling 指出最大的问题是工程师通常不知道如何解释他们在做什么。

他回忆了 Java 的早期阶段,当时 Gosling 妻子督促他和经营企业的负责人联系,并向他们解释 Java 如何让他们的生活更美好。

因此,Gosling 写了十几个不同类型公司的场景,他们可能会尝试做什么,以及为什么 Java 会让事情变得更好。Gosling 表示,这个举动帮了很大的忙。

Gosling 还分享了对 Java 现状的一些看法:“Brian Getz 和 Oracle 公司,他们正在从事 Java 的推进工作并处于其中的核心地位。总的来说,我对他们所做的事情感到非常满意。”



相关文章
|
4月前
|
Java
Java开发实现图片URL地址检验,如何编码?
【10月更文挑战第14天】Java开发实现图片URL地址检验,如何编码?
134 4
|
4月前
|
Java
Java实现随机生成某个省某个市的身份证号?如何编码?
【10月更文挑战第18天】Java实现随机生成某个省某个市的身份证号?如何编码?
285 5
|
4月前
|
Java
Java8函数式编程
Java8函数式编程
38 2
|
4月前
|
Java
Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
【10月更文挑战第14天】Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
98 2
|
1月前
|
自然语言处理 Java
Java中的字符集编码入门-增补字符(转载)
本文探讨Java对Unicode的支持及其发展历程。文章详细解析了Unicode字符集的结构,包括基本多语言面(BMP)和增补字符的表示方法,以及UTF-16编码中surrogate pair的使用。同时介绍了代码点和代码单元的概念,并解释了UTF-8的编码规则及其兼容性。
108 60
|
2月前
|
存储 Java 数据挖掘
Java 8 新特性之 Stream API:函数式编程风格的数据处理范式
Java 8 引入的 Stream API 提供了一种新的数据处理方式,支持函数式编程风格,能够高效、简洁地处理集合数据,实现过滤、映射、聚合等操作。
101 6
|
3月前
|
Java API
Java中的Lambda表达式与函数式编程####
【10月更文挑战第29天】 本文将深入探讨Java中Lambda表达式的实现及其在函数式编程中的应用。通过对比传统方法,我们将揭示Lambda如何简化代码、提高可读性和维护性。文章还将展示一些实际案例,帮助读者更好地理解和应用Lambda表达式。 ####
|
3月前
|
分布式计算 Java API
Java 8引入了流处理和函数式编程两大新特性
Java 8引入了流处理和函数式编程两大新特性。流处理提供了一种声明式的数据处理方式,使代码更简洁易读;函数式编程通过Lambda表达式和函数式接口,简化了代码书写,提高了灵活性。此外,Java 8还引入了Optional类、新的日期时间API等,进一步增强了编程能力。这些新特性使开发者能够编写更高效、更清晰的代码。
50 4
|
3月前
|
Java API 开发者
Java中的Lambda表达式与函数式编程####
在Java的演变过程中,Lambda表达式和函数式编程的引入无疑是一次重大的飞跃。本文将深入探讨Lambda表达式的定义、用法及优势,并结合实例说明如何在Java中利用Lambda表达式进行函数式编程。通过对比传统编程方式,揭示Lambda表达式如何简化代码、提高开发效率和可维护性。 ####
|
4月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
135 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)