具体描述
Java的存在时间已经超过10年了,在这段时间里它的成就非凡,彻底改变了我们写软件的方法和想法。但是Java已显老态,该是时候让我们想想未来接班人是谁了。
在《超越Java》一书中,Bruce Tate公正而诚实地分析Java的成就,以及为何Java是如此强大的工具。他告诉我们Java如何带领计算机编程领域向前迈进,同时也讲述在哪些方面Java会阻碍我们,在哪些方面Java对我们要做的事而言并不够灵活,在哪些地方因为政治力量而使用Java只会导致复杂度的提升。
作者研究了其他的语言和框架,提出了一些很难的问题:这些语言擅长什么?不擅长什么?其中有没有Java的接班人?它们能够像Java一样主导软件领域吗?未来的工具应该是什么样子?会像J2EE或者Ruby on Rails?说不定更激进,就像Continuation server?Bruce Tate除了与我们分享他自己的观察结果,也访问并概括了许多开放源代码Java和Ruby社区的领导人的看法。
不管你是否同意Tate的结论,你都会发现这本书相当激励人心。不管你继续使用Java还是改用其他技术,这本书都可以帮助你思考写程序的方式、怎样提高生产力、什么东西会阻挠你。这本书可以帮助你开妈认清Java以外的世界,接班人就要出现了。 作者简介:Bruce A.Tate是一位泛舟者、越野车骑士、父亲、作家及Java程序员,住在德克萨斯州的奥斯汀。他写了5本书,包括获得Jolt奖的《轻快的Java》(O'Reilly出版)以及热卖的《Bitter Java》(Manning出版)。他有17年的工作经验,包括在IBM工作、两次失败的创业以及开办了自己的叫做J2Life,LLC的独立顾问公司。
作者简介
目录信息
第一章 猫头鹰与鸵鸟
忽略是一种美德
水煮青蛙
新的水平线
预告
第二章 完美的风暴
风暴警告
C++的经验
拨云见日
暴怒的释放
事过境迁
向前走
第三章 皇冠上的宝石
语言和JVM的设计
因特网
企业集成
社区
打破迷思
第四章 打破玻璃
Java的新工作描述
基本的Java限制
类型
基本类型
分手时的刻薄话
为什么不直接修改Java?
第五章 游戏规则
Java提高竞争门槛
企业集成
产生话题
语言特色
几个有潜力的语言
第六章 Ruby简介
关于Ruby
应用某些结构
Breaking It Down
第七章 Ruby on Rails
数字游戏
Rails范例
查看内部
精华
第八章 延续服务器
问题
延续
延续服务器
Seaside
一个Seaside范例
那又怎样?
第九章 竞争者
主要竞争者
较小的竞争者
“下一个大东西”
索引
· · · · · · (收起)
读后感
这本书从Java的出生到今,列举了Java优势与劣势,以及在作者心目中能够取代取代Java的语言ruby,现在的Java主要放在服务器上。 写了一年的Java我确实觉得Java不是很适合,写个网站,要用到各种框架,什么Sping,Struct2,配置文件一大堆,出Bug的时候问题要小心翼翼地检查配置...
刚看完 Better java就看到Bruce Tate又出了本《beyond java》,用了半天时间,粗粗翻了一下。主要是对当前几个语言的比较,和java成功的因素以及目前面对的问题,他的意思,就是ruby目前最好了,再查了查这老兄刚出版了《from java to ruby》,晕,是不是太快了点。
刚看完 Better java就看到Bruce Tate又出了本《beyond java》,用了半天时间,粗粗翻了一下。主要是对当前几个语言的比较,和java成功的因素以及目前面对的问题,他的意思,就是ruby目前最好了,再查了查这老兄刚出版了《from java to ruby》,晕,是不是太快了点。
看了作者的biter java 又看了这本 恩 一天就看完它比较好 谈的有些东西没经验你还真不懂 感觉都有点过时了 因为已经是ruby风行的时代 图书馆一堆rails的书可看 但是自己还是没有起步,好吧! 左手java,右手ruby
近日与技术朋友交流,聊了很多技术话题。谈及目前的计算机语言,我们的意见很统一:Java仍然是最重要的语言。为什么呢?因为Java具有良好的一致性与丰富性。 一致性不仅仅指Java语言具有良好的平台无关性,可以跨平台部署。更重要的是,其开发工具与流程非常规范,从...
用户评价
我是一名在云计算和微服务架构领域摸爬滚打了好几年的工程师,说实话,市面上关于Spring Boot、Kubernetes的指南多如牛毛,但真正能触及架构哲学层面的书却凤毛麟角。这本书的价值就在于它提供了一种“后Java”的视角。它没有直接推荐某个时髦的框架,而是深入探讨了为何当前的服务架构会演变成这个样子,以及在面向未来的高弹性、低延迟系统中,我们应该具备哪些思维模式。书中的某些章节,我感觉像是哲学思辨,探讨了领域驱动设计(DDD)与事件溯源(Event Sourcing)在实践中的真正含义,而非仅仅是教科书式的定义。特别是关于“有界上下文的边界划分”那一节,作者用极其精炼的语言阐述了不同团队在协作中容易产生的误解,并提供了一套行之有效的沟通和技术落地方法论。对我而言,这不再是一本技术手册,而更像是一本架构师的心法修炼指南,指导我们在技术选型的迷雾中找到清晰的方向。
这本《超越Java》简直是为那些觉得传统Java编程已经陷入僵化、渴望探索更广阔技术图景的开发者量身打造的。它并没有沉湎于Java的各种语法糖或标准库的最新特性,而是像一把锋利的解剖刀,直插现代软件工程的核心痛点。读完之后,我最大的感受是,作者成功地将我们从“用Java解决问题”的思维定式中解放了出来,引导我们去思考“用最合适的工具和范式来构建系统”。书中对函数式编程范式的深度剖析,尤其是在处理并发和不可变性方面,给我带来了巨大的冲击。以前那些在多线程环境下小心翼翼地加锁、处理竞态条件的场景,在新的视角下变得清晰而优雅。作者没有停留在理论层面,而是结合了一些实际案例,展示了如何利用更具表达力的语言特性来构建出更健壮、更易于维护的代码。这对于那些在大型企业级应用中饱受复杂性折磨的资深工程师来说,无疑是一剂强心针。它不是教你怎么写更快的JVM代码,而是教你如何思考出更少的代码,并且这些代码能更好地应对未来需求的变更。
这本书的结构非常巧妙,它不像是一本线性的教程,而更像是一系列精心组织的研讨会记录。每一章都像是在探讨一个独立但又相互关联的现代软件工程难题。我最欣赏它在“性能优化”方面的处理方式,它没有陷入到微秒级的调优竞赛中,而是将重点放在了如何通过更优化的数据结构选择和内存模型理解来获得数量级的性能提升。比如,书中对比了传统JVM对象模型与某些新型内存布局在特定访问模式下的效率差异,这远比单纯调高堆内存参数要有效得多。此外,作者对于“测试策略”的论述也十分独到,他强调了如何设计出可以“自我验证”的系统,而非仅仅依赖于大量的单元测试。这种从宏观架构到微观实现的思维跨越,让读者在阅读的过程中不断地进行自我审视和知识重构。对于渴望从“合格的Java开发者”晋升为“有远见的系统设计师”的同行们来说,这本书提供的思维工具箱是极其宝贵的。
我过去十年几乎所有代码都是用Java写的,对它的生态了如指掌,但同时也被其庞大和历史包袱所困扰。这本书的妙处在于,它并未全盘否定Java,而是指出了它的局限性,并且非常巧妙地展示了如何从其他语言和范式中吸取精华,并反哺到我们现有的技术栈中去优化。例如,书中对类型系统和编译时元编程的一些讨论,让我重新审视了Kotlin或Scala等后起之秀的优势,进而思考如何在保持Java生态兼容性的同时,引入更安全的抽象层。我特别欣赏作者对于“技术债务”的定义和管理策略,他将技术债务不仅仅视为代码质量问题,更视为架构决策的滞后性体现。这种深刻的洞察力,让我开始反思自己团队过去几年积累下的那些难以维护的“历史遗留代码”究竟是哪些关键决策失误导致的。读完后,我感觉自己像是站在了更高维度,能够更理性地评估新技术和新范式对我们现有系统的真正价值和迁移成本。
说实话,我本来以为这是一本晦涩难懂的学术著作,毕竟书名带有一个“超越”二字,总感觉会涉及大量的底层虚拟机原理或者晦涩的理论推导。然而,阅读体验却出乎意料地流畅和启发性。作者的叙事风格非常接地气,他似乎非常理解我们这些“泥腿子”程序员在日常工作中遇到的瓶颈。最让我惊喜的是,书中对“可观测性”的讨论,它没有把它仅仅局限在Metrics、Tracing这种工具层面,而是将其提升到了系统设计初期就要考虑的维度。它解释了为什么一个设计精良的系统,其行为应该在任何时刻都是可预测和可追踪的,即使在故障发生时也是如此。这种自底向上、将非功能性需求提升到核心设计范畴的论述方式,极大地改变了我编写新模块时的习惯。我开始在写每一个新服务时,就强制性地嵌入更强大的日志结构和上下文传播机制,而不是事后打补丁。这种前瞻性的思维,是很多只关注“如何快速实现功能”的书籍所欠缺的。
黑java要有理有据
在9年前告诉你Java快死了,而且是Ruby的托。 虽然不是立刻发生,但是起码是得了个慢性病,希望Java 8 能治好吧。 里面的一些猜测还是蛮准的,关于JVM的论述非常好。
很难想象这本书是2007年写的,可行6年后的镜头java还是没有衰落,ruby也还是没怎么兴起。但是有些观点还是有点意思的:1 java对数据的表达很弱,所以比寻借助xml,不像js的json。 2 java的原始类似造成了很多的困扰,原始类型并不是继承object,这让java的面向对象弱了很多。 3 java的目标是解决更复杂的企业级问题,所以在不少基础的问题上很弱,但是一般的程序员经常打交道的是基础的问题。 4 java的类太多太复杂了,工作几年的人也很少敢说自己熟悉大部分的java类库。 5 java的框架也是类似的问题,框架本来是让人更容易的解决问题的,但是框架本身已经比问题更复杂了,用另外一种复杂性代替原来的复杂性,而且是偏离问题本身的复杂性。
有关 Java 之后各企业、Web 应用使用的程序语言的前瞻见解。
如何超越Java,那时看来已经不晚了,现在看来,有些早。