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

Weinzierl, Tobias

  • 出版商: CRC
  • 出版日期: 2026-12-07
  • 售價: $2,940
  • 貴賓價: 9.5 折 $2,793
  • 語言: 英文
  • 頁數: 280
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1041274882
  • ISBN-13: 9781041274889
  • 相關分類: 軟體工程
  • 尚未上市,無法訂購

相關主題

商品描述

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.

商品描述(中文翻譯)

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

開發人員必須整合應用數學、電腦科學、高效能運算(high-performance computing)以及特定領域知識的最前沿專業,並仰賴來自不同職涯階段的小型高度專業化研究團隊與個人,跨越數代團隊成員持續維護程式碼庫;這些成員往往分散在全球各地,以非同步方式協作。這些條件要求開發人員採用針對研究環境量身打造的專屬開發技術。

本書彙整計算科學社群的最佳實務與經驗教訓,深入探討主流開發技術在這個特殊領域中難以發揮作用或甚至失效的情況,以及主流軟體開發技術雖已廣泛採用,卻未必是整體而言最合適選擇的情境。作者質疑一些常見的程式碼開發建議,並指出有必要設計與實作量身打造的軟體開發工作流程,以產出能在充滿挑戰的研究環境中促成新洞見的研究軟體。

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

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

作者簡介

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)、高階不連續 Galerkin(higher-order discontinuous Galerkin),以及平滑粒子流體力學(smoothed-particle hydrodynamics)——轉化為能夠善用現代硬體架構、推動計算洞見疆界的高效能程式碼。

他的論文橫跨應用數學與理論 Computer Science,研究成果涵蓋多個應用領域。這些研究以強烈的方法論與演算法取向為特色,但全都帶有一絲「程式味」。

如同許多從事 Scientific Computing 的學者,Tobias 的研究仰賴一組核心的 open source 程式碼。他與團隊共同開發、維護並擴充這些程式碼,歷時數十年。這些程式碼並非依循某項總體規劃,也沒有採用傳統的大型軟體工程實務,而是在一項項研究計畫之間自然演化而成。

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