hey, I have a dissenting opinion!
well, kind of...
don't get me wrong, I think GM is a wonderful GAME MAKING tool. it's straight forward, and it is intuitive when it comes to game making, no doubt. but a viable PROGRAMMING tool?
it all depends on how you view viable. as an indie, using an intuitive tool to get your games out is viable. it is very viable. but, let's say you were a software engineer, making some sort of graphics program that has been commissioned by an art company, or whatever(i'm not really sure what software engineers do). i'm pretty sure it would not be viable to use GM.
anyway, this is more a response to the post title. in your first post, and the rest of the thread, game maker is really only referred to as a game making tool, which it excels at.
of course then there's all that non-cross-platform and speed hoo-ha with game maker, but meh. people have
gotten around the speed, and they're fixing the cross platform issues.