Software Development: A Handbook for Computational Scientists
暫譯: 軟體開發:計算科學家的實務手冊

Weinzierl, Tobias

  • 出版商: CRC
  • 出版日期: 2026-12-07
  • 售價: $9,930
  • 貴賓價: 9.5 折 $9,433
  • 語言: 英文
  • 頁數: 280
  • 裝訂: Hardcover - also called cloth, retail trade, or trade
  • ISBN: 1041274890
  • ISBN-13: 9781041274896
  • 相關分類: 軟體工程
  • 尚未上市,無法訂購

相關主題

商品描述

Computational software is the backbone of progress in many fields of science and engineering. As the importance and complexity of this software grows, developers should apply software development best practices systematically. However, exploratory, agile, and numerical codes present unique challenges.

Developers must combine cutting-edge expertise from applied mathematics, computer science, high-performance computing and domain-specific knowledge, relying on small, highly specialised research groups and individuals from diverse career levels, to maintain codebases across generations of team members, often working asynchronously across the globe. These conditions demand bespoke development techniques tailored to the research environment.

This book presents a collection of best practices and lessons learned from the computational science community, offering critical observations on where mainstream development techniques struggle or fail in this specialised domain, or where mainstream software development technology is widely adopted yet might not be the best fit overall. The author challenges common recommendations for code development and suggests that there is a need to design and implement bespoke software development workflows that deliver research software capable of facilitating new insights in challenging research environments.

The discussion remains technically focused, avoiding high-level management theory, career development frameworks, and team dynamics discussions in favour of practical ideas that make day-to-day research code development more efficient, effective, and enjoyable.

The book is written specifically for practitioners who develop software as part of computational science research. It addresses techniques, recipes, and principles relevant to PhD students, research software engineers, postdoctoral researchers, and senior academics who mentor and instruct colleagues.

商品描述(中文翻譯)

計算軟體是許多科學與工程領域進步的骨幹。隨著這類軟體的重要性與複雜度日益提升,開發者應該有系統地採用軟體開發最佳實務。然而,探索性程式碼、敏捷開發程式碼與數值程式碼都帶來獨特的挑戰。

開發者必須結合應用數學、computer science、high-performance computing 及特定領域知識的前沿專業能力,並仰賴由不同職涯階段成員組成的小型高度專業化研究團隊與個人,維護由不同世代團隊成員共同延續的程式碼庫;這些成員往往分散在全球各地,以非同步方式協作。這些條件要求採用針對研究環境量身打造的開發技術。

本書彙整 computational science 社群的最佳實務與經驗教訓,深入探討主流開發技術在此一專業領域中面臨困難或失效的情況,以及主流軟體開發技術雖已廣泛採用,卻未必整體而言最適合的情境。作者挑戰常見的程式碼開發建議,並指出有必要設計與實作量身打造的軟體開發工作流程,藉此產出能在艱困研究環境中促成新洞見的研究軟體。

本書的討論始終聚焦於技術,避免探討高層次的管理理論、職涯發展架構與團隊互動,而是著重於能讓日常研究程式碼開發更加高效、有效且愉快的實務想法。

本書專為將軟體開發作為 computational science 研究一環的實務工作者撰寫,涵蓋與博士生、研究軟體工程師、博士後研究人員,以及指導與教學同事的資深學者相關的技術、實作方法與原則。

作者簡介

Tobias Weinzierl is Professor of High-Performance Computing (HPC) in the Department of Computer Science at Durham University in the UK, where he leads the Scientific Computing research group and serves as Director of Durham's Institute for Data Science (IDAS). After studying Computer
Science with a minor in Mathematics, Tobias earned a Dr. rer. nat. (PhD) as well as a habilitation in Computer Science from Technische Universität München (TUM). His research centres on the fundamental question of how to translate state-of-the-art algorithms - for example, multigrid, higher-order discontinuous Galerkin, and smoothed-particle hydrodynamics--into fast code that leverages modern architectures and pushes the frontiers of computational insight.

His publications bridge applied mathematics and theoretical computer science, with contributions
spanning multiple application domains. They are characterised by a strong methodological and
algorithmic focus, but all have a "cody" touch.

Like many academics in scientific computing, Tobias relies on a core set of open source codes
for his research. Together with his team, he has developed, curated, and extended these codes
over decades. Rather than following a masterplan or employing traditional large-scale software
engineering practices, the codes have evolved organically from research grant to research grant.

Through his work with multiple generations of graduate students, PhD candidates, postdocs, and
research software engineers--aswell as colleagues and collaborators from around theworld--Tobias
has witnessed scientific software development at its most successful and its most problematic. This
book is a collection of lessons drawn from these experiences. Having them written down and consolidated into a handbook, the author hopes they will help him make his own software development
more sustainable and form the foundation for future successful research, while also helping other
development teams reflect on their established processes and improve them incrementally.

作者簡介(中文翻譯)

Tobias Weinzierl 是英國 Durham University 電腦科學系的高效能運算(High-Performance Computing,HPC)教授,負責帶領 Scientific Computing 研究團隊,並擔任 Durham Institute for Data Science(IDAS)主任。他主修 Computer Science,並以 Mathematics 為副修,之後於 Technische Universität München(TUM)取得自然科學博士(Dr. rer. nat.,PhD)學位,以及 Computer Science 的 habilitation(大學授課資格)。他的研究核心在於探討一個根本問題:如何將最先進的演算法——例如 multigrid、高階 discontinuous Galerkin 與 smoothed-particle hydrodynamics——轉化為能夠善用現代架構、推動計算洞見疆界的高效能程式碼。

他的研究論文橫跨應用數學與理論電腦科學,研究成果涵蓋多個應用領域。這些論文具有強烈的方法論與演算法導向,但全都帶有一絲「程式碼味」(cody)的特色。

如同許多從事 scientific computing 的學者,Tobias 的研究仰賴一組核心的 open source 程式碼。他與團隊共同開發、維護並擴充這些程式碼,歷時數十年。這些程式碼並非依循總體規劃或採用傳統的大型軟體工程實務,而是隨著一個又一個研究計畫,自然而然地逐步演化而成。

透過與多個世代的研究生、博士生、博士後研究員及研究軟體工程師合作,以及與來自世界各地的同事和合作夥伴共事,Tobias 親眼見證了 scientific software development 最成功、也最棘手的一面。本書彙整了他從這些經驗中獲得的心得。作者希望,將這些心得書面化並整理成一本手冊,不僅能協助他讓自己的軟體開發更具永續性,為未來成功的研究奠定基礎,也能幫助其他開發團隊重新檢視既有流程,並逐步加以改善。