On Mon, May 21, 2012 at 11:11 AM, Noah Tilton <[email protected]> wrote: > 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 >
That is a nice article. Thanks. Another angle of it is to look at the labor market. I consistently get feedback from ISV/VAR business partners that they appreciate the power of a C++ or Java solution, but those skills are a premium in the market, and that the "sweet spot" in the labor market is for app developer level skills. They can find contractors with those skills much more easily. > > >> -Rob >> >> >>> Thanks, >>> >>> -- >>> Noah >>> > > > > -- > Noah
