Any advice from experience on which testing tool, from the list below, is for users with more programming experince and gives the most flexibility in how the scripts are run.
QTP by Mercury
WinRunner by Mercury
Rational Robot by IBM
SilkTest by Segue
TestComplete by AutomatedQA
When selecting a tool you want to do the following - that way you will get the best tool for what you need rather than the best tool for what someone else needs.
1. Identify your requirements for the tool
2. Send a request for information to the Vendors
3. Based on the answers to the RGFI - invite vendors to do a presentation.
4. Based on the presentations invite vendors to do a proof of concept
Remember the job of the vendor at this point is to make a sale - allow for that and verify everything.
I have not failed. I've just found 10,000 ways that won't work" --Thomas Edison
By users I assume you mean automation testers or engineers??
Actually I believe you will find that even though these tools are written with non-programmer skilled testers in mind that they all can be adapted to run with the more complicated methodology of development based scripting such as data driven, key word, array usage, and other such routines. In fact, their use is greatly enhanced by this approach. I am speaking specifically of the Mercury suite but I think the other tools are equally enhanceable.
Success is the ability to go from one failure to another with no loss of enthusiasm.
~ Winston Churchill ~
Perhaps you can clarify "advanced users", because with experience comes the realization that simple is better because it gets the job done quicker at a lower cost. It is great to consider the ability to store reusable segments, for example, but if a tester wants the power of general purpose coding the answer is use a general programming language. There are complex tasks you can perform in simple ways, and simple tasks you can overcomplicate. If you want to get a feel for this try some examples using AutoIt V3 (freeware) and explore how it is possible to devise different ways to implement an objective that you have in mind. Most people will explore any option, but then gravitate to using a least complex solution in the end. Once you know better where you stand in this regard you may be able to consider the big tools with the big costs that in some cases will add little power to basic solutions. Good luck.