Exercises in Programming Style 2/e

Lopes, Cristina Videira

商品描述

The first edition of Exercises in Programming Style was honored as an ACM Notable Book and praised as The best programming book of the decade. This new edition retains the same presentation but has been upgraded to Python 3, and there is a new section on neural network styles.

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 40 different styles for writing the term frequency task. The styles are grouped into ten categories: historical, basic, function composition, objects and object interactions, reflection and metaprogramming, adversity, data-centric, concurrency, interactivity, and neural networks. The author states 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.

商品描述(中文翻譯)

《程式設計風格練習》第一版曾獲得ACM傑出書籍的榮譽,並被譽為十年來最佳的程式設計書籍。這本新版保留了相同的內容,但已升級至Python 3,並新增了一個關於神經網路風格的章節。

《程式設計風格練習》以一個簡單的計算任務(詞頻)來說明不同的程式設計風格,幫助讀者理解撰寫程式和設計系統的各種方式。這本書設計成與線上程式碼庫中提供的程式碼一起使用。該書以易於理解的方式補充和解釋原始程式碼,適合任何經常從事程式設計的人閱讀。此外,該書還可用於計算機科學和軟體工程課程的高級程式設計課程。

該書包含40種不同的詞頻任務程式設計風格。這些風格分為十個類別:歷史、基礎、函數組合、物件和物件互動、反射和元程式設計、逆境、資料導向、並行、互動性和神經網路。作者在每種風格中說明了限制條件並解釋了示例程式。每個章節首先介紹風格的限制條件,接著展示一個示例程式,然後詳細解釋程式碼。大多數章節還有專注於該風格在系統設計中的應用的部分,以及描述該程式設計風格出現的歷史背景的部分。

作者簡介

Cristina (Crista) Lopes is a Professor of Informatics at the Donald Bren School of Information and Computer Sciences, University of California, Irvine. Her research focuses on software engineering for large-scale data and systems. Early in her career, she was a founding member of the team at Xerox PARC that developed Aspect-Oriented Programming and AspectJ. Along with her research program, she is also a prolic software developer. Her open source contributions include acoustic software modems, and the virtual world server OpenSimulator. She is a co-founder of a company specializing in online virtual reality for early-stage sustainable urban redevelopment projects. She developed and maintains a search engine for OpenSimulator-based virtual worlds. Dr. Lopes has a PhD from Northeastern University, and MS and BS degrees from Instituto Superior Tecnico in Portugal. She is the recipient of several National Science Foundation grants, including a prestigious CAREER Award. She claims to be the only person in the world who is both an ACM Distinguished Scientist and Ohloh Kudos Rank 9.
 

作者簡介(中文翻譯)

Cristina (Crista) Lopes是加州大學爾灣分校唐納德·布倫資訊與電腦科學學院的資訊學教授。她的研究專注於大規模數據和系統的軟體工程。在她的職業生涯早期,她是施樂PARC團隊的創始成員之一,該團隊開發了面向方面的編程和AspectJ。除了研究計劃外,她還是一位多產的軟體開發者。她的開源貢獻包括聲學軟體調製解調器和虛擬世界服務器OpenSimulator。她是一家專門從事早期可持續城市再開發項目的線上虛擬現實公司的共同創始人。她開發並維護了一個基於OpenSimulator的虛擬世界搜索引擎。Lopes博士在美國東北大學獲得博士學位,並在葡萄牙的Instituto Superior Tecnico獲得碩士和學士學位。她獲得了多項美國國家科學基金會的資助,包括一項傑出職業生涯獎。她自稱是世界上唯一一個既是ACM杰出科學家又是Ohloh Kudos Rank 9的人。