Mathematics in Programming (程式設計中的數學)
Liu, Xinyu
- 出版商: Springer
- 出版日期: 2024-07-11
- 售價: $2,750
- 貴賓價: 9.5 折 $2,613
- 語言: 英文
- 頁數: 383
- 裝訂: Quality Paper - also called trade paper
- ISBN: 9819724317
- ISBN-13: 9789819724314
海外代購書籍(需單獨結帳)
相關主題
商品描述
The book presents the mathematical view and tools of computer programming with broad and friendly context. It explains the basic concepts such as recursion, computation model, types, data, and etc. The book serves as an introductory and reference guide to the engineers, students, researchers, and professionals who are interested in functional programming, type system, and computer programming languages.
The book covers seven topics. Firstly, it lays out the number system based on Peano Axioms and demonstrates the isomorphic computer data structures. Then, it introduces Lambda calculus as a computing model and recursion, an important programming structure, with the Y-combinator. It next presents the basic abstract algebra, including group and fields, and provides a friendly introduction to Galois theory. After that, it uses category theory as a tool to explain several concepts in computer programming, including the type system, polymorphism, null handler, and recursive data types, then followed by an application of program optimization. In the last two chapters, the author shows how to program with the concept of infinity through stream and lazy evaluation, and then explains the naïve set theory and transfinite numbers, from which the logic paradox arises. Finally, it introduces four historical views of mathematical foundation, as well as Gödel's incompleteness theorems developed in 1930s, and how they define the boundaries of computer programming. Additionally, the book provides biographies, stories, and anecdotes of 25 mathematicians, along with over 130 exercises and their corresponding answers.
商品描述(中文翻譯)
這本書以廣泛且友好的背景呈現計算機程式設計的數學觀點和工具。它解釋了基本概念,如遞迴、計算模型、類型、數據等。這本書作為對於對函數式程式設計、類型系統和計算機程式語言感興趣的工程師、學生、研究人員和專業人士的入門和參考指南。
這本書涵蓋七個主題。首先,它基於佩亞諾公理闡述數字系統,並展示同構的計算機數據結構。接著,它介紹了作為計算模型的Lambda演算和一個重要的程式結構——遞迴,並介紹了Y組合子。然後,它呈現基本的抽象代數,包括群和域,並友好地介紹了伽羅瓦理論。之後,它使用範疇理論作為工具來解釋計算機程式設計中的幾個概念,包括類型系統、多型性、空值處理和遞迴數據類型,接著是程式優化的應用。在最後兩章中,作者展示了如何通過流和懶惰評估來使用無限的概念進行程式設計,然後解釋了天真的集合論和超限數,這些概念引發了邏輯悖論。最後,它介紹了數學基礎的四種歷史觀點,以及在1930年代發展的哥德爾不完備性定理,以及這些定理如何定義計算機程式設計的邊界。此外,這本書還提供了25位數學家的傳記、故事和軼事,以及130多道練習題及其對應的答案。
作者簡介
Xinyu Liu is a senior manager in the software engineering team at Amazon, where he leads to build multiple distribution software systems for fulfilment and supply-chain technology. He graduated and received his master degree from Tsinghua University in 2002. His main interests are functional algorithm and data structures, mathematics, and logic foundations of programming.
作者簡介(中文翻譯)
Xinyu Liu 是亞馬遜軟體工程團隊的高級經理,他負責領導多個用於履行和供應鏈技術的分配軟體系統的建設。他於 2002 年畢業並獲得清華大學的碩士學位。他的主要興趣包括函數算法和資料結構、數學以及程式設計的邏輯基礎。