The MPS Language Workbench: Volume I

Fabien Campagne
5
Free sample

The MPS Language Workbench, Volume I (third edition). The first volume of the series is both a simple introduction to the JetBrains MPS language workbench and a complete reference manual. 

The Meta-Programming System (MPS) is a new kind of tool called a language workbench that simply stated makes it easier and more fun to write programs. With traditional programming, it is common to choose one programming language to solve a problem and being limited by this choice. When working with MPS you can use and combine different languages to solve a problem. You can also create simple languages (e.g., Domain Specific Languages) or extend existing ones when the languages available do not exactly meet the evolving needs of the problem at hand. The languages that you create with MPS will integrate nicely with languages developed by others. 

MPS is open-source and can be obtained from http://jetbrains.com/mps or http://github.com/JetBrains/MPS. This book explains the MPS programming paradigm and gradually introduces the reader to the many features of the MPS platform. This book may yet be the simplest way to discover the MPS language workbench and the powerful new approach to programming that this tool offers.

The third edition of this book describes MPS 3.3.


Read more

About the author

Fabien Campagne, PhD, is the head of a scientific laboratory working in the field of Bioinformatics. His laboratory develops computational approaches to help manage and analyze biological data (http://campagnelab.org). Over the years, Dr. Campagne has led the development of several large-scale bioinformatics systems that take advantage of a wide range of software engineering and programming techniques.  Dr. Campagne is routinely evaluating new approaches to software engineering and programming that can help his laboratory develop bioinformatics software more efficiently. He wrote this book because he found the MPS Language Workbench a very powerful open-source tool for programming and system design, which lacked a well-designed and accessible introductory and reference textbook.

Read more

Reviews

3.8
5 total
Loading...

Additional Information

Publisher
Fabien Campagne
Read more
Published on
May 24, 2014
Read more
Pages
328
Read more
Read more
Best For
Read more
Language
English
Read more
Genres
Computers / Programming / General
Computers / Programming Languages / General
Computers / Software Development & Engineering / Tools
Read more
Content Protection
This content is DRM protected.
Read more
Eligible for Family Library

Reading information

Smartphones and Tablets

Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.

Laptops and Computers

You can read books purchased on Google Play using your computer's web browser.

eReaders and other devices

To read on e-ink devices like the Sony eReader or Barnes & Noble Nook, you'll need to download a file and transfer it to your device. Please follow the detailed Help center instructions to transfer the files to supported eReaders.
George Fairbanks
This is a practical guide for software developers, and different than other software architecture books. Here's why:

It teaches risk-driven architecting. There is no need for meticulous designs when risks are small, nor any excuse for sloppy designs when risks threaten your success. This book describes a way to do just enough architecture. It avoids the one-size-fits-all process tar pit with advice on how to tune your design effort based on the risks you face.

It democratizes architecture. This book seeks to make architecture relevant to all software developers. Developers need to understand how to use constraints as guiderails that ensure desired outcomes, and how seemingly small changes can affect a system's properties.

It cultivates declarative knowledge. There is a difference between being able to hit a ball and knowing why you are able to hit it, what psychologists refer to as procedural knowledge versus declarative knowledge. This book will make you more aware of what you have been doing and provide names for the concepts.

It emphasizes the engineering. This book focuses on the technical parts of software development and what developers do to ensure the system works not job titles or processes. It shows you how to build models and analyze architectures so that you can make principled design tradeoffs. It describes the techniques software designers use to reason about medium to large sized problems and points out where you can learn specialized techniques in more detail.

It provides practical advice. Software design decisions influence the architecture and vice versa. The approach in this book embraces drill-down/pop-up behavior by describing models that have various levels of abstraction, from architecture to data structure design.
©2017 GoogleSite Terms of ServicePrivacyDevelopersArtistsAbout Google
By purchasing this item, you are transacting with Google Payments and agreeing to the Google Payments Terms of Service and Privacy Notice.