Programming Language Pragmatics, 3rd
Edition
Michael Scott
ISBN: 978-0-12-374514-9
Programming Language Pragmatics is the most comprehensive programming language textbook available today. Taking the perspective that language design and language implementation are tightly interconnected, and that neither can be fully understood in isolation, this critically acclaimed and bestselling book has been thoroughly updated to cover the most recent developments in programming language design. With a new chapter on run-time program management and expanded coverage of concurrency, this new edition provides both students and professionals alike with a solid understanding of the most important issues driving software development today....[more]
Annotated C# Standard
Jon Jagger
Peter Sestoft
Nigel Perry
ISBN: 978-0-123-72511-0
Standards, while being definitive, do not usually serve as the
best reference to the use of a programming language. Books on languages
usually are able to explain usage better, but lack the definitive
precision of a standard. This book combines the two; it is the
standard with added explanatory material.
Contents
Foreword; Introduction; Scope; Conformance; Normative references;
Definitions; Notational conventions; Acronyms and abbreviations;
General description; Language overview; Lexical Structure; Basic
Concepts; Types; Variables; Conversions; Expressions; Statements;
Namespaces; Classes; Structs; Arrays; Interfaces; Enums; Delegates;
Exceptions; Attributes; Unsafe Code; Generics; Iterators... [more]
Learning Processing
Daniel Shiffman
ISBN: 978-0-12-373602-4
This book introduces programming
concepts in the context of computer graphics and visual art, in
a more accessible format than traditional programming textbooks.
It uses the open source programming language Processing as the
basis for all discussion and examples, focusing on the fundamentals
such as variables, conditionals, loops, arrays, and objects in
a highly visual manner. The book will also introduce advanced topics
such as data mining, networking, image processing, computer vision,
and 3D graphics. It will also introduce using Processing for "tangible
media"; communicating with microcontrollers
to interact with the physical environment. Processing is based
on the programming language Java, and so is an excellent introduction
to Java and object-oriented programming, and will help prepare
the student for study of more advanced object-oriented languages
such as Java or C++... [more]

Practical Guide to SysML: The Systems Modeling Language
Sanford Friedenthal
Rick Steiner
Alan Moore
ISBN: 978-0-12-374379-4
Contents
1.0 INTRODUCTION
1.1 Systems Engineering Overview
a. Systems Engineering Perspective
b. Systems Engineering Process
c. Integration between Systems and other Disciplines
1.2 Motivation for Model Driven Approach
d. Background (evolution to model driven approach, previous modeling
approaches, etc.)
e. Benefits of model driven approach
f. Modeling capabilities with SysML (contrast with previous approaches)
1.3 Systems Modeling Fundamental... [more]
Digital Visual FORTRAN Programmer's Guide
Michael Etzel
Karen Dickinson
ISBN: 978-1-555-58218-0
Digital Visual Fortran is the latest version of a major programming
language tool used by scientists and engineers. Written by key
technical writers from the Digital Visual Fortran product team,
Digital Visual Fortran Programmer's Guide presents in printed form
the critical portions of the official programmer's guide, previously
only available online. The result is the authoritative book on
Digital Visual Fortran's features and how to use them to create
effective applications.
Digital Visual Fortran is the language of choice for computation-intensive
scientific and engineering applications, financial applications,
and other programs. Digital recently acquired Fortran technology
and rights from Microsoft that allows them to use the Microsoft
Developer Studio Integrated Development Environment, which is featured
in Microsoft's Visual C++ and Visual Basic. The result is that
Digital Visual Fortran is much easier to use and looks and works
much like Microsoft's industry-leading programming products for
other market segments... [more]
Compaq Visual Fortran: A Guide to Creating Windows Applications
Norman Lawrence
ISBN: 978-1-55558-249-4
Compaq Visual Fortran: A Guide
to Creating Windows Applications is the only book that shows
developers how to create Windows applications using Visual Fortran
software. It complements Digital Press's successful reference,
the Digital Visual Fortran Programmer's Guide. Lawrence details
development methods and techniques for creating Fortran applications
for Windows, the platform upon which developers can use Compaq
Visual Fortran (CVF; to be Intel Visual Fortran in the future)
to create applications.
The book teaches CVF programming progressively,
beginning with simple tasks and building up to writing professional-level
Win32 applications. Readers will learn about the powerful new CVF
graphical user interface, as well as the intricacies of Windows
development from a CVF perspective. They can master QuickWin, the
Win32 APIs including multiple document interfaces, and Open GL
with 3D and interactive graphics... [more]
Java made simple, 2nd Edition
P.K. McBride
ISBN: 978-0-750-65339-8
Java is a programming language designed for use on networks, in
particular the Internet, and can also be used to write full-scale
applications. It is based upon C++ and is very similar in its style
and structure. Java Made Simple 2nd edition concentrates on getting
the reader started and assumes no prior programming knowledge.
Once the essentials have been mastered, it provides the confidence
to go deeper into the language and broaden and develop invaluable
programming skills.
Contents
Preface; Introducing Java; Variables and values; Program flow;
Applet basics; The user interface; Graphics; Images, sounds and
text; Threads; Answers to exercises; Index... [more]
The Art of Multiprocessor Programming
Nir Shavit
Maurice Herlihy
ISBN: 978-0-123-70591-4
Contents
Part I: Foundations; 1 Introduction; 2 Mutual Exclusion; 3 Concurrent
Objects and Linearization; 4 Foundations of Shared Memory; 5
The Relative Power of Synchronization Methods; 6 The Universality
of Consensus; Part II: Practice; 7 Spin Locks and Contention;
8 Linked Lists: the Role of Locking; 9 Concurrent Hashing and
Natural Parallelism; 10 Concurrent Counting and Structured Parallelism;
11 Diffracting Trees and Data Structure Layout; 12 Concurrent
Stacks and the ABA Problem; 13 Concurrent Queues and the Optimistic
Approach; 14 Concurrent Heaps; 15 Concurrent Search Structures;
16 Barriers and Phased Computation; 17 Work Stealing and Dynamic
Load Distribution; Part III: Advanced Topics; 18 Room Synchronization;
19 Transactional Memory... [more]
Higher-Order Perl: Transforming Programs with Programs
Mark Jason Dominus
ISBN: 978-1-55860-701-9
Most Perl programmers were
originally trained as C and Unix programmers, so the Perl programs
that they write bear a strong resemblance to C programs. However,
Perl incorporates many features that have their roots in other
languages such as Lisp. These advanced features are not well
understood and are rarely used by most Perl programmers, but
they are very powerful. They can automate tasks in everyday programming
that are difficult to solve in any other way. One of the most
powerful of these techniques is writing functions that manufacture
or modify other functions. For example, instead of writing ten
similar functions, a programmer can write a general pattern or
framework that can then create the functions as needed according
to the pattern. For several years Mark Jason Dominus has worked
to apply functional programming techniques to Perl. Now Mark
brings these flexible programming methods that he has successfully
taught in numerous tutorials and training sessions to a wider
audience... [more]

Parallel Programming with MPI
Peter Pacheco
ISBN: 978-1-55860-339-4
A hands-on introduction to
parallel programming based on the Message-Passing Interface (MPI)
standard, the de-facto industry standard adopted by major vendors
of commercial parallel systems. This textbook/tutorial, based on
the C language, contains many fully-developed examples and exercises.
The complete source code for the examples is available in both
C and Fortran 77. Students and professionals will find that the
portability of MPI, combined with a thorough grounding in parallel
programming principles, will allow them to program any parallel
system, from a network of workstations to a parallel supercomputer... [more]
Groovy Programming: An Introduction for Java Developers
Kenneth Barclay
John Savage
ISBN: 978-0-12-372507-3
Groovy Programming is an introduction
to the Java-based scripting language Groovy. Groovy has much in
common with popular scripting languages such as Perl, Python, and
Ruby, but is written in a Java-like syntax. And, unlike these other
languages, Groovy is sanctioned by the Java community for use on
the Java platform. Since it is based on Java, applications written
in Groovy can make full use of the Java Application Programmer
Interfaces (APIs). This means Groovy can integrate seamlessly with
applications written in Java, while avoiding the complexities of
the full Java language. This bare-bones structure also means Groovy
can be used as an introduction to Java and to programming in general.
Its simpler constructions and modern origins make it ideal as a
first language and for introducing principles such as object-oriented
programming... [more]
Advanced Compiler Design and Implementation
Steven Muchnick
ISBN: 978-1-55860-320-2
From the Foreword by Susan L. Graham:
This book takes on the challenges of contemporary languages and
architectures, and prepares the reader for the new compiling problems
that
will inevitably arise in the future.
The definitive book on advanced compiler design
This comprehensive,
up-to-date work examines advanced issues in the design
and implementation of compilers for modern processors. Written
for
professionals and graduate students, the book guides readers in
designing
and implementing efficient structures for highly optimizing compilers
for
real-world languages. Covering advanced issues in fundamental areas
of
compiler design, this book discusses a wide array of possible code
optimizations, determining the relative importance of ptimizations,
and
selecting the most effective methods of implementation... [more]
Object-Oriented Design with UML and Java
Kenneth Barclay
John Savage
ISBN: 978-0-7506-6098-3
This book presents an integrated
introduction to object-oriented design with the Unified Modelling
Language and the Java programming language. It demonstrates that
Java applications, no matter how small, can benefit from some design
during their construction. Fully road-tested by students on the
authors' own courses, the book shows how these complementary technologies
can be used effectively to create quality software.
No prior knowledge of object orientation is assumed, though some
experience of Java is required. Two appendices provide assistance
to those with experience of other programming languages.
The UML has been incorporated into a graphical design tool called
ROME, which can be downloaded from the book's website. This object
modelling environment allows readers to prepare and edit various
UMl diagrams. ROME can be used alongside a Java compiler to generate
Java compiler to generate Java code from a UML class diagram then
compile and run the resulting application for hands-on learning... [more]

Understanding UML:
The Developer's Guide
Mark Watson
ISBN: 978-1-558-60465-0
The Unified Modeling Language (UML) is a third generation method
for specifying, visualizing, and documenting an object-oriented
system under development. It unifies the three leading object-oriented
methods and others to serve as the basis for a common, stable,
and expressive object-oriented development notation. As the complexity
of software applications increases, so does the developer's need
to design and analyze applications before developing them. This
practical introduction to UML provides software developers with
an overview of this powerful new design notation, and teaches Java
programmers to analyse and design object-oriented applications
using the UML notation... [more]
Linkers and Loaders
John Levine
ISBN: 978-1-55860-496-4
Whatever your programming
language, whatever your platform, you probably tap into linker
and loader functions all the time. But do you know how to use them
to their greatest possible advantage? Only now, with the publication
of Linkers & Loaders, is there
an authoritative book devoted entirely to these deep-seated compile-time
and run-time processes.
The book begins with a detailed and comparative account of linking
and loading that illustrates the differences among various compilers
and operating systems. On top of this foundation, the author presents
clear practical advice to help you create faster, cleaner code.... [more]
Distributed Systems Architecture: A Middleware Approach
Arno Puder
Kay Römer
Frank Pilhofer
ISBN: 978-1-55860-648-7
Middleware is the bridge that
connects distributed applications across different physical locations,
with different hardware platforms, network technologies, operating
systems, and programming languages. This book describes middleware
from two different perspectives: from the viewpoint of the systems
programmer and from the viewpoint of the applications programmer.
It focuses on the use of open source solutions for creating middleware
and the tools for developing distributed applications. The design
principles presented are universal and apply to all middleware
platforms, including CORBA and Web Services. The authors have created
an open-source implementation of CORBA, called MICO, which is freely
available on the web. MICO is one of the most successful of all
open source projects and is widely used by demanding companies
and institutions, and has also been adopted by many in the Linux
community... [more]

Software Design Methodology: From Principles to Architectural
Styles
Hong Zhu
ISBN: 978-0-7506-6075-4
Exploring the theory of software
architecture and concentrating on general design principles rather
then specific methods, Software Design Methodology helps students
to analyse and evaluate software architectural designs, whilst
broadening their knowledge of large-scale software systems. Numerous
case studies and examples demonstrate how important factors, such
as globalisation, modelling, coding, testing and maintenance, need
to be addressed when creating a modern information system.
Written
with an emphasis on high level design for software engineering
and computer science undergraduates and graduates on Msc conversion
courses, the book also includes advanced topics suitable for postgraduate
courses. Each chapter contains expected learning outcomes, a summary
of key points and exercise questions to test knowledge and skills... [more]
Why Programs Fail: A Guide to Systematic Debugging
Andreas Zeller
ISBN: 978-1-55860-866-5
Why Programs Fail is about
bugs in computer programs, how to find them, how to reproduce
them, and how to fix them in such a way that they do not occur
anymore. This is the first comprehensive book on systematic debugging
and covers a wide range of tools and techniques ranging from
hands-on observation to fully automated diagnoses, and includes
instructions for building automated debuggers. This discussion
is built upon a solid theory of how failures occur, rather than
relying on seat-of-the-pants techniques, which are of little
help with large software systems or to those learning to program.
The author, Andreas Zeller, is well known in the programming
community for creating the GNU Data Display Debugger (DDD), a
tool that visualizes the data structures of a program while it
is running... [more]
Practical Model-Based Testing: A Tools Approach
Mark Utting
Bruno Legeard
ISBN: 978-0-12-372501-1
This book gives a practical
introduction to model-based testing, showing how to write models
for testing purposes and how to use model-based testing tools to
generate test suites. It is aimed at testers and software developers
who wish to use model-based testing, rather than at tool-developers
or academics.
The book focuses on the mainstream practice of functional black-box
testing and covers different styles of models, especially transition-based
models (UML state machines) and pre/post models (UML/OCL specifications
and B notation). The steps of applying model-based testing are
demonstrated on examples and case studies from a variety of software
domains, including embedded software and information systems... [more]
Higher-Order Perl: Transforming Programs with Programs
Mark Jason Dominus
ISBN: 978-1-55860-701-9
Most Perl programmers were
originally trained as C and Unix programmers, so the Perl programs
that they write bear a strong resemblance to C programs. However,
Perl incorporates many features that have their roots in other
languages such as Lisp. These advanced features are not well
understood and are rarely used by most Perl programmers, but
they are very powerful. They can automate tasks in everyday programming
that are difficult to solve in any other way. One of the most
powerful of these techniques is writing functions that manufacture
or modify other functions. For example, instead of writing ten
similar functions, a programmer can write a general pattern or
framework that can then create the functions as needed according
to the pattern. For several years Mark Jason Dominus has worked
to apply functional programming techniques to Perl. Now Mark
brings these flexible programming methods that he has successfully
taught in numerous tutorials and training sessions to a wider
audience... [more]

Systems Engineering with SysML/UML
Modeling, Analysis, Design
Tim Weilkiens
ISBN: 978-0-123-74274-2
Approx. 310 illustrations
Contents
1. Introduction; 2. Process SYSMOD; 3. SysML- Systems Modeling
Language; 4. UML- Unified Modeling Language; 5. Systems-Engineering-Profile;
Appendices, Glossary, and Literature References... [more]
|