Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
* mixins (include and extend) for simple modularization (vs. multiple inheritance or traits in other languages)
* innovations in the web space (haml, rack middleware, etc.)
* standardized around MIT and GIT
* no public properties (attr_accessor, etc.)
* open classes
* tooling (gem, rake)
* animal references (ducks, monkeys, bacon)
* metaprogramming (unicorns)
* TDD/BDD emphasis and tools
* Proc, lambda, block, blah...
* requiring self.attr= for assignment but not needing self anywhere else (attr= sets a local variable)
* Perlisms (inconsistient behaviors) are confusing to newbs (i.e. && vs. and precendence)
* @@class hierarchy variables (globals)
* too much magick (easy to read, but hard to understand) i.e. acts_as_statemachine until you realize it's being used and how it works.
* @class instance variables vs. @instance variables of objects (confusing, at least at first)
* mind blowing: class is an object, and class is a subclass of the module class
@orklann

This comment has been minimized.

Copy link

orklann commented Oct 7, 2013

For Ruby, The Ugly Parts

  • why Proc, lamda, block are in this list?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.