편집 : 처음 에이 질문은 자바를 강타하고있는 것 같습니다.이 시점에서 조금 생각합니다. 그러나 내가하려고하는 더 큰 요점은 하나의 언어가 모든 문제에 대한 모든 솔루션으로 선택되는 이유입니다. Java는 내가 사용하는 것이므로 여기에서 이길 수는 있지만 Java를 새로운 것으로 추출하려는 의도는 아닙니다. :)
대부분의 학업 환경에서 Java를 좋아하지 않습니다. 언어 자체가 나쁘다는 것은 아닙니다. 여러 가지 매우 바람직한 측면이 있습니다. 가장 중요한 것은 대부분의 플랫폼에서 재 컴파일하지 않고 실행할 수 있다는 것입니다. Next App ^ TM 용 언어를 사용하는 데 아무런 문제가 없습니다. (개인적으로하는 것이 아니라 디자인이 열악한 것이 아니라 경험이 적기 때문입니다.)
Java를 언어로 사용하여 고급 CS 과정을 가르치는 것은 낭비라고 생각합니다. 저의 많은 학생들이 쓰레기 수거되지 않은 세상에서 일하는 법을 모르기 때문에 그만한 가치가있는 프로그램을 만들 수 없습니다. 프로그래밍하려는 기계를 기본적으로 이해하지 못합니다. 누군가가 가비지 수집 된 세계 밖에서 일할 수있을 때, 내부에서 일할 수 있지만 그 반대 일 수는 없습니다. GC는 목발이 아닌 도구입니다. 그러나 컴퓨터 과학 학생들을 가르치는 데 사용되는 방식은 목발입니다.
컴퓨터 과학은 단일 언어에 맞춘 전체 과정을 가르치지 않아야합니다. 학생들은 모든 좋은 디자인은 관용적 인 자바 디자인이고, 객체 지향 디자인은 유일한 방법이 될 수있는 유일한 방법이라는 생각으로 떠납니다. 졸업생이 기계를 더 잘 이해할 수 있도록 가비지 수집 언어가 아닌 다른 언어를 가르치는 데 사용해야합니다.
존경받는 기관의 CS에서 PHD를 가진 사람이 종이 봉지에서 벗어날 수없는 것은 당혹스러운 일입니다.
더 나쁜 것은 실제로 일이 어떻게 작동하는지 이해하는 CS 교수와 이야기 할 때 우리는 Java로 모든 것을 수행하여 학생들에게 장애를 겪고 있다는 느낌을 공유한다는 것입니다. (위의 언어를 다른 언어로 바꾸면 동일합니다. 일반적으로 단일 언어를 사용하는 것이 Java 자체가 아니라 문제입니다)
전체적으로, 나는 더 이상 어떤 종류의 학위도 존중할 수 없다고 생각합니다. 주변 사람들이 fizzbuzz 문제에서 벗어날 수있는 방법을 프로그래밍 할 수 없을 때.
왜 / 어떻게 이렇게 되었습니까?