他因提及其他编程语言而被禁止

news2025/1/12 1:52:50

在Java社区提一提Kotlin,可能会惹来大麻烦。

想象一下,你把整个职业生涯都奉献给了编程,特别是精通某一种特定的编程语言。你写书,参与该语言的开发,围绕它构建东西,分享你的知识,然后突然间,你就因为在一个程序员群组中提到另一种编程语言而被封禁了。

这就是发生在 **Kevin Bourrillion ** 身上的事,他是Java社区中最杰出的人物之一。Kevin 在谷歌工作了将近二十年,共同撰写了Java Google 风格指南,是瓦尔哈拉项目的代表,还创立了Guava,这只是他的几项成就。

然而,足以说明 Kevin Bourrillion 对Java社区的重大贡献。

三天前,他分享了一条来自Java subreddit版主的信息。

Subreddit 有点像早期的Facebook群组。每个subreddit都有自己的主题、规则和版主。Subreddit 由社交媒体平台 Reddit 托管。特别是Java subreddit,拥有32.7万会员。虽然这并不意味着他们都很活跃,但这个数字很高。

Kevin收到的信息是这样的:

915a34ce82b133aca71bcf47d8946ebb.png

我们可以从消息中了解到,凯文被永久禁止了。这意味着他将永远无法再参加这个小组。

此外,我们了解到他因为一条评论被禁言。这意味着有人在这个群组里发表了一些东西,Kevin 对此进行了评论,然后被禁言。

版主还询问了 Kevin 对什么不清楚,并冒犯性地要求他在 Kotlin subreddit 上吹嘘。Kotlin subreddit 是另一种与 Java 竞争的 JVM 语言,Kotlin 的 subreddit。

我们不知道原来的评论是什么,引发了如此激烈的反应。

什么样的评论可能导致一个编程组永久禁止?

在后续的推文中,Kevin分享了那条导致他被封禁的评论:

8ca5303ca8afe1d8b77ef144845e126a.png

凯文使用的昵称是kevinb9b。他回应了另一个表示喜欢空引用(null references)的Redditor。

为了解释这里发生的事情,我们需要更深入地了解“空值(null)”这一主题。如果你考虑一个类型为字符串的变量,它可以持有哪些值?答案可能因编程语言而异。它肯定可以持有一个字符串,但它能持有一个空值(null)吗?一个缺失的值?

在Java和许多其他语言中,变量确实可以持有空值。然而,定义了空值的托尼·霍尔(Tony Hoare)后来意识到这是一个错误。这是因为当你得到一个空值而不是一个定义类型的值时,有时候很难处理这种情况。

这就是为什么一些编程语言不允许空值的原因。

Kotlin 是这样一种语言。如果你想在字符串中存储空值(null),你必须明确地这样做。

有些程序员喜欢不使用空值,因为这样他们的集成开发环境(IDE)和编译器可以在开发过程中警告他们出现了意外的空值。因此,在运行时出现空值错误的风险较低。

总结一下,有人在Java的subreddit上写道,他喜欢空值并不理解为什么人们不喜欢它们。

凯文回复分享了他在Kotlin(一种竞争语言)中无空值编程的经验,这帮助他提高了安全性和开发者体验。

正因为此,他被永久禁言。这听起来很荒谬,对吗?

然而,这里有一点重要的事情需要提到。Kotlin和Java就像是《哈利·波特》和《指环王》的粉丝一样。

一方不承认另一方的存在,并且当提到另一方时会变得极度紧张。这就像编程世界中那种非常特殊的现象,程序员们形成了两个竞争的阵营,并互相对抗。

我能理解版主被激怒,并开始对触发他的每个人进行愤怒封禁。

如果是像我这样的普通用户,可能没人会注意到。

但在这个特殊情况下,被禁止的人实际上是一位致力于Java开发并做出了重大贡献的开发者。

所以当凯文在网上分享他的用餐经历时,大家都开始讨论这个话题。例如,Vanessa写道:

我的天,为什么版主要对此如此生气?Reddit的版主真是一种特别的群体。

这让人不禁想知道,为什么一个版主会对一个既不是冒犯性也不是垃圾邮件的评论做出夸张的反应。基本上,这是互联网评论中的精华。

这正是那些开始在subreddit上围绕那个主题发布各种内容的人们感到恼怒的原因。

最终,昨天Kevin被解封,并请求人们不要对版主怀有恶意:

aa216ac38734cb2b4656437452af0c98.png

我理解Kevin所写的内容,即版主的工作很艰难,甚至可能给人留下Java subreddit上的版主总是做出荒谬决定的印象。然而,这是一种可得性偏见,因为他们所做的所有好事并没有上头条。

他还注意到,如果有人已经对版主持有负面偏见,这样的信息可能会导致确认偏误。这可能会放大负面看法,即使这种看法通常是不真实的。

Kevin是对的。我们不应该将这种情况概括化。但是记住,如果你想在Java群组中写关于Kotlin的内容,至少要说一些关于Java的好话。以防万一。

最后:

vue2与vue3技巧合集

VueUse源码解读

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1675713.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

四川汇聚荣:拼多多开店流程分享

随着电商行业的蓬勃发展,越来趀多的创业者选择在线上平台开设店铺。其中,拼多多以其独特的团购模式和巨大的用户基数成为众多商家的新宠。但对于初次涉足的商家而言,如何正确高效地开设一家拼多多店铺,无疑是他们迫切需要解决的难…

[译文] 恶意代码分析:2.LNK文件伪装成证书传播RokRAT恶意软件(含无文件攻击)

这是作者新开的一个专栏,主要翻译国外知名安全厂商的技术报告和安全技术,了解它们的前沿技术,学习它们威胁溯源和恶意代码分析的方法,希望对您有所帮助。当然,由于作者英语有限,会借助LLM进行校验和润色&am…

nestJs中跨库查询

app.module.ts中配置 模块的module中 注意实体类在写的时候和数据库中的表名一样 service中使用一下

电商核心技术揭秘56:客户关系管理与忠诚度提升

相关系列文章 电商技术揭秘相关系列文章合集(1) 电商技术揭秘相关系列文章合集(2) 电商技术揭秘相关系列文章合集(3) 文章目录 引言客户关系管理(CRM)的重要性提升顾客体验数据驱…

【Unity Shader入门精要 第7章】基础纹理(一)

1. 纹理映射 每一张纹理可以看作拥有一个属于自己的2D坐标空间,其横轴用U表示,纵轴用V表示,因此也称为UV坐标空间。 UV空间的坐标范围为[0,0]到[1,1],在Unity中,UV空间也是从左下到右上&#…

OSPF工作过程

1.OSPF的数据包 hello包——周期性的发现,建立以及保活邻居关系 hello时间 --- 10S 死亡时间 --- 4倍的hello时间 --- 40S RID --- 1,全网唯一;2,格式统一---- 格式要求和IP地址一样,由32位二进制构成,使用点分十进制…

【科研】常用的实验结果评价指标(2) —— MAE 是什么? !

了解MAE 提示:先说概念,后续再陆续上代码 文章目录 了解MAE前言一、MAE 基本概念1. MAE 是什么?2. MAE 的起源3. MAE 的计算公式 二、MAE的适用场景是什么?三、MAE 的劣势,或 不适用于那些场景或者数据?四、…

常见磁盘分区问题

给磁盘分区有几个主要的原因: 组织和管理数据:分区可以帮助用户更好地组织和管理数据。例如,你可以在一个分区上安装操作系统,而在另一个分区上存储个人文件。这样,即使操作系统崩溃或需要重新安装,你的个…

十二生肖Midjourney绘画大挑战:释放你的创意火花

随着AI艺术逐渐进入大众视野,使用Midjourney绘制十二生肖不仅能够激发我们的想象力,还能让我们与传统文化进行一场新式的对话。在这里,我们会逐一提供给你创意满满的绘画提示词,让你的作品别具一格。而且,我们还精选了…

机器学习周报第41周

目录 摘要Abstract一、文献阅读1.1 摘要1.2 背景1.3 论文方法1.3.1 局部特征提取1.3.2 局部特征转换器 (LoFTR) 模块1.3.4 建立粗粒度匹配1.3.5 精细匹配 1.4 损失1.5 实现细节1.6 实验1.6.1 单应性估计1.6.2 相对位姿估计 二、论文代码总结 摘要 本周阅读了一篇特征匹配领域的…

【JS面试题】原型原型链

一、面试真题展示: 1. 如何准确判断一个变量是不是数组? ① 使用instanceof进行判断:a instanceof Array ② 使用Array.isArray()进行判断:Array.isArray(a) 2. 手写一个简易的jQuery,考虑插件和扩展性? …

iOS——消息传递和消息转发

消息传递(Message Passing): 在 iOS 中,消息传递机制是基于 Objective-C 语言的动态性质的一种编程方式。这种机制主要涉及到两个概念:发送者(即消息的发送对象)和接收者(即消息的接…

定时器的理论和使用

文章目录 一、定时器理论1.1定时器创建和使用 二、定时器实践2.1周期触发定时器2.2按键消抖 一、定时器理论 定时器是一种允许在特定时间间隔后或在将来的某个时间点调用回调函数的机制。对于需要周期性任务或延迟执行任务的嵌入式应用程序特别有用。 软件定时器: …

Linux修炼之路之yum和vim编辑器

目录 一:Linux软件包管理器yum 二:vim编辑器 vim的三种模式及互相转换 命令模式 底行模式 三:普通用户的sudo指令(修改信任名单) 接下来的日子会顺顺利利,万事胜意,生活明朗-----------林辞忧 一&#xff1a…

(三)Spring教程——依赖注入与控制反转

Spring框架是为了简化企业级应用开发而创建的,其强大之处在于对Java SE和Java EE开发进行全方位的简化,Spring还对常用的功能进行封装,可以极大地提高Java EE的开发效率。 依赖注入是Spring的核心技术之一,也被称为“控制反转”&a…

听说SOLIDWORKS科研版可以节约研发成本?

近几年来,政府越来越重视科研带动产业,绩效优良的产业技术研究院对于国家和地区的学术成果转化、技术创新、产业发展等具有不可忽视的促进和带动作用。研究院会承担众多新产业的基础研究工作,而常规的基础研究需要长期的积累,每个…

【C++】string|迭代器iterator|getline|find

目录 ​编辑 string 1.string与char* 的区别 2.string的使用 字符串遍历 利用迭代器遍历 范围for遍历 反向迭代器 字符串capacity 字符串插入操作 push_back函数 append函数 运算符 ​编辑 insert函数 substr函数 字符串查找函数 find函数 rfind函数 …

果蔬经营平台|基于SSM+vue的果蔬经营平台系统的设计与实现(源码+数据库+文档)

果蔬经营平台系统 目录 基于SSM+vue的果蔬经营平台系统的设计与实现 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介…

过滤器Filter和拦截器Interceptor实现登录校验

一.过滤器 Filter过滤器可以把对资源的请求拦截下来,从而实现一些登录验证的功能 1.Filter的快速入门 1.定义Filter:定义一个类,实现Filter接口,并重写其所有方法。2.配置 public class dofilter implements Filter {Override //初始化只…

IT技术产品:开发者极为重要的思维习惯

1、特色内容预告 1、我用敏捷开发思维,提高工作效率。 2、我用代码批判思维,逐渐让自己的作品变得无可挑剔。 3、我是一个顶级程序员,是哪些重要的专业习惯,让我如此优秀? 2、可以免费获取到的IT资源 1、《软件工程&a…