When Don Libes first created Expect, he assumed other languages would incorporate bindings relatively quickly. It's a testimony to the package's polish that no substantial efforts were made with other language bindings for many years; it's because his Expect has seemed so perfect, not for any lack of need other languages have.
By 2000, though, unripe Expect-like facilities were available for such languages as Perl and Python. In contrast to the situation for Tk, other languages have not created Expect modules by linking against Don's libraries; instead, they've written "from scratch" in more language-specific fashion.
Python has several Expect initiatives (just as it has a plethora of Web servers, GUI toolkits, and so on). Most advanced appears to be Pexpect [L1 ].
Expect.pm [L2 ]
How does the programming power of Tcl/Expect compare to that of the Expect modules of other languages? This comparison is far more difficult to explain than might first appear; full understanding involves several subtleties. Here are the highlights:
[More detail.] [See essay on "Most programmers don't know what Expect can do for them".]
Because of its channel abstraction, Expect can interact with multiple processes quite easily. That has been more cumbersome or even infeasible with Expect extensions available for other languages.
Summary: Expect is generally "better" in the usual ways programmers understand that, compared to Expect-like modules for other languages, in: