`
bd7lx
  • 浏览: 199242 次
社区版块
存档分类
最新评论

Adventure From Java To Ruby——急转直下还是三思后行

阅读更多
这本书并不如其人在IBM开发网上的短文有技术含量,因为此书主要是给管理者看的,也是显摆他的白水漂流和单车下山的爱好。

这是台湾的友人blog:

http://ihower.idv.tw/blog/archives/1451#more-1451







From Java to Ruby

這本書是 Developer 買來說服 Manager 使用 Ruby 的書,或是自己說服自己。作者也是 Beyond Java 的作者,不過很有趣出版社換成 The Pragmatic Programmers  了哩。剛好最近常有非技術背景的人問我為什麼要從PHP換成用 Ruby。老實說,我的理由主要出自對 Ruby 的好感,喜歡它渾然自成的風格,先進簡潔又不會太難懂,也驚嘆 Ruby on Rails 的漂亮架構。不過為了說服更多人,作者寫了這本書,方便我們跟別人解釋的時候多掰一點… :p

作者自己開始採用 Ruby 作為專案開發的理由是  1.人,許多作者尊敬的程式設計師開始投靠Ruby,包括Java圈中有名的framework開發者 2. Java過多複雜的框架逐漸造成生產力限制 3.RoR爆炸性成長,以往作者只有看過Java和C++誕生時有這樣的榮景 4.Ruby很快樂,重拾作者初學Java時的熱情 5.RoR開始成熟了,作者相信可以滿足客戶作為商用。

當然這本書也會告訴你 Java 哪裡限制,哪裡 Ruby 更適合,哪裡 Java 適合,哪裡 Ruby還不成熟。Java complexity 在增加,Availability在降低,Competition 在日漸增加(如PHP,LAMP,Ruby)。這個時代 Productivity 就是王道,作者認為 RoR就是催化劑,幫助Ruby跨過市場觀望的鴻溝,未來 Ruby 將不只只有這一個 Framework。本書的一個中心問題就是 如何調整更換程式語言的風險? Java風險在增加,而 Ruby在下降,所以趁早擁抱ruby吧。

本書主要依照採用新語言的 Process 來編排,分成三個階段(資料收集,有限部署,廣泛部署),各兩個步驟。1.確認痛苦 2.建立報償 3.建立Pilot 4.有限部署 5.整合 6. Ramp up

至此第一章 Induction 結束。以下隨便摘錄重點。

Pain

    * 在採用Ruby之前,你先要確定你現在有什麼 Pain。
    * Java的poor productivity來自C++的遺產及過多的架構。
    * Martin Fowler (寫 P of EAA那位) 認為Java的非必要複雜性不可接受的太高。

Establishing Your Reward

    * 從下載次數,願景,書籍可以觀察 Ruby 的成長。
    * Ruby 的基石就是 Productivity (生產力),不管是短程或長程來看。
    * Java 的風險目前因為佔優勢的市場地位而比較低,但是專案風險卻因為開發時間和複雜度在增加。
    * Java 是 infrastructure 語言不適用在許多應用程式。

Pilot

    * 任何有效的 Pilot 都需要把現有的技術跟政治現實納入考量
    * learning 和 selling 的目標常不一致。挑難的部份用Ruby,可以學比較多,但又怕失敗。挑簡單的用Ruby,學到比較少,但比較容易成功。以下分五個導入情境 :
    * 典型法,重點放學習,在高技術風險的地方導入 Ruby
    * 比較法,同一案同時採用 Java 跟 Ruby 實作,同時比較優缺。
    * 特洛依法,在低風險案採用Ruby,逐漸獲得成功。
    * 賭上你的生意法,風險最大報酬最高,適合新公司,如 37signals,利用更好的 dynamic 跟 productive 的程式語言來對抗大公司,小蝦米對抗大鯨魚出奇才能致勝。
    * 拯救法,把用 Java 失敗的案子給 Ruby 做。

On an Island

    * Ruby 不只是 scripting 語言,在 integration, data munging, web development 和 rapid development 都很有辦法。
    * Ruby on Rails 有和 PHP 或 Visual Basic 一樣的快速度,而且又比 Java 乾淨。
    * Ruby middleware 支援 database integration, security, messaging, communications, XML, web services 等

Bridges

    * Ruby 提供跟別的程式語言很好的整合,尤其是 Java。
    * JRuby逐漸成熟,可以在 JVM 上跑 Ruby。
    * Ruby framework 偏好簡潔的XML和web services實作。

Ramping Up

    * 廣泛部署對Ruby還很新,deployment 策略常比類似的 java project 還先進。

Risk

最後一章談風險,包括技術上和政治上的。



http://railscn.com/viewtopic.php?t=1922
分享到:
评论

相关推荐

    Java Game Development with LibGDX: From Beginner to Professional.pdf

    you will create 12 game prototypes in a variety of popular genres, from collection-based and shoot-em-up arcade games to side-scrolling platformers and sword-fighting adventure games. With the ...

    Make Your Own Python Text Adventure A Guide to Learning Programming epub

    Make Your Own Python Text Adventure A Guide to Learning Programming 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书

    ruby源代码 ruby源代码 ruby源代码 ruby源代码4

    ruby源代码 ruby源代码 ruby源代码 ruby源代码4

    python项目——玛丽冒险.zip

    python项目——玛丽冒险.zip python项目——玛丽冒险.zip python项目——玛丽冒险.zip python项目——玛丽冒险.zip python项目——玛丽冒险.zip python项目——玛丽冒险.zip python项目——玛丽冒险.zip python项目...

    Apress.Make.Your.Own.Python.Text.Adventure.A.Guide.to.Learning.Programming.rar

    Apress.Make.Your.Own.Python.Text.Adventure.A.Guide.to.Learning.Programming.1484232305.rar Apress最新出版的python文字处理书籍

    ruby写的命令行游戏my adventure

    ruby写的命令行游戏,高三的时候练手用的。

    unity解密游戏系统Adventure Creator

    unity解密游戏系统Adventure Creator Unity商店的精品资源 适合二次开发和学习使用 是个Unitypackage包 , 创建个空项目直接导入就行了 如果打开报错请切换编译器版本或者下载最新编译器就行了 unity解密游戏系统...

    ruby-adventure

    "ruby-adventure"项目显然是一个围绕Ruby语言的学习资源或者代码示例集合,旨在帮助初学者或有一定经验的开发者深入理解Ruby的核心特性和实践技巧。 在Ruby的世界里,冒险意味着探索这个语言的无限可能。让我们一起...

    2D-Ruby-Revamped:2D Ruby Adventure改进

    《2D-Ruby-Revamped:2D Ruby Adventure改进》是一个专为Ruby编程语言爱好者和游戏开发者设计的项目,旨在提升一款2D冒险游戏的体验。这个项目利用了Unity引擎的强大功能,特别是其内置的ShaderLab系统,为游戏场景...

    Text_Adventure:Java技能测试

    【标题】"Text Adventure: Java技能测试"是一个以编程语言Java为基础开发的小型文字冒险游戏。这个游戏旨在检验和提升开发者在Java编程上的能力,通过创建一个互动的故事环境,玩家可以通过输入指令来探索游戏世界,...

    Adventure Works下载安装.zip

    7. 完成还原后,Adventure Works数据库应在SQL Server中可用,此时可以进行查询、分析或其他数据库操作。 Adventure Works数据库的结构包括多个表,如Sales.SalesOrderHeader用于存储销售订单信息,HumanResources....

    e-Adventure教育游戏

    《e-Adventure教育游戏》是一款专为教育领域设计的互动游戏,旨在提升学习者的兴趣和参与度,将教育与娱乐巧妙结合。此游戏基于e-Adventure框架开发,它是一个开源的、跨平台的游戏开发工具,适合新手IT教师或对教育...

    adventure-works-2008-oltp-data-file-chs.rar

    《SQL Server示例数据库Adventure Works 2008的中文优化版》 SQL Server是一款广泛应用于企业级数据管理与分析的数据库管理系统,由微软公司开发并维护。在SQL Server的各种版本中,Adventure Works是一个非常著名...

    Adventure Creator v1.60.4.zip

    这款软件的核心是"Adventure Creator",版本号1.60,它以其便捷性和灵活性在游戏开发界受到广泛欢迎。其中包含的主要文件为“Adventure Creator v1.60.4.unitypackage”,这是一个Unity引擎专用的资源包,意味着这款...

    javajdk源码解析-Code-Adventure:Java基础、JDK源码解析、程序人生

    java jdk源码解析 :open_book: ​程序猿探险记 Kong子:“学而不思则罔,思而不学则殆。” :memo: ​目录 Java基础 Java如何将一个Java对象序列化到文件里 静态代理与动态代理 | 初始进洞(上) 静态代理与动态代理 | ...

    Adventure Subtitles

    Adventure Subtitles

    An-Adventure-to-Remember:由 Alfred Sporre 和 Edvard Thörnros 开发的基于 Java 和 LWJGL OpenGL 的游戏

    《An-Adventure-to-Remember》是由Alfred Sporre和Edvard Thörnros共同开发的一款游戏,它充分利用了Java编程语言以及LWJGL(Lightweight Java Game Library)这一强大的OpenGL绑定库。这款游戏的设计和实现充分...

Global site tag (gtag.js) - Google Analytics