Skip to content

Commit

Permalink
flesh out a contribution
Browse files Browse the repository at this point in the history
  • Loading branch information
cfbolz committed Nov 19, 2014
1 parent bfedd7c commit 89f1ad4
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 6 deletions.
19 changes: 14 additions & 5 deletions objmodel/chapter.md
Original file line number Diff line number Diff line change
Expand Up @@ -955,8 +955,17 @@ to experiment with various language design choices. Here are some possibilities:
Conclusions
--------------

Writing an object model is easy and fun
one can embed this into another language (eg gobject for C, many others) and use
it there
can experiment with different language design without the "boring" parts of
language implementation (parsing and execution)
The details of its object model are one of the core aspects of the design of an
object oriented programming language. Writing small object model prototypes is
thus an easy and fun way to understand the inner workings of existing languages
better and to get insights into the design space of object oriented languages.
Playing with object models is a good way to experiment with different language
design ideas without having to care for the more boring parts of language
implementation, such as parsing and executing code.

Such object models can also be useful in practice, not just as vehicles for
experimentation. They can be embedded and used from other languages. Examples
of this approach are common, e.g. the GObject object model, written in C,
that's used in GLib and other Gnome libraries; or the various class system
implementations in JavaScript.

2 changes: 1 addition & 1 deletion objmodel/countlines.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

currdir = os.path.dirname(os.path.abspath(__file__))

dirs = [p for p in os.listdir(currdir) if os.path.isdir(p)]
dirs = [p for p in os.listdir(currdir) if os.path.isdir(p) and "0" in p]
dirs.sort()

total = 0
Expand Down

0 comments on commit 89f1ad4

Please sign in to comment.