有些人对所谓的“免费”或“标准”或“开放”软件怀有强烈的教条主义信念。 其中一个人就是Jimmie(在本文中,我们称他为Jimmie),他对TheServerSide上Marco Behler撰写的有关Java持久性的文章做出了回应。

让我在这里引用吉米的回应:

JPA困难但完整。 它具有学习曲线,如果您尝试简化其复杂性,将会感到惊讶。 但是他们大多在那里是有原因的。 使用JPA很难处理困难的事情,这是事实。

JOOQ学习很快。 并且是专有的东西。 不是免费的。 只有一种实现。 没有公众审查,只有一个机构参与其演变。 面向SQL,而不是面向对象(好的,他们说这是一个功能)。
作为一个认真的专业人员,学习JPA。 太好了 没有任何借口不知道您的生产应用程序中会生成哪些sql查询。 用更基本的框架代替它不是解决方案。

让我们不深入探讨JPA和jOOQ / SQL之间的具体区别。 该主题已经在Reddit上进行了详细讨论 。 让我们考虑一下Jimmie认为比较的本质。 因为,吉米在比较时可能会说完全一样的话:

  • 带有Ext.JS或ZK的 JSF
  • PostgreSQL与Oracle
  • 使用LibreOffice的MS Office或Google文档(可能是“免费”造成的)
  • 带有Windows或MacOSX的Linux(尽管他可能会以Mac用户的身份进行一些双重思考 )

软件不是免费的

吉米(Jimmie),您的软件是否免费且“非专有”? 如果是这样,您如何融资? 你如何谋生? 你为什么要这么做? 真正激发您动力的是什么? 什么真正激发了您的客户,为什么呢?

只有一种实现

实际有多少人使用Hibernate的替代品,为什么? 他们之所以使用EclipseLink,主要是因为他们过去20年来一直使用TopLink并且切换到Hibernate的学习曲线(或收益)太高了? 您实际上多久切换一次实现? 是什么使您无法实现jOOQ API,并使其实现开源?

最重要的是:即使Hibernate拥有许多很棒的专有扩展,它们恰好可以更好/更轻松地工作,您是否仍然坚持使用JPA API?

没有公开评论

谁才是“公众”,他们的主要利益是什么? 您是否知道JDK的主要推动力之一是瑞士信贷 ( Credit Suisse) ,例如,它是Java环境中Oracle的大客户? 您与瑞士信贷作为您的“公共”代表有何利害关系?

只有一个身体参与其进化

您是否也对您的客户说您自己的软件?

面向SQL与“认真的专业人员”

SQL不重要的是什么? 实际上,与JLS相比,SQL受到更多实体的审查,更不用说JPA规范了。 你有没有想过?

更基础

很公平。 但是请不要忘记:您可能从2000年代初期开始用一个更基本的框架替换了复杂的EJB 2.0框架(仍然是一个标准!),该框架当时(当时)是专有的,只有一个实现,没有公开审查,也没有。它的进化涉及多个机构。 当时称为Hibernate。 让我借此机会引用Gavin King(Hibernate的创建者)有关何时使用Hibernate的信息:

我对你的答复,吉米

据您介绍,必须充分学习JPA。 因此,我挑战您也要全面学习SQL,包括所有SQL:2011子句,包括

  • 窗口功能
  • 分组集
  • 常用表表达式
  • 唯一/匹配/类型/子多重集/唯一谓词
  • 时间段
  • 分区外部联接
  • 横向连接
  • 标准偏移分页
  • 上下文类型的值规范
  • 量化比较谓词

…当然还有SQL和XQuery之间的互操作的所有细节,这是SQL:2011标准中最受欢迎的方面之一!

而且,请完全了解此内容,无论这些内容是否属于您特定的实现。 因为作为一个认真的专业人员,您将充分学习SQL。 同时,您还学习了有关执行计划的所有知识,以及联接,获取,缓冲区缓存,游标缓存和所有其他种类的算法。 因为没有理由不知道数据库的CBO生成了哪些SQL转换 。

我知道你喜欢标准,吉米。 但是请注意,有些人迫不及待地想要制定标准来解决他们的问题。 他们可能有更直接的问题。 更具体的问题。 简单的问题。 到目前为止,只有专有软件才能解决的问题。 或者由专有软件解决的问题,可以比您的标准Jimmie花费更少的精力投入生产。

缩短上市时间是您的客户可能认为的“专业”。 不管是使用该技术还是该技术。

总有人会在某个时候发明一些专有的东西 。 它可能只是演变成一个标准。 这可能是一个坏主意,并且不会演变成任何东西。 或者它可能演变成一个标准,然后成为有史以来最糟糕的标准。 再次参见:EJB 2.0。 我认为我们今天都对此表示同意 。

不,吉米,世界不是黑白的。 这不仅仅是关于标准还是专有。 关于免费(自由)与商业。 关于免费(免费)与“关闭”。 这是为客户创造价值。

哦,还有吉米。 我衷心希望您既不是Windows用户,也不是Mac用户,因为这不是免费的,每个操作系统只有一个实现,没有公开审查,只有一个机构参与其发展。 但是,整个世界都在其中之一上运行。

谢谢您的关注,吉米。

翻译自: https://www.javacodegeeks.com/2014/08/the-free-standard-open-software-heresy.html

“免费”,“标准”,“开放”软件异端相关推荐

  1. vue获取异端数据_“免费”,“标准”,“开放”软件异端

    vue获取异端数据 有些人对所谓的"免费"或"标准"或"开放"软件怀有强烈的教条主义信念. 其中的一个人就是Jimmie(在本文中,他称为J ...

  2. 虚拟局域网软件开源_用于云和虚拟化的事实上的标准开源软件包括Linux

    点击"蓝字"关注我们 风河 ®是物联网(IoT)软件的全球提供商,通过引入可商业部署的软件虚拟化平台,正在推动工业物联网(IIoT)的发展.它是为关键基础设施公司设计的,使它们能够 ...

  3. 用了这么久开源社区,还搞不明白免费/自由/开源软件?

    在开源社区中,有很多人经常把免费软件.自由软件.开源软件这三个概念混淆在一起. 今天就来和大家谈谈这三个软件到底有什么不一样. 免费软件 用户可以免费使用该软件,但通常会有其他权限的限制: 1.源码不 ...

  4. 免费音乐开放接口api_5种免费开放的音乐制作工具

    免费音乐开放接口api 作为音乐老师,我向学生推广免费/自由/开放软件(以及音乐和教育材料!). 在某些情况下(例如完全切换到GNU / Linux),鉴于所有不一致的质量和怪异之处,这可能很困难. ...

  5. 几款免费流程图制作软件

    几款免费流程图制作软件 编辑: 卿本佳人 时间: 2009-02-13 • 11:26 3 条评论 分享 流程图(flow charts)可以用直观的图表方式展现系统各组成部分的流动过程,是学习工作中 ...

  6. 六款最主流的免费网络嗅探软件全接触

    六款最主流的免费网络嗅探软件全接触 要如何才能找到网络传输的性能瓶颈?要如何才能快速定位已经失效了的网络设备?以及要如何才能迅速找到网络病毒(一种具有隐蔽性破坏性传染性的恶意代码)传播或拒绝服务*** ...

  7. 老榕智能建站软件_2020年,10大最佳免费建站软件

    文章目录 1 10大最佳免费建站软件 1.1 1. Site123 –是否像1-2-3一样容易? 1.2 2. Wix –国际重量级 1.3 3. Weebly –一个缺点很大的网站建设者 1.4 4 ...

  8. Linux 上最好的 9 个免费视频编辑软件(2018) | Linux 中国

    概要:这里介绍 Linux 上几个最好的视频编辑器,介绍它们的特性.利与弊,以及如何在你的 Linux 发行版上安装它们. 我们曾经在一篇短文中讨论过 Linux 上最好的照片管理应用[1],Linu ...

  9. 国外免费(开放获取)学术资源大全

    国外免费(开放获取)学术资源大全 1 开放存取期刊列表DOAJ(Directory of Open Access Journals) 网址:http://www.doaj.org     DOAJ开放 ...

最新文章

  1. 实际开发中,有时没有异常发生,但是执行结果不是我们期望的情况,需要手动让事务回滚
  2. 【2019雅礼集训】【CF 960G】【第一类斯特林数】【NTT多项式】permutation
  3. 李飞飞重回斯坦福,Andrew Moore接手谷歌云AI
  4. bzoj4383(拓扑排序)
  5. centos7建站php_centos7搭建php服务器
  6. 初步认识spring mvc
  7. dual vector space
  8. 安卓版LightBlue 低功耗蓝牙BLE设备调试
  9. tesseract-ocr验证码识别
  10. 回溯算法-八皇后问题
  11. 快速实现大量数据匹配来电号码归属
  12. java 泰勒级数_使用rSymPy计算泰勒级数
  13. 数据标注下半场:PLG模式下的增长飞轮丨曼孚科技
  14. 2018网易互娱笔试1——花砖拼接C++
  15. 玉米生吃好还是熟吃好 各种情况分析
  16. leveldb安装以及使用
  17. 数据库和数据仓库联系和区别
  18. 输入一段英文句子,单词之间用若干空格隔开,将每个单词的首字母转换为大写字母。 例如,“I am very glad to see you”的转换结果为“I Am Very Glad To See Yo
  19. arduino自制cnc绘图仪_Arduino + 光驱改造数控绘图机
  20. 小狈.搜集的一些photoshop 教程.软件.下载方法及相关网站 ps软件下载官方网站

热门文章

  1. chrome浏览器如何不使用缓存 如何强制刷新界面 Ctrl+Shift+R
  2. 华为交换机前缀列表配置
  3. c语言用一维数组存储数据,C语言一维数组入门教程
  4. PV操作-独木桥问题
  5. 泰亚史诗最新服务器,定义你的中世纪人生 《泰亚史诗》新版自由选择多线发展...
  6. facenet环境配置
  7. 八个步骤让你的企业“数据化”
  8. 让泯灭的良知幻化成丝丝温风
  9. 香橙派OrangePi Zero 装HomeAssistant (一)
  10. 挑战蓝龙Kalecgos