There's no magic as to why Perl isn't used on Windows in any way remotely comparable to VB or VC++. a.) VB and VC++ have big marketing campaigns, b.) there's a somewhat reasonable perception that VB and VC++ are much more suitable to developing large "native-looking" GUI's than Perl (of course, VB for RAD, VC++ for the "more serious stuff"), c.) it's easier to find people (especially Microsoft) to whom you can pay money for technical support.
There are some tasks to which Perl isn't suitable, and one of them is definitely writing large GUI's, and even if Tk were satisfactory for this, it's too ugly to sell to the average consumer, who wants a more eye-candyish interface that the somewhat amateurish look of Tk. This might sound a little harsh, but then again, all you have to do is take a look at how many off-the-shelf programs you can buy that are developed for Windows, using Perl/Tk. There must be a very, very small handful, but I sure as heck don't know of any. Of course, there's also the Win32::GUI module, which I've experimented with, and won't consider for writing large GUI programs anytime soon!
And, from my perspective, Perl just doesn't feel like Windows. Unix users have seen other scripting lang's with $'s and @'s in them...this is a foreign concept to DOS/Windows programmers (forgetting about @echo off :). Regexp's, of course one of Perl's larger selling points, while useful sometimes, are almost never needed in GUI programming. Perhaps they might make validating data slightly easier (sometimes), but a lot of GUI programs do the same thing (in varying levels of complexity): Read data in, have the user modify it, spit it back out to the database. Often times (like in Powerbuilder's datawindow control), the data validation is simply a property of the control (ie. specifying a certain "edit mask"): no coding necessary.
Now, of course, it's very easy to dismiss this as "nonsense", and that Perl is "well-suited" to GUI programming. Please, feel free to point out programs that are done this way, and making money (or even being used by a lot of people). It's easy to discuss the "theory" that Perl is good for making GUI's, but my experience is that in practice, Perl will not be used for this purpose (often) anytime soon. | [reply] [Watch: Dir/Any] |