The History of Microsoft with Charles Simonyi: Part Two

Sign in to queue

The Discussion

  • User profile image

    I am such a huge fan of Simonyi! If anyone is unfamiliar with 'intentional programming' / 'language orientation', Martin Fowler has a great write up here -


    I've leveraged his ideas to create a DSL development facility in my embedded C++ game engine. The facility enables end-users to quickly define new external DSLs for their specific game requirements. Once the DSL is specified, they can concentrate directly on their game-specific problem(s). It takes the concept of 'data-driven' engine design to a whole new level. However, implementing the language building facilities in C++ presented some very novel challenges Wink


    Most game engines expose a single monolithic imperative scripting language such as Python or Lua. While initially a very simplifying solution, anyone who has used those on a non-trivial game project can attest to what a mess their game's scripts turns out to be in toto. I think the types of DSLs my engine offers keeps things much cleaner due to their generally declarative style and exact fit to each specific problem. Not only that, but the intermediate tree representation of each DSL document is exposed, making it available for inspection, transformation, and projection at runtime. Very lispy and very powerful.


    I love intentional programming, and I wish the best to all of us trying to effectively leverage Simonyi's ideas in practice!

  • User profile image

    Did he really just say, "Imagine if a computer were as hard to use as an alarm clock."?  Perplexed

Add Your 2 Cents