Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

출처 : http://littletutorials.com/2008/05/28/13-reasons-java-die-old-age/

대략 정리하자면
  1. 익숙한 syntax를 가진 언어들을 계속하용하길 원한다.
  2. 모든 언어를 배울 수 없다. 언어를 배우는데는 꽤나 많은 노력이 필요하다.
  3. 새로운 언어를 도입할려고 하면, 압력에 부닥치게 될 것이다. 시장에서는 언어가 얼마나 예쁜지, 얼마나 유지보수하기 편한지에 대해서 그닥 관심이 없다.
  4. 새로운 프로젝트를 시작할때, 새로운 언어를 선택해야할 동기가 그다지 없다.
  5. 도전적인 새로운 언어는 재미있을지 모르지만, 일자리는 없다.
  6. 해당 언어로된 킬러 어플리케이션이 존재하지 않는 경우가 많다. 이는 고객에 불안한 요소로 보일 수 있다.
  7. 시장에서 영향력을 행사하는 강력한 스폰서가 없다. 스폰서는 (자바에서 처럼)좋은 라이브러리를 제공하며, 개발툴을 제공한다. 새로운언어는 대학연구실에서 만들어지기도 하고, 대학연구실에서 널리 쓰이기도 하지만 시장에서의 스폰서의 역할을 담당하기에는 느슨한 집단이다.
  8. 어떤 개발자들은 함수형 언어가 수학공식을 아름답게 풀수 있음에 환호하거나, 객체지향언어가 모든것을 해결해줄 수 있을거라고 생각하고 열렬히 지지한다. 그러나 대부분의 개발자들이 프로그램을 만드는데, 있어서 수학공식을 얼마나 아름답게 풀수 있는지, 얼마나 환상적으로 객체지향적인지는 그다지 중요하지 않다.
새로나온 언어가 혹시라도 기존의 성공적인 언어들, 그러니까 Java, C(:12), C++과 비슷한 요소를 가지고 있다면, 개발자들은 이 언어를 심지어 무시하기 까지 한다. 그러나 Java의 예에서 처럼 실제 대중적으로 성공하는 언어들은 기존의 성공하는 언어들을 벤치마킹하는 경우가 많다. Java는 C++과 매우 유사하며, C++의 복잡성을 없앴다. 또한 C와 C++의 메모리 관리 문제를 해결했다. C#과 C++, Java(:12)와 Delphi, C++과 C의 관계들역시 마찬가지다. 물론 이들 언어는 AT&T, SUN, Microsoft와 같은 강력한 스폰서의 지원을 얻어냈다는 공통점을 가지기는 하지만, 또한 기존의 성공적인 언어들을 고리타분하게 따라했기 때문에 스폰서에게 선택되었다고 볼 수 있을 것이다.

이들 성공한 언어의 또다른 특징은 일반적이고 범용적으로 사용된다는 점이다. Java를 예로들자면, 인터넷시장에서 Java Applets는 사실상 실패했지만, 반대로 Internet(:12)서버시장에서는 엄청난 성공을 거두었다. 만약 Java가 Applets개발에 최적화된 언어였다면, 강력한 스폰서의 지원을 받고 있음에도 불구하고, 시장에서 사라졌을 것이다. 범용적인 언어는 시장트랜드가 바뀌거나 새로운 경쟁자가 나와도 유연하게 대처하고 살아남을 수 있는 확률이 더 높다.

즉 (대중적으로 혹은 시장의 관점에서)성공할만한 새로운 언어를 찾기를 원한다면, 고리타분한 언어를 선택해야 할 것이다.