Peter Sestoft

Peter Sestoft is Professor of Computer Science and Head of the Software and Systems Section at the IT University of Copenhagen.

  • Java Precisely, Third Edition

    Java Precisely, Third Edition

    Peter Sestoft

    An updated, concise reference for the Java programming language, version 8.0, and essential parts of its class languages, offering more detail than a standard textbook.

    The third edition of Java Precisely provides a concise description of the Java programming language, version 8.0. It offers a quick reference for the reader who has already learned (or is learning) Java from a standard textbook and who wants to know the language in more detail. The book presents the entire Java programming language and essential parts of the class libraries: the collection classes, the input-output classes, the stream libraries and Java 8's facilities for parallel programming, and the functional interfaces used for that.

    Though written informally, the book describes the language in detail and offers many examples. For clarity, most of the general rules appear on left-hand pages with the relevant examples directly opposite on the right-hand pages. All examples are fragments of legal Java programs. The complete ready-to-run example programs are available on the book's website.

    This third edition adds material about functional parallel processing of arrays; default and static methods on interfaces; a brief description of the memory model and visibility across concurrent threads; lambda expressions, method reference expressions, and the related functional interfaces; and stream processing, including parallel programming and collectors.

    • Paperback $35.00 £27.00
  • Spreadsheet Implementation Technology

    Spreadsheet Implementation Technology

    Basics and Extensions

    Peter Sestoft

    A guide to innovative spreadsheet implementation technology, accompanied by a free software platform for experimentation.

    Spreadsheets are used daily by millions of people for tasks that range from organizing a list of addresses to carrying out complex economic simulations. Spreadsheet programs are easy to learn and convenient to use because they have a clear visual model and a simple efficient underlying computational model. Yet although the basic spreadsheet model could be extended, improved, or otherwise experimented with in many ways, there is no coherently designed, reasonably efficient open source spreadsheet implementation that is a suitable platform for such experiments. This book fills the gap, teaching users how to experiment with and implement innovative spreadsheet functionality and introducing two software platforms for doing so. Along the way, it draws on and illustrates software technologies and computer science topics that range from object-oriented programming to compiler technology.

    Spreadsheet Implementation Technology surveys a wide range of information about spreadsheets drawn from user experience, the scientific literature, and patents. After summarizing the spreadsheet computation model and the most important challenges for efficient recalculation, the book describes Corecalc, a core implementation of essential spreadsheet functionality suitable for practical experiments, and Funcalc, an extension of Corecalc that allows users to define their own functions without extraneous programming languages or loss of efficiency. It also shows the advantages of automatic function specialization and offers a user's manual for Funcalc. The Corecalc and Funcalc software is downloadable free of charge.

    • Paperback $40.00 £30.00
  • C# Precisely, Second Edition

    C# Precisely, Second Edition

    Peter Sestoft and Henrik I. Hansen

    A concise reference to the C# programming language, expanded and updated, with a look ahead at C# 5.0.

    C# is an object-oriented programming language that is similar to Java in many respects but more comprehensive and different in most details. This book offers a quick and accessible reference for anyone who wants to know C# in more detail than that provided by a standard textbook. It will be particularly useful for C# learners who are familiar with Java. This second edition has been updated and expanded, reflecting the evolution and extension of the C# programming language. It covers C# versions 3.0 and 4.0 and takes a look ahead at some of the innovations of version 5.0. In particular, it describes asynchronous programming as found in 5.0.

    Despite the new material, C# Precisely remains compact and easy to navigate. It describes C# in detail but informally and concisely, presenting lambda expressions, extension methods, anonymous object expressions, object initializers, collection initializers, local variable type inference, type dynamic, type parameter covariance and contravariance, and Linq (language integrated query), among other topics, all in aabout 250 pages. The book offers more than 250 examples to illustrate both common use and subtle points. Two-page spreads show general rules on the left and relevant examples on the right, maximizing the amount of information accessible at a glance.

    The complete, ready-to-run example programs are available at the book's Web site, http://www.itu.dk/people/sestoft/csharpprecisely/

    • Paperback $40.00 £30.00
  • Java Precisely, Second Edition

    Java Precisely, Second Edition

    Peter Sestoft

    A quick reference guide to Java 5.0 for students and Java programmers.

    This concise guide to the Java programming language, version 5.0, offers a quick reference for the reader who wants to know the language in greater detail than that provided by the standard text or language reference book. It presents the entire Java programming language and essential parts of the class libraries—the collection classes and the input-output classes.

    The second edition adds material on autoboxing of primitive types, string formatting, variable-arity methods, the enhanced for statement, enum types, generic types and methods, reflection, and meta-data annotations. It has been updated throughout to reflect the changes from Java 1.4 to Java 5.0. The final section summarizes and illustrates the new features of Java 5.0 and compares them to the C# programming language. General rules are shown on left-hand pages and corresponding examples on right-hand pages. All examples are fragments of legal Java programs and the complete ready-to-run example programs can be found at the book's Web site, http://www.dina.kvl.dk/~sestoft/javaprecisely/.

    • Paperback $25.00 £18.95
  • C# Precisely

    C# Precisely

    Peter Sestoft and Henrik I. Hansen

    A concise reference to the C# programming language; one of the first books to cover C# version 2.0.

    C# is an object-oriented programming language that is similar to the Java programming language in many respects but more comprehensive and different in most details. This book gives a concise description of C#. It is intended as a guide for readers who know Java and want to learn C# and as a quick reference for anyone who wants to know C# in more detail than that provided by a standard textbook. The final chapter of C# Precisely summarizes the differences between C# and Java.

    C# Precisely is one of the first books on C# to cover version 2.0. It presents the entire C# 2.0 programming language, including generics, iterators, and anonymous methods. It excludes most of the extensive Microsoft.NET framework class libraries except threads, input/output, and generic collection classes. The book shows general rules on left-hand pages, with corresponding examples on right-hand pages. All examples are fragments of legal C# programs. The complete, ready-to-run example programs are available at the book's Web site.

    • Paperback $23.00 £15.95
  • Java Precisely

    Java Precisely

    Peter Sestoft

    A concise and informal yet thorough reference for the Java programming language.

    Java Precisely provides a concise reference for the Java programming language and some of its essential libraries. The book covers Java 2, versions 1.3 and 1.4. It is intended both for students learning Java and for more experienced Java programmers. Though written informally, it describes the language in detail and provides many examples. To improve clarity, most of the general rules appear on left-hand pages with the relevant examples on the opposite right-hand pages.

    • Paperback $16.95