On Wed, May 16, 2012 at 3:29 PM, Rob Weir <[email protected]> wrote: > On Wed, May 16, 2012 at 12:35 PM, Noah Tilton <[email protected]> wrote: > > <snip> > > Good thoughts. > > Aside from the level of abstraction, and how it maps to the problem > domain, I think the style of language is another important components. > For example, even if you had a perfect API, if it is coupled with a > Haskell-like functional syntax, it will be an impediment to a > "power-user" who is familiar with only imperative languages. > > You can slice and dice it in many ways, but one way to think of the spectrum > is: > > 1) end user programming == simple record and play-back macros, > spreadsheet functions > > 2) Power users, some web designers == simple imperative Javascript or > shell scriptsing. Can copy a routine to reuse and make simple > modifications to it. Might read a programming book. > > 3) Application developers == a professional working with C#, maybe > Java, or another modern language. Builds complete solutions from > existing parts, gluing them together where possible. Focuses not on > the individual components, but on integrating the pieces with the > "business logic" that the custom requires. Keeps up with the latest > trends and techniques. > > 4) System programmers == C/C++ programmer. > > Skills increase as you go up the spectrum, as does cost. Aiming too > high makes a tool have a smaller audience. > > I think the ODF Toolkit today is at the app developer level in our > "Simple API". But because it is in a Java syntax, that puts it out of > reach for level 2 developers. > > >> Therefore, a good/useful DSL is terse, simple, and expressive. It >> utilizes users' vocabulary to describe the domain. >> >> So my question to the list is, what kind of "nouns" and "verbs" should >> be part of the language we are creating? If you are an ODF Toolkit >> user, what kind of language do you currently use, or would you feel >> comfortable using, to describe your activities? >> > > One possible level is to look at what the developer at level 1 and 2 > already knows. They don't know ODF. But they know word processors and > spreadsheets and presentation graphics. They know the abstractions of > an end user: sheets, slides, paragraphs. Their "verbs" are the > actions of the menu in their editors.
That's an interesting way to think about it; reminds me of something I read a few months ago via hacker news: http://www.whattofix.com/blog/archives/2012/02/what-level-prog.php > -Rob > > >> Thanks, >> >> -- >> Noah >> -- Noah
