For my first post since I switched over from Usenet, I’d like to ask the people who are developers for a living about applying the object oriented development model and associated processes to development in Inform 7. I’m asking because I’m keen to write something in Inform 7 to fulfil the requirements of a masters degree in computer science, but I feel the pressure to demonstrate that I’ve understood what they’ve been teaching me about systems analysis and design. Any advice, warnings of pitfalls, examples of the use of UML in Inform 7 projects, would be very much appreciated.
I’d try a general purpore language, like Java or Object Pascal. Both easy to pick up. Inform 7 is rule based, not object oriented.
Yeah, I7 sounds like a bad choice for your project. It’s a very domain-specific language.
Especially since I think the greatest value of OO programming is in GUI development…!
Ditto. It’s object-based not OO, like Visual Basic 5, but probably not what you’re looking for. You can kinda compare rules to multimethods, but it’s a stretch.
I do support your intent of using I7 for your Master’s, but I don’t know enough about it to shoehorn in some good news.
Maybe find an example where UML falls apart and rules is the way to go? Paradigms like aspect-oriented programming or mixins were all created to finesse certain OO problems, and Inform too was made to be rule-based to circumvent certain problems.
Note that Inform’s rules aren’t like the production rules of Prolog, they’re just named similarly.
Since nobody else has mentioned it … TADS 3 is entirely object-oriented. It’s easily as powerful as Inform 7 with respect to the creation of model worlds and text games, and it’s also somewhat more stable. I know not a solitary thing about UML, but if you’re looking to apply a UML paradigm (???) to IF development systems and authorship, TADS might be the way to go.
If keeping this to IF is a requirement, then indeed T3 would be the most natural choice; the object oriented development model fits like a glove since T3 is an object oriented language.
I should add: Graham Nelson, creator of Inform 7, created a white paper regarding Inform’s creation, including reasons for rules over objects. inform-fiction.org/I7Downloa … ePaper.pdf Dr. Nelson is also an academic so you could cite that paper in your dissertation or whatever it’s called.
Otherwise, yes, TADS3 is fully OO.
Thank you everyone for your responses. OO is not an absolute requirement and using the right tool for the job is more important. I have other valid reasons for wanting to use Inform for this project, which will be a work of IF. Having said that I’m pretty sold on the object model and if I ever write a second work of IF then I will give TADS a go.