专栏首页Bennyhuo《Kotlin 极简教程》涉嫌抄袭

《Kotlin 极简教程》涉嫌抄袭

各位亲,这篇文章没有干货,如果你只对干货感兴趣,那可以关掉页面了,谢谢你的支持。

概要

最近发现 《Kotlin 极简教程》一书中关于 Native 的一章(第 16 章)与我很早在公众号发过的一篇文章 Kotlin Native 详细体验,你想要的都在这儿 中所使用的代码高度雷同。

本文主要就此事写点儿想(tu)法(cao)。

另外,我发现这事儿已经快两周了,上周在电子版的仓库中提了 Issue,可是这位仁兄并没有给出答复。

写篇文章告诉大家我不高兴,以及为什么不高兴。

先说是不是,再说为什么

通常来说,我抛出一个命题,就需要提供足够的证据证明它。这并没有什么意思,但不得不做。

这一节我将罗列前面提到的雷同点,其中 《Kotlin 极简教程》的文字来自于该书的 GitHub 仓库中的电子版,纸质版我就懒得拿来对证了,没意思。

说明:我的文章写与 2017年4月17日,有微信原创标志,该电子书的提交日期为 2017年9月。

Gradle 配置,连注释都一字不差

我原文截图:

该教程内容截图:

说明:我的原文中定义了 pkg,但因为当时的 native 编译器有bug,我在文章中也提到,后来我还对编译器源码提了 pull request 并被官方采纳。

源码连打印的日志都一样

我原文截图:

该教程截图:

说明:该教程的作者除了抄袭我的源码以外,还是自己写了一个斐波那契数列函数的,只是,为什么你连打日志的格式都不改改呢?

这么说我抖得机灵很好咯?

我原文截图:

该教程截图:

说明:抖机灵这个,我不生气。

cnkotliner 变成 cnkotlinor?

该教程截图:

说明:kotliner.cn 是我为社区购置的域名,目前主要承载了 kotliner.cn 这个论坛,以及 blog.kotliner.cn 这个博客。所以我写的教程早期都比较喜欢用这个域名来命名包名或者文件名。可 cn_kotlinor 是什么鬼呢?

抄袭,等于没有贡献

Kotlin 虽然已经像模像样的火了起来,但至今国内也没几本什么像样的书籍,这位同行能够辛苦地写作,并把自己的劳动成果开源,是一件很好的事情,大家也应该跟他学习,无私的贡献自己的知识和经验积累。

再说一遍,为社区做贡献,是一件好事情,本来无可厚非。我也在做着相同的事情,在坚持用公众号的形式分享自己的经验积累,也希望自己能贡献自己的一份力量,毕竟,这确实是一门值得分享的语言。

而对于抄袭这个事儿,抄袭我抖机灵的段子也就算了,我反正也比较逗比,爱讲点儿冷笑话,如果大家受用,反而我也挺开心的。只是,我源码的包名 cn.kotliner 你以为改成 cn.kotlinor 就不一样了吗?我听说论文查重的软件对于超过 10 个相同的字符才会判定为抄袭,看来这一招很好用是吧。

我看到上述教程当中的代码的时候,简直尴尬极了,连我写的阶乘函数中打的日志都没改,只是随便改改参数自己运行了一遍就完事儿了,这样做,等于没有贡献。

抄袭,等于没有贡献。正因为如此,我不高兴。

修行者还是看客?

我做 Kotlin 布道两年多了,曾经有无数人问我 Kotlin 能做的是不是 Java 都能做。尽管我耐心的告诉他们是的,但通常我也不会对他们说第二遍 Kotlin 的事儿。你TM怎么不说汇编也能做呢?

这种事儿在去年的 Google IO 大会之后越来越多,以至于我很长一段时间屏蔽各种外界的消息。当高斯白噪声成为这个世界主流的声音,我们能做的,也只能是闭目养神。

而对于发邮件跟我要教程的伸手党,我也通常懒得搭理——你以为我给你发了教程,你就会学吗?扯淡。还有就是,我的邮箱和教程放在一起公开的,你们知道了我的邮箱就不知道我的分享的网盘地址吗??

如果你不是发自内心的想用想学这门语言,请走开,请不要把社区弄得乌烟瘴气。

守住自己的本心

我持续写公众号时间不短了,大家知道什么事情最难做吗?选题。为什么?因为我不想写大家都已经熟知的东西,也不想写别人已经写过的东西,自然也不愿意写自己写过的东西。

我更愿意让这个公众号有极客精神,就像它的介绍那样:

这样也就要求它只产出新的东西,以前我没有见过,也许大家当中很多人也都没有了解的东西。

我公众号发一篇技术文章给大家,就不能耽误大家的时间。你用你的时间跟我的文字做交换,你用你的时间为我的文字价值做了支付,而我就必须要让我的文字有价值。

曾经有公众号订阅者反馈说,文章不错,就是更新的太慢。比起公众号“移动开发者前线” 或者 “import new” 这样的号,我自然是慢的,因为公众号的文章几乎都是我花周末时间自己一字一字写出来的;但比起绝大多数技术类的公众号,请你相信,我会很持久的,除非哪一天,我对 Kotlin 没兴趣了。


本文分享自微信公众号 - Kotlin(KotlinX),作者:bennyhuo

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-03-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Kotlin 能用来开发 React Native 吗?

    前段时间出去休了半个月假,公众号文章史无前例的断了一周,不过不要紧,我这不是又回来了嘛。

    bennyhuo
  • 如何看待 Google 将 Kotlin 作为 Android 开发首选语言?

    相比两年前第一次大范围的出现在公众面前,Kotlin 这一次其实有点儿顺其自然了,成为首选是情理之中的事儿,没什么大惊小怪的。

    bennyhuo
  • Kotlin Native 写 Jni 第二弹:动态绑定 Native 方法

    上一篇文章 我讲了用 @CName 这个神奇的注解,可以配置 Kotlin Native 函数在符号表中的名字,进而根据 Jni 静态绑定的规则来对应到 Jav...

    bennyhuo
  • 35.opengl PBR-光照

    这一章节就是把PBR-理论用代码实现一遍,其中球体的绘制参考一章:opengl-球体的绘制。

    用户1068165
  • ubuntu在双系统下开机卡死或关机卡死的解决办法

    很多双显卡的笔记本在安装linux发行版的时候可能会出现问题, 笔者的电脑如果不在bios设置中设置屏蔽核显就会开机卡主,所以装系统时必须得屏蔽核显,全局独显,...

    用户1637228
  • 1061. 判断题(15)

    判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分。

    AI那点小事
  • 计算机程序的思维逻辑 (7) - 如何从乱码中恢复 (下)?

    乱码 上节说到乱码出现的主要原因,即在进行编码转换的时候,如果将原来的编码识别错了,并进行了转换,就会发生乱码,而且这时候无论怎么切换查看编码的方式,都是不行...

    swiftma
  • 实习杂记(32):getApplicationInfo或者getPackageManger出错

    getPackageManger  是通过binder通信的,最大通信是1M,而且这个binder通信是系统整个的,

    wust小吴
  • python使用PIL给图片添加文字生成海报

    那时的我,对于未来有很多遐想:写小说、写时评、写诗歌... 总而言之,就是成为一个文字工作者

    章鱼喵
  • koa2实现静态资源服务器

    访问public下的图片资源 localhost:3001/[图片名称].jpg

    薛定喵君

扫码关注云+社区

领取腾讯云代金券