Like a fine wine, programming languages get better with age. Programming languages take years to become established and dominant. The deciding factor for many programmers when selecting a language for a particular project has been popularity and language acceptance, so this is a hard cycle to break for newcomers.
Even with these mature competitors, new languages still continue to emerge at a surprising frequency. Some of the new languages are created by large corporations looking to usurp their rivals’ languages, others have started as personal projects snowballing with contributions from other developers. Programming is constantly developing. We have witnessed hardware changes such as multicore CPUs and general purpose computing on graphics processing units (GPUs), as well as cloud computing and distributed architectures. Existing languages do not always lend themselves well to the new possibilities that are available.