3 ms·
My "first" programming language other than BASIC as a kid was probably learning Inform to create interactive fiction with http://inform7.com/ http://inform7.co
by llamataboot 7y ago
My "first" programming language other than BASIC as a kid was probably learning Inform to create interactive fiction with
http://inform7.com/ http://inform7.com/
It was a pretty complex language, and meant to use English syntax to mix both the fiction writing and the coding. So you can end up with code that looks like the following, for example
---
"Stage is a room.
The old lady is a woman in the Stage. Understand "mother" or "stepmother" as the old lady. The old lady is active. The description of the lady is "She looks plucked: thin neck with folds of skin exposed, nose beaky, lips white. Perhaps when her fortunes are mended her cosmetics too will improve.""
---
And it obviously gets more complex as you create things like objects with weights and inventory limits etc. My experience of it is that when it worked it was pretty magical, but when it didn't it was utterly maddening to figure out how to get it to parse.
Kinda felt like a voice help that barely works.
Best of luck with this, I like where it looks like it is going, but it simply has to be /really good/ to be value-added and not frustration-added
- pvg 7y agoThis tool is almost, but not quite, entirely unlike Inform, though. The 'programming' part is still done in a regular old language like Swift. The tool finds and/or generates snippets for you and plonks them into the Swift code you're actually writing.
- llamataboot 7y agoyes, I see that, I should have been more clear that I knew it was a separate domain. This looks more like extended and interesting macros. My only point was that when you move towards being able to express things in natural language - whether as programming or even getting Siri to call your friend, the frustration level can be much higher if it doesn't work as expected. There is something about getting to talk in "natural lanaguge" some of the time, and otherwise having to repeat yourself while trying variations in syntax that just feels bad. Since I was talking about Inform, probably analogous is the text adventure issue where you know /how/ to solve the riddle, but you don't know how to tell the machine that you know. "Give lantern to crocodile" "Offer lantern to crocodile" "Put lantern on crocodile" etc
- pvg 7y agoI think the difference remains that the things you are talking about have natural-language-ness as an inherent property with all its promise and baggage. Whereas the tool's mention of 'natural language' is almost incidental. You could rename it 'a command line for snippets' and still accurately describe it.
- pushpop 7y agoI’m someone who picks up new languages easy - regardless of their paradigm - and this is honestly the first time I’ve spent 10 minutes going through a languages documentation and still not been any wiser where to start. That is an extremely odd programming languages; fascinating too. Kudos for actually being able to use it.
- llamataboot 7y agoThe docs are actually amazingly comprehensive, but it does have a pretty steep learning curve, especially as it is presented towards non-programmers, so you can't nec look up how to do a conditional very easily. However, what really shines are the tremendously well documented full games. You can literally load them in Inform and play the game in one pane and walk through the code in the other. I'm still not sure what to think of it as a language, I think now as a full-fledged programmer, I would pick an interactive fiction framework that looks a lot more like a programming language and less like fiction. However as a beautiful experiment in being able to use the English language to write a story and make it playable at the same time, it is still pretty amazing to me. It /is/ a full-fledged language. You can implement weather or tides or magical systems or inventory systems or health points or anything else you can thing of, but it all reads pretty English-y...until it doesn't!