Writing Interactive Compilers and Interpreters (Wiley series in computing)
by Peter John Brown
A simple yet practical examination of how to implement an interactive programming language. Reviews how techniques and challenges differ from traditional non-interactive languages; balances material for planning/performing the task with underlying theoretical principles; assumes no more than an ability to program and a familiarity with interactive working.
See how Domain-Driven Design (DDD) combines with Jakarta EE MicroProfile or Spring Boot to offer a complete suite for building enterprise-grade applications. In this book you will see how these all come together in one of the most efficient ways to develop complex software, with a particular focus on the DDD process. Practical Domain-Driven Design in Enterprise Java starts by building out the Cargo Tracker reference application as a monolithic application using the Jakarta EE platform. By doi...
Refine your programming techniques and approaches to become a more productive and creative Python programmer. This book explores the concepts and features that will improve not only your code but also your understanding of the Python community with insights and details about the Python philosophy. Pro Python 3, Third Edition gives you the tools to write clean, innovative code. It starts with a review of some core Python principles, which are illustrated by various concepts and examples later...
This brief book explains the advantages of the object model, inheritance, both classical and prototypical, and shows how these concepts can be implemented in JavaScript. It also shows how object programming (OP) opens a new world of design possibilities that go far beyond inheritance. This book will help the intermediate JavaScript programmer learn to use both types of inheritance. For classical inheritance, it is accompanied by a substantial online system (a windowing UI library) that shows cl...
Take a firsthand tour of Xcode and all the latest features Swift 3 has to offer. If you have picked up this book, chances are you know a little bit about Swift Programming. With Practical Swift you’ll develop an advanced understanding of the language that will enable you to create a reference guide using Xcode Playgrounds, one you can continue to grow throughout your iOS career. This book not only shows you how to code in a clean and concise manner, but also the why behind the code. Underst...
Create descriptors and see ideas and examples of how to use descriptors effectively. In this short book, you’ll explore descriptors in general, with a deep explanation of what descriptors are, how they work, and how they're used. Once you understand the simplicity of the descriptor protocol, the author delves into using and creating descriptors in practice, with plenty of tips, patterns, and real-world guidance. Because descriptors are inherently flexible, you’ll work with multiple examples illu...
Get up and running fast with the basics of programming using Java as an example language. This short book gets you thinking like a programmer in an easy and entertaining way. Modern Programming Made Easy teaches you basic coding principles, including working with lists, sets, arrays, and maps; coding in the object-oriented style; and writing a web application. This book is largely language agnostic, but mainly covers the latest appropriate and relevant release of Java, with some updated refer...
Develop RESTful web services using the Flask micro-framework and integrate them using MySQL. Use Flask to develop, deploy, and manage REST APIs with easy-to-read and understand Python code. Solve your problem from a choice of libraries. Learn to use MySQL as the web services database for your Flask API using SQLAlchemy ORM.Building REST APIs with Flask provides a primer on Flask, RESTful services, and working with pip to set up your virtual environment. The key differences between NoSQL and SQL...
Discover the open source Eclipse Tasking Engine Advanced (TEA) project in this compact to-the-point book. It covers how to automate tasks using TEA and focuses on simplifying and aiding the creation of extensions for the Eclipse IDE in a way which makes them accessible both from the IDE’s UI and in a headless fashion from the command line. Additionally, Eclipse TEA Revealed explores the library of pre-built components included with TEA, mostly in the area of rich client platform (RCP)-based Java...
Improve your coding skills and learn how to write readable code. Rather than teach basic programming, this book presumes that readers understand the fundamentals, and offers time-honed best practices for style, design, documenting, testing, refactoring, and more. Taking an informal, conversational tone, author Michael Stueben offers programming stories, anecdotes, observations, advice, tricks, examples, and challenges based on his 38 years experience writing code and teaching programming class...
Explore microservices using the Python-based Django framework and review the benefits and drawbacks of them. This book will examine what microservices look like, how they talk to each other, and how they are crafted using the Python programming language and the Django web framework. You’ll start by understanding what the key differences are between microservices and monolithic architectures. The book then does a deep dive into how microservices are built and what common models have emerged in o...
Move from zero knowledge of programming to comfortably writing small to medium-sized programs in Python. Fully updated for Python 3, with code and examples throughout, the book explains Python coding with an accessible, step-by-step approach designed to bring you comfortably into the world of software development. Real–world analogies make the material understandable, with a wide variety of well-documented examples to illustrate each concept. Along the way, you’ll develop short programs throug...
C++/CLI is Microsofts latest extension to C++ that targets the heart of .NET 2.0, the common language runtime. Expert Visual C++/CLI is written by visual C++ MVP Marcus Heege, who examines the core of the C++/CLI language. He explains both how the language elements work and how Microsoft intends them to be used. Even if you're new to C++/CLI and are planning to migrate to it from another language, this book will ground you in the core language elements and give you the confidence to explore furt...
MATLAB is a high-level language and environment for numerical computation, visualization, and programming. Using MATLAB, you can analyze data, develop algorithms, and create models and applications. The language, tools, and built-in math functions enable you to explore multiple approaches and reach a solution faster than with spreadsheets or traditional programming languages, such as C/C++ or Java. This book is designed for use as a scientific/business calculator so that you can get numerical so...
From Object-Orientation to Formal Methods (Lecture Notes in Computer Science, #2635)
After Ole-Johan's retirement at the beginning of the new millennium, some of us had thought and talked about making a "Festschrift" in his honor. When Donald Knuth took the initiative by sending us the ?rst contribution, the p- cess began to roll! In early 2002 an editing group was formed, including Kristen Nygaard, who had known Ole-Johan since their student days, and with whom he had developed the Simula language. Then we invited a number of prominent researchers familiar with Ole-Johan to sub...
Universal Access. Theoretical Perspectives, Practice, and Experience (Lecture Notes in Computer Science, #2615)
This book constitutes the thoroughly refereed post-proceedings of the 7th ERCIM Workshop on User Interfaces for All, held in Paris, France, in October 2002. The 40 revised full papers presented were carefully reviewed and selected during two rounds of refereeing and revision. The papers are organized in topical sections on user interfaces for all: accessibility issues, user interfaces for all: design and assessment, towards an information society for all, novel interaction paradigms: new modalit...
Formal Methods and Software Engineering (Lecture Notes in Computer Science, #3308)
by Jim Davies, Wolfram Schulte, and Mike Barnett
Formal engineering methods are changing the way that software systems are - veloped.Withlanguageandtoolsupport,theyarebeingusedforautomaticcode generation, and for the automatic abstraction and checking of implementations. In the future, they will be used at every stage of development: requirements, speci?cation, design, implementation, testing, and documentation. The ICFEM series of conferences aims to bring together those interested in the application of formal engineering methods to computer...
Languages and Compilers for Parallel Computing (Lecture Notes in Computer Science, #2017)
In August 1999, the Twelfth Workshop on Languages and Compilers for P- allel Computing (LCPC) was hosted by the Hierarchical Tiling Research group from the Computer Science and Engineering Department at the University of California San Diego (UCSD). The workshop is an annual international forum for leading research groups to present their current research activities and the latest results. It has also been a place for researchers and practitioners to - teract closely and exchange ideas about fut...
Ecoop '99 - Object-Oriented Programming (Lecture Notes in Computer Science, #1628)
\My tailor is Object-Oriented". Most software systems that have been built - cently are claimed to be Object-Oriented. Even older software systems that are still in commercial use have been upgraded with some OO ?avors. The range of areas where OO can be viewed as a \must-have" feature seems to be as large as the number of elds in computer science. If we stick to one of the original views of OO, that is, to create cost-e ective software solutions through modeling ph- ical abstractions, the appli...
Formal Methods for Software Architectures (Lecture Notes in Computer Science, #2804)
In the past ten years or so, software architecture has emerged as a central notion in the development of complex software systems. Software architecture is now accepted in the software engineering research and development community as a manageable and meaningful abstraction of the system under development and is applied throughout the software development life cycle, from requirements analysis and validation, to design and down to code and execution level. This book presents the tutorial lecture...
Issues in Agent Communication (Lecture Notes in Computer Science, #1916) (Lecture Notes in Artificial Intelligence, #1916)
A first attempt to develop a standardized agent communication language (ACL) resulted in KQML, probably the most widely used such language. However, a lot of technical work remains to be done. Even worse, so far, there seems to be little consensus on the basics of agent communication and there is no clear understanding of the semantics of individual speech acts or even of the basic concepts that should be used to define the semantics. This book documents two workshops on communication in MAS hel...
Open Java
by Stephan Fischer, Abdulmotaleb El Saddik, and Achim Steinacker
Dieses Buch bietet eine fundierte EinfA1/4hrung in die Technologien, die Java (JDK 1.2) sowie den Erweiterungen dieser Sprache zugrundeliegen. Um ein tiefgehendes VerstAndnis zu ermAglichen, werden die Paradigmen des objektorientierten Programmierens sowie die Wiederverwendbarkeit von Softwarekomponenten erlAutert. Ein besonderes Anliegen des Buchs ist die ErklArung der ZusammenhAnge der verschiedenen Komponenten. Die Autoren zeigen an Beispielen, wie Java verwendet werden kann, und wie verschie...
Trends in Distributed Systems: CORBA and Beyond (Lecture Notes in Computer Science, #1161)
This book constitutes the refereed proceedings of the International Workshop on Trends in Distributed Systems, TreDS '96, held in Aachen, Germany, in October 1996. The 21 revised full papers presented were carefully selected from a total of 51 submissions; also included is an invited paper by Sape Mullender and Paul Sijben on quality of service in distributed multimedia systems. Beyond the topic of the CORBA architecture and implementations, the book addresses interoperability issues, formal met...
Classic Operating Systems
An essential reader containing the 25 most important papers in the development of modern operating systems for computer science and software engineering. The papers illustrate the major breakthroughs in operating system technology from the 1950s to the 1990s. The editor provides an overview chapter and puts all development in perspective with chapter introductions and expository apparatus. Essential resource for graduates, professionals, and researchers in CS with an interest in operating system...