You know, typing "tpt.set_property("type","dust","watr")" is much more slower than typing "set type dust watr", especially you don't have need to press shift.
A in game console should be simply, fast and effective, that's why there's no game use C# as console ("Player.Equipment.MainHand.Set(Sword_of_Console.ToString(),true)" ? No thanks, "player.additem #000cfb12" instead)
But for console file programming, as the reason why cracker added the lua, somehow python lack some functions for advanced programming.
Though we can use legacy console command with a "!" ahead, but I think it should be the default console for in game editing, and for script files, it may add support for lua, python or even PHP (just kidding)
"tpt.set_property("type","dust","watr")" ? That sucks
I'd personally rather have Javascript... but LUA is fine. Also, if typing tpt.set_property is too long, try this. set = tpt.set_property. Now all you need to do is type set("type", dust, "watr). Heck, make a setup.lua script to rename and change whatever you want for your own personalization, then just dofile(string) it everytime you open Powder Toy.
EDIT: Also, you don't need quotes around element names, they're saved as variables(objects).
That's because it is now a scriptable console using Lua. I also have no clue what you mean by a C# Console, since C# is a compiled language and not an interpreted one. The reasoning behind the Lua console is to create simple modifications quickly and efficiently.