

Using a simple computational task (term frequency) to illustrate different programming styles, Exercises in Programming Style helps readers understand the various ways of writing programs and designing systems. It is designed to be used in conjunction with code provided on an online repository. The book complements and explains the raw code in a way that is accessible to anyone who regularly practices the art of programming. The book can also be used in advanced programming courses in computer science and software engineering programs. The book contains 33 different styles for writing the term frequency task. The styles are grouped into nine categories: historical, basic, function composition, objects and object interactions, reflection and metaprogramming, adversity, data-centric, concurrency, and interactivity. The author verbalizes the constraints in each style and explains the example programs. Each chapter first presents the constraints of the style, next shows an example program, and then gives a detailed explanation of the code. Most chapters also have sections focusing on the use of the style in systems design as well as sections describing the historical context in which the programming style emerged.Front Cover 1Dedication 6Contents 8Preface 12The Author 22Part I Historical 24Chapter 1 Good Old Times 28Chapter 2 Go Forth 38Part II Basic Styles 46Chapter 3 Monolithic 50Chapter 4 Cookbook 56Chapter 5 Pipeline 64Chapter 6 Code Golf 74Part III Function Composition 80Chapter 7 Infinite Mirror 84Chapter 8 Kick Forward 90Chapter 9 The One 96Part IV Objects and Object Interaction 102Chapter 10 Things 106Chapter 11 Letterbox 114Chapter 12 Closed Maps 120Chapter 13 Abstract Things 126Chapter 14 Hollywood 134Chapter 15 Bulletin Board 140Part V Reflection and Metaprogramming 146Chapter 16 Introspective 150Chapter 17 Reflective 154Chapter 18 Aspects 160Chapter 19 Plugins 166Part VI Adversity 174Chapter 20 Constructivist 178Chapter 21 Tantrum 184Chapter 22 Passive Aggressive 190Chapter 23 Declared Intentions 196Chapter 24 Quarantine 204Part VII Data-Centric 214Chapter 25 Persistent Tables 218Chapter 26 Spreadsheet 226Chapter 27 Lazy Rivers 232Part VIII Concurrency 238Chapter 28 Actors 242Chapter 29 Dataspaces 250Chapter 30 Map Reduce 254Chapter 31 Double Map Reduce 262Part IX Interactivity 268Chapter 32 Trinity 272Chapter 33 Restful 280Back Cover 290Computers,Programming,Games,Programming Languages,General,Software Development & Engineering,Mathematics,Arithmetic
show more...Just click on START button on Telegram Bot