Understanding Programming Languages: Differences, Success Factors, and Recommended Applications