For around seven years I programmed a derivative trading system. Unfortunately our company went out of business due to lack of capital and possibly because our large competitors were cheating (not obeying firewalls between trading for customers and trading for themselves).
I view high-frequency trading (HFT) as great for society. Here is why: What HFT gives you is the fairest and most accurate (best) price for something. When there are many, many trades, the price gap between the individual trades becomes so low that there is no chance that you'll pay too little or too much for something or that you'll wait too long for your trade to happen. I'm talking about people who just want to buy something, not HFT traders.
You're hungry and you want to cook yourself dinner. Your dinner is made up of commodities that are traded, except perhaps for the parts that you bought at the local farmers market. But you and the farmer used gas and a vehicle of some sort to make the transaction. If you rode your bike, your bike is lubed with oil and made of steel, etc. With HFT in play, everything that went into the transaction was bought and sold at the fairest price possible. Nobody got gyped because of low market volumes that day, and nobody had to pay a gigantic fee to a broker because the cost per transaction is now tiny.
Of course you have issues like the flash crash. The best way to look at the flash crash is like this. Shares of John Gotts (JG) are worth $40, based upon fundamentals (intrinsic worth) and an idea about the future. Somebody sold a gigantic number of shares of JG for $20. Excellent computer algorithms put in buy orders for JG at $15 and possibly foolish computer algorithms found a way to sell shares of JG at that price, foolish if they bought the shares for more than $15 or smart if they bought the shares for less. The spiral kept going downwards due to both foolishness and intelligence. You can see that there were many, many winners. Every algorithm that bought shares for JG at less than $40 had the potential for a huge windfall. There are no rules against creating an intelligent HFT to look for mini-flash crashes and make a killing as a result. Fortunately or unfortunately, many of the trades that did happen were unwound by the exchange.
Finally, what I need to stress here is that computers aren't trading with other computers. Teams of programmers working with traders are writing code that does their bidding. The computer is the trader's tool, not the trader itself.