Saturday, November 3, 2007

RubyConf 2007: Conversations vs. Laws: What do we mean when we say Ruby is dynamic?

Francis Hwang is a member of NYC.rb

This talk is meant to be provocative. He gives a forewarning, "I am not comparing Java programmers to slave holders."

For the sake of discussion, types are abstract, and classes are concrete.

Platonic idealism. There are the things you see in this world, and there is something abstract behind that. A specific palm tree or evergreen tree vs. the idea of a tree.

Linnaean taxonomy. The different categories are up to debate, except for species. That category is testable: two things are in the same species if they can interbreed. Exception to the rule: ring species (laurus gulls).

He goes into race and taxonomy as a comparison of type and class.

Does anything that matters have a fixed definition? Are types real? No.

Now to the code ...

array.rassoc(key) "Is this a list? Is it a stack? Is it a map?" (Elliotte Rusty Harold) Type doesn't matter to dynamic language programmers.

Ruby is a low social contract language (no spec).

...

He brings up quotes of dysfunctional companies that have broken feedback loops.

Toyota Kaizen Approach.

Programming team ability versus results. Businesses who talk about core competency look at only a small slice of this curve. Is it possible to hire a crap Ruby team that will ruin your company? Absolutely.

Nothing is permanent.

No comments: