【发布时间】:2012-08-30 18:42:39
【问题描述】:
我是 ruby 开发人员,没有 Java 背景。最近我对学习计算机科学的高级概念(特别是 tdd、bdd、算法、设计模式)产生了兴趣。但是这些概念的材料(至少是好的材料)在 Java 中是可用的,或者至少他们使用 Java 来教授这些概念。我对如何处理这个问题感到困惑。有人解决过这个问题并有解决方案吗?
示例书籍:
- Kent Beck 的测试驱动开发
- 不断发展以测试为指导的面向对象软件
- 四人一组的设计模式
Java 中的材料比 Ruby 多得多
【问题讨论】:
-
设计模式不使用 Java。在本书写作之时,Java 甚至还不存在。它确实使用了对 Ruby 产生重大影响的 Smalltalk。
-
你提到的这些东西并不是真正的理论计算机科学。但是,如果你有扎实的 Ruby 面向对象背景,那么学习 Java 对你来说可能真的很容易; DSL(特定领域语言)中的某些内容可能会让您感兴趣。
-
@DaveNewton: 是的,但是 Smalltalk 示例可能对只了解 Ruby 的人更有帮助 :-) 不幸的是,一些 Smalltalk 实现不是很地道,它们更像是逐行C++ 的 -line 端口。考虑到过去几十年 C++ 的发展,现在这可能也不是很惯用。
-
+1 出于同情。不过,不知道这几天是否是 Stack Overflow 的热门话题。
标签: java ruby algorithm design-patterns tdd