Ruby Sig: How To Design A Domain Specific Language
1:02:36
-
3 years ago
Google Tech Talks
October 5, 2006
David Pollak has been developing commercial software for 28 years. He founded Athena Design and wrote Mesa, the first real-time spreadsheet. David wrote Integer, the first online, collaborative spreadsheet. Since 2000, David has been developing domain specific languages for security and general web development.
ABSTRACT
David will describe a framework for developing DSLs which includes:
* Identifying the constituents in a development project;
* Determining the costs and benefits of a DSL for a particular constituency vs. hand-coding functionality for that constituency based on interviews and specs;
* Identifying the 'thought leader' in a given constituency and interviewing him or her to determine the semantics of the domain;
* Determining syntax of the DSL;
* Mocking up the DSL and 'test driving' it with the thought leader;
* Finding appropriate integration points for the DSL into the application;
* Defining the process by with the Domain Experts will update code in the DSL (e.g., they have a web page where they can change tax calculation rules vs. they make a change to particular Ruby files as part of a development/staging/production cycle.); and
* Iterate over the semantics, syntax, and process to fully integrate Domain Experts into the development process.Google Tech Talks
October 5, 2006
David Pollak has been developing commercial software for 28 years. He founded Athena Design and wrote ...all »Google Tech Talks
October 5, 2006
David Pollak has been developing commercial software for 28 years. He founded Athena Design and wrote Mesa, the first real-time spreadsheet. David wrote Integer, the first online, collaborative spreadsheet. Since 2000, David has been developing domain specific languages for security and general web development.
ABSTRACT
David will describe a framework for developing DSLs which includes:
* Identifying the constituents in a development project;
* Determining the costs and benefits of a DSL for a particular constituency vs. hand-coding functionality for that constituency based on interviews and specs;
* Identifying the 'thought leader' in a given constituency and interviewing him or her to determine the semantics of the domain;
* Determining syntax of the DSL;
* Mocking up the DSL and 'test driving' it with the thought leader;
* Finding appropriate integration points for the DSL into the application;
* Defining the process by with the Domain Experts will update code in the DSL (e.g., they have a web page where they can change tax calculation rules vs. they make a change to particular Ruby files as part of a development/staging/production cycle.); and
* Iterate over the semantics, syntax, and process to fully integrate Domain Experts into the development process.«
Download is starting. Save file to your computer. If the download does not start automatically, right-click this link and choose "Save As". How to get videos onto the iPod or PSP.