{"title":"GoHotDraw: evaluating the Go programming language with design patterns","authors":"Frank Schmager, N. Cameron, J. Noble","doi":"10.1145/1937117.1937127","DOIUrl":null,"url":null,"abstract":"Go, a new programming language backed by Google, has the potential for widespread use: it deserves an evaluation. Design patterns are records of idiomatic programming practice and inform programmers about good program design. In this study, we evaluate Go by implementing design patterns, and porting the \"pattern-dense\" drawing framework HotDraw into Go, producing GoHotDraw. We show how Go's language features affect the implementation of Design Patterns, identify some potential Go programming patterns, and demonstrate how studying design patterns can contribute to the evaluation of a programming language.","PeriodicalId":217446,"journal":{"name":"Workshop on Evaluation and Usability of Programming Languages and Tools","volume":"229 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2010-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"24","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Workshop on Evaluation and Usability of Programming Languages and Tools","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1937117.1937127","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 24
Abstract
Go, a new programming language backed by Google, has the potential for widespread use: it deserves an evaluation. Design patterns are records of idiomatic programming practice and inform programmers about good program design. In this study, we evaluate Go by implementing design patterns, and porting the "pattern-dense" drawing framework HotDraw into Go, producing GoHotDraw. We show how Go's language features affect the implementation of Design Patterns, identify some potential Go programming patterns, and demonstrate how studying design patterns can contribute to the evaluation of a programming language.