Inform 7 has kinda "won" by popularity, for obscure historical reasons (you can read The Digital Antiquarian's "Teaching the Old Z-Machine New Tricks" series to see what exactly happened to make Inform so dominant), so on a first search that's the tool you're most likely to find, but I just want to plug TADS 3 for anyone interested in interactive fiction development.
Inform is interesting, especially in concept, but it has a huge amount of very serious drawbacks due to its extremely static nature (no dynamic allocation, no creating lists on the fly and appending to them, etc), lack of general programming constructs, and "natural language" syntax, whereas TADS 3 is actually a very excellent little language that's got all the modern amenities and is just a joy to write games in, and has a simply shockingly powerful standard library / world model. TADS 3 feels like Ruby/Smalltalk had a baby with C and it specialized in IF.
Also, try the adv3Lite library instead of the default standard library — the name is a bit of a misnomer, as it's just as complete as the default one, it just has superior design sensibilities and a huge host of new features stolen from Inform. Adv3Lite adds basically everything thay was good about Inform 7 to TADS 3.
I prefer Inform6, a dumb as hell OOP language but you can go to "low level" stuff in order to implement things. Also, it has Spanish support thru infsp6, which is my native language.
Inform 7 has kinda "won" by popularity, for obscure historical reasons (you can read The Digital Antiquarian's "Teaching the Old Z-Machine New Tricks" series to see what exactly happened to make Inform so dominant), so on a first search that's the tool you're most likely to find, but I just want to plug TADS 3 for anyone interested in interactive fiction development.
Inform is interesting, especially in concept, but it has a huge amount of very serious drawbacks due to its extremely static nature (no dynamic allocation, no creating lists on the fly and appending to them, etc), lack of general programming constructs, and "natural language" syntax, whereas TADS 3 is actually a very excellent little language that's got all the modern amenities and is just a joy to write games in, and has a simply shockingly powerful standard library / world model. TADS 3 feels like Ruby/Smalltalk had a baby with C and it specialized in IF.
Also, try the adv3Lite library instead of the default standard library — the name is a bit of a misnomer, as it's just as complete as the default one, it just has superior design sensibilities and a huge host of new features stolen from Inform. Adv3Lite adds basically everything thay was good about Inform 7 to TADS 3.