Can We Make it Easy to Program Many-Core Processors?