Wiki TextBook
- Section 1 : Design Issues and Methodologies - This section discusses about various design principles and ideologies
- Section 2 : Language Features - This section talks about the different features present in languages
- Multiple Inheritance
- Multiple inheritance and mixins
- Closures in Ruby vs. Closures in other languages
- Reflective Language Features vs Reflective Packages
- Mixing Functional and Object-Oriented code
- Metaprogramming in statically typed languages
- Dynamic dispatch (Wikipage 1).....Dynamic dispatch (Wikipage 2)
- Variable-naming conventions (Wikipage 1).....Variable-naming conventions (Wikipage 2).....Variable-naming conventions (Wikipage 3)
- Overloading-Good or Bad
- Metaprogramming in dynamically typed languages (Wikipage 1).....Metaprogramming in dynamically typed languages (Wikipage 2)
- Type vs. class
- Namespaces
- Mixing static and dynamic code other than Ruby and Java (Wikipage 1).....Mixing static and dynamic code other than Ruby and Java (Wikipage 2)
- Section 3 : Language Types - This section discusses about various language types
- Section 4 : Web Frameworks - This section talks about concepts related to web frameworks
- Section 5 : Testing - This section talks about testing and the available testing frameworks
- Section 6 : Design Patterns and Anti-patterns - This section discusses the design patterns and anti-patterns
- The Singleton pattern in static and dynamic languages
- The Strategy pattern in static and dynamic languages (Wikipage 1).....The Strategy pattern in static and dynamic languages (Wikipage 2)
- The Command pattern in static and dynamic languages
- Information Expert pattern
- Pure Fabrication pattern
- Protected Variations pattern (Wikipage 1).....Protected Variations pattern (Wikipage 2)
- Call Super anti-pattern
- Analysis Paralysis Anti-pattern
- Section 7 : Tools - This section discusses the tools used for static analysis in Ruby and GUI toolkits in Ruby
- Section 8 : Software Development Processes and Other Concepts - This section discusses about the concepts regarding Software Development Process and other miscellaneous concepts