Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
From Java To Ruby
1. RubyKaigi2008 LightningTalk:
I have something to say about the
buzz word "From Java To Ruby"
Java Ruby
makoto kuwata
http://www.kuwata-lab.com/
copyright(c) 2008 kuwata-lab.com all rights reserved.
2. ATTENTION
‣ This session is not related with the book
"From Java to Ruby" at all.
Java Ruby
‣ Content of this session is completely my
original.
copyright(c) 2008 kuwata-lab.com all rights reserved.
3. What goes "From Java To Ruby"?
Java Ruby ?
Change your code from Java to Ruby
Java Ruby
Change your mind from Java to Ruby
Java Ruby
Write in Ruby ≠ Think in Ruby
Ruby ≠ Ruby
copyright(c) 2008 kuwata-lab.com all rights reserved.
4. Write in Ruby ≠ Think in Ruby
Ruby ≠ Ruby
‣ 10 years ago:
Cobol programs written in Java syntax
10 : Java Cobol
‣ Now:
Java programs written in Ruby syntax
: Ruby Java
Is history repeating itself?
?
copyright(c) 2008 kuwata-lab.com all rights reserved.
5. Change your mind about "Project"
‣ It is stupid to overemphasize beginners
• Don't shackle experts
‣ It is much stupid to brag how large your project is
• Proud how much your system make people happy
copyright(c) 2008 kuwata-lab.com all rights reserved.
6. Overemphasis of beginners is stupid
Ruby's main target Java's main target
Programmers Experts Beginners
Outcome, Gain 80 20
It is those who get large gain that should be taken count of
copyright(c) 2008 kuwata-lab.com all rights reserved.
7. Don't shackle experts
A student's code:
out.print(ans < yourans ? "smaller" : "bigger");
A famous Java teacher says: Java
You should use "if" statement because ternary
operator is not easy to understand for everyone.
if
http://www.seshop.com/genba/yazawa/archives/06.asp
Don't leave beginners as beginner
copyright(c) 2008 kuwata-lab.com all rights reserved.
8. Bragging about project size is much stupid
What is large? ( ?)
• Data size ( )
• Code size ( ) ←BAD
• Number of users ( )
• Number of developers ( ) ←BAD
"Large code" and "many developers" are the
result of a lack of ability and effort to simplify
copyright(c) 2008 kuwata-lab.com all rights reserved.
9. Lack of ability & effort to simplify
‣ Develop common features individually
• Example: Implement internationalized address
form of customer, supplier, employee, ... in
different way respectively.
: …
copyright(c) 2008 kuwata-lab.com all rights reserved.
10. Lack of ability & effort to simplify (cont')
‣ Ballooning features due to bad design
• Example: name-identification between suppliers
and customers is required to support balancing
out of credit and debit, because master tables of
suppliers and customers are not integrated.
:
copyright(c) 2008 kuwata-lab.com all rights reserved.
11. Conclusion
‣ Change your mind "from Java to Ruby"
Java Ruby
• Write in Ruby ≠ Think in Ruby
Ruby ≠ Ruby
• It is stupid to excessive emphasis to beginners
• It is much stupid to brag how large your project is
Think by yourself
copyright(c) 2008 kuwata-lab.com all rights reserved.