Ten Software Patterns Every Student Should Know

個数:
  • 予約

Ten Software Patterns Every Student Should Know

  • 現在予約受付中です。出版後の入荷・発送となります。
    重要:表示されている発売日は予定となり、発売が延期、中止、生産限定品で商品確保ができないなどの理由により、ご注文をお取消しさせていただく場合がございます。予めご了承ください。

    ●3Dセキュア導入とクレジットカードによるお支払いについて
  • 【入荷遅延について】
    世界情勢の影響により、海外からお取り寄せとなる洋書・洋古書の入荷が、表示している標準的な納期よりも遅延する場合がございます。
    おそれいりますが、あらかじめご了承くださいますようお願い申し上げます。
  • ◆画像の表紙や帯等は実物とは異なる場合があります。
  • ◆ウェブストアでの洋書販売価格は、弊社店舗等での販売価格とは異なります。
    また、洋書販売価格は、ご注文確定時点での日本円価格となります。
    ご注文確定後に、同じ洋書の販売価格が変動しても、それは反映されません。
  • 製本 Paperback:紙装版/ペーパーバック版/ページ数 251 p.
  • 言語 ENG
  • 商品コード 9789819202591

Full Description

Just as students of literature must know the basic canon of English works, so should students of software engineering know basic patterns of program development. Even with the advent of powerful AI tools for programming, it is important to understand the techniques and approaches to building efficient programs. This book picks out ten patterns that span several programming domains that represent key ideas that apply to breadth of software engineering tasks. The patterns are not algorithms but ways of approaching the construction of sophisticated software systems.

The book opens with one of the most ubiquitous software patterns that is often invisible to programmers: Hash tables. Yet building a truly scalable and efficient hash table that may even span multiple computers is not often taught in school and often cannot be obtained "off-the-shelf". Other patterns include using finite state machines to recognize basic patterns and to ensure programs don't miss critical use cases. Two patterns provide ways of reasoning about multi-threaded and multi-process programs and introducing a way of programming that works for both types of concurrent programming. The book closes with a call to design for failure: to anticipate that a complex system rarely works perfectly and that determining why something fails is almost as important as knowing why it works.

Michael Kilian holds a Ph.D. from Harvard University and been working in Software Engineering for nearly 50 years. This book grew from interviews with college students while working at Ab Initio and realizing that some basic ideas were missing from the curricula of even the brightest students.