《开源思索集》一Java社群该向Ruby on Rails学习些什么?

简介:

本节书摘来异步社区《开源思索集》一书中的第1章,作者: 庄表伟 责编: 杨海玲, 更多章节内容可以访问云栖社区“异步社区”公众号查看。

Java社群该向Ruby on Rails学习些什么?

开源思索集
软件开发者是分社群的,大多数时候都是按照语言来划分大的派别,门派不同的人,很少相互交流——“跟那种用XXX的有什么好说的”。越是这门语言足够的自给自足,越是懒得看别的语言的东西。作为一个次新兴语言,Java社群已经足够封闭了。自己内部热闹非凡,新技术、新名词、新战争、新领袖层出不穷,哪里有空去理会Java以外的世界?

可是最近的事情有点奇怪了,Java社群在非常热烈的讨论另外一个语言的项目“Ruby on Rails”!这是什么东西?

CSDN的Java频道出了一篇文章:《最美的MVC,ORM方案原来在别处–Ruby on Rails》!

是不是很令人惊讶?这么长他人志气自己灭自己威风的事情,咱们Java社群的人可是从来没干过的。

我当时也看了这篇文章,第一反应就是无动于衷,我还跟同事讲:“现在年纪大了,早就没有学新语言的冲动了 。 ”

后来呢?偶然的机会我下载了一份PDF,下载地址是:

Ruby on Rails实践

然后就看起来了。

多好的介绍啊!简单,清晰,准确,有诱惑力!于是我下载了Ruby,One-Click就安装完成了,然后在DOS窗口下输入了一条命令:

gem install rails –remote

就安装了Ruby on Rails。

再输入一条命令:

rails mybook

就建立我的第一个Web应用项目。

再输入一条命令:

ruby mybookscriptserver

就启动了WEB Server。在浏览器里,就看到了初始的Welcome页面!

再说两个数字:
一个Web Server需要8行代码。
一个CRUD需要1行代码。

我的浅尝到此为止,但是留下的印象确实无比深刻!

为什么Java社群里那么多开源项目,“成百上千的Framework”,没有一个有这么方便?注意,我只说方便!

方便才是硬道理!这个道理,Java社群里也有人懂的,比如Hibernate的作者Gavin King就说:“10分钟之内把Hibernate跑起来”。Good,但是,一个包含Hibernate的Web应用要跑起来,需要多少时间?

一个流行的架构“WebWork+Spring+Hibernate”,加在一起的一个最简单demo,需要多少时间才能跑起来?等等,还没有选定WebServer呢!

再有,为什么不是iBaits呢?为什么不是Pico呢?为什么不是Velocity呢?为什么不是……

有人也许会说:“ruby社群只是发展得比java晚,所以现在只有这么一个拿得出手的东西,咱们java的好东西太多了,所以选起来累一些。”

但是,问题在于,Java社群里的那么多好东西,怎么就没有一个有RoR那么方便呢?

java社群必须认真反思了!我们究竟在追求什么?
“美感”
“架构”
“灵活性”
“健壮性”
“先进性”
“规范性”
“设计模式”

那么“易学性”和“易用性”呢?难道我们开发新的框架,不是为了减少程序员的劳动吗?

看到人家做出来的东西,总感觉有不足之处,然后呢?
自己另外做一个。然后呢?还有人又做了第三个,第四个。。。。

其实我们不需要那么多“富有创意”的项目,只要有几个能用的,顺手的就好了。如何才能改变Java社群的这种现状呢?

思考中……

相关文章
|
29天前
|
缓存 安全 Java
《volatile使用与学习总结:》多层面分析学习java关键字--volatile
《volatile使用与学习总结:》多层面分析学习java关键字--volatile
17 0
|
8天前
|
SQL 安全 数据库
Ruby on Rails 数据库迁移操作深度解析
【7月更文挑战第19天】Rails 的数据库迁移功能是一个强大的工具,它帮助开发者以版本控制的方式管理数据库结构的变更。通过遵循最佳实践,并合理利用 Rails 提供的迁移命令和方法,我们可以更加高效、安全地管理数据库结构,确保应用的稳定性和可扩展性。
|
29天前
|
安全 Java 编译器
杭州 【Java基础知识 11】java泛型方法的定义和使用(学习+改进+自己理解,想法) (借鉴-侵-删)
杭州 【Java基础知识 11】java泛型方法的定义和使用(学习+改进+自己理解,想法) (借鉴-侵-删)
20 1
|
1月前
|
消息中间件 负载均衡 Java
学习Java中的反应式编程
学习Java中的反应式编程
|
18天前
|
设计模式 算法 Oracle
Java语言学习路径及学习资源推荐
Java语言学习路径及学习资源推荐
|
1月前
|
前端开发 测试技术 数据库
Ruby on Rails:快速开发Web应用的秘密
【6月更文挑战第9天】Ruby on Rails,一款基于Ruby的Web开发框架,以其高效、简洁和强大备受青睐。通过“约定优于配置”减少配置工作,内置丰富功能库加速开发,如路由、数据库访问。活跃的社区和海量资源提供支持,MVC架构与RESTful设计确保代码清晰可扩展。高效的数据库迁移和测试工具保证质量。Rails是快速构建Web应用的理想选择,未来将持续影响Web开发领域。
|
1月前
|
Java
JAVA高级部分学习小结(2023.11.4)
JAVA高级部分学习小结(2023.11.4)
|
25天前
|
Java jenkins 持续交付
Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试
【7月更文挑战第1天】Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试。成功后,Jenkins执行部署任务,发布到服务器或云环境。使用Jenkins能提升效率,保证软件质量,加速上线,并需维护其稳定运行。
66 0
|
1月前
|
算法 Java 测试技术
滚雪球学Java(54):从零开始学习Java中的Math类,轻松解决数学难题
【6月更文挑战第8天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
26 0
滚雪球学Java(54):从零开始学习Java中的Math类,轻松解决数学难题
|
28天前
|
缓存 NoSQL Java
Redis系列学习文章分享---第四篇(Redis快速入门之Java客户端--商户查询缓存+更新+双写一致+穿透+雪崩+击穿+工具封装)
Redis系列学习文章分享---第四篇(Redis快速入门之Java客户端--商户查询缓存+更新+双写一致+穿透+雪崩+击穿+工具封装)
30 0