Evaluating the GO Programming Language with Design Patterns
GO is a new object-oriented programming language developed at Google by Rob Pike, Ken Thompson, and others. GO has the potential to become a major programming language. GO deserves an evaluation. Design patterns document reoccurring problems and their solutions. The problems presented are programming language independent. Their solutions, however, are dependent on features programming languages provide. In this thesis we use design patterns to evaluate GO. We discuss GO features that help or hinder implementing design patterns, and present a pattern catalogue of all 23 Gang-of-Four design patterns with GO specific solutions. Furthermore, we present GoHotDraw, a GO port of the pattern dense drawing application framework JHotDraw. We discuss design and implementation differences between the two frameworks with regards to GO.