왜 새로운 프로그래밍 언어가 주류에 채택되고 다른 언어는 상대적으로 틈새 시장에 남아 있는지에 집중하고 싶습니다. 특정 유스 케이스, 이전 버전과의 호환성 또는 일부 새로운 기능, 단순하거나 복잡한 구현 어려움과 같은 것들에 대해 알고 싶습니다. 구체적인 예들이 이해 될 것이지만, 여기서 "주류"또는 "틈새"의 정확한 정의를 따라 잡지 말자.
왜 새로운 프로그래밍 언어가 주류에 채택되고 다른 언어는 상대적으로 틈새 시장에 남아 있는지에 집중하고 싶습니다. 특정 유스 케이스, 이전 버전과의 호환성 또는 일부 새로운 기능, 단순하거나 복잡한 구현 어려움과 같은 것들에 대해 알고 싶습니다. 구체적인 예들이 이해 될 것이지만, 여기서 "주류"또는 "틈새"의 정확한 정의를 따라 잡지 말자.
답변:
누군가가 정말로 알고 있다면, 그들은 매우 부자 일 것입니다.
즉, 내 추측은 다음과 같습니다.
유효성
BASIC은 처음 나왔을 때 (모든?) PC와 함께 제공되는 끔찍한 작은 언어입니다. Apple II (많은 고등학교의 기본 컴퓨터)와 ATARI 400/800 (최초의 저렴한 가정용 컴퓨터)은 모두 BASIC과 함께 제공됩니다.
UNIX 머신 (AT & T 시스템 V 또는 Berkeley 's)이있는 경우 C를 사용합니다. 머신을 프로그래밍하려면 사용했던 것입니다.
편집 : 'net의 출현과 편재로 인해이 요구 사항은 다음과 같이 변합니다.
전환의 용이성
Java가 좋은 예입니다. C 프로그래밍을 알고 있다면 Java는 크게 발전하지 않았지만 C에는 없었던 많은 기능을 제공했으며 C ++은 제대로 제공하지 못했습니다.
명백한 이유로 C ++은 C에서 쉽게 발전 할 수 있었으며 "개선 된"C로 경영진에게 판매하기도 쉬웠습니다. C ++은 기존의 기존 C 코드베이스와 호환되는 이점이있었습니다.
Perl은 C, awk, sed 및 기타 Unix 유틸리티를 하나의 번들로 통합 한 것입니다. 출현하기 전에 대부분의 시스템 관리는 셸 스크립트를 통해 이루어졌으며 모든 것이 만족스럽지 못한 방식으로 결합되었습니다. C와 같은 언어의 데이터 구조와 제어를 통해 모든 것을 하나의 프로세스로 가져 오는 것은 신의 선물이었습니다.
필요를 채운다
C는 기계 별, 조립 세계 유지에 어려움을 겪지 않고 조립에 가까운 효율을 생산할 수있게 해주었습니다.
FORTRAN은 기계의 세부 사항을 잃지 않고 수학 아이디어를 코드로 쉽게 변환 할 수있게 해주었습니다.
LISP 및 기호 조작에 대해서도 마찬가지입니다.
파이썬은 "더 나은"Perl의 필요성에서 자랐습니다. (나는 여기에 편견되어 있으므로 더 이상 말하지 않을 것입니다.)
PHP는 기본적으로 웹의 기본 요소였습니다. 기본적으로 많은 웹 서버에 설치되어 있으며 유용한 정보를 신속하게 해킹하기 쉽습니다.
옹호, 사용자 기반, 기고 코드
Haskell은 개발자와 사용자 기반의 지치지 않는 옹호가 아니라면 프로덕션 언어가 아닌 언어만큼 인기가 없을 것입니다.
많은 언어가 언어를 만든 사람 뒤에는 컬트 컬처가 있으며 우리는 모두 자신이 누구인지 알고 있습니다.
FORTRAN은 수많은 확립되고 검증 된 수학 코드 세트를 가지고 있습니다. Java 및 웹 / 시스템 통합 / MVC 시스템에서 동일합니다. Perl과 CPAN의 경우 동일; T E X 및 문서 관리에서도 동일합니다 . 기타
이 요인
어떤 이유로 일부 언어 는 이전 과 비교할 수있을만큼 충분한 양의 새로운 언어를 가지고있는 것처럼 보이며, 쉽게 또는 필요한 것처럼 보일 수 있습니다. 즉, 자체 사례입니다. 어떻게 이런 일이 일어나는지 누가 알겠습니까?
어쨌든, 그것은 왜 일부 사람들이 그것을 만드는 가장 좋은 추측입니다. 왜 어떤 사람들은 위와 같은 기준을 충족시키지 못하면 실패했을 것입니다.
언어는 필요한 지역의 기존 언어보다 유리하기 때문에 인기가 있습니다.
나는 냉소적 일 것이다 : 돈 과 그것, 마케팅.
C #이 Microsoft, Oracle의 Java 및 Apple의 Objective C에서 지원한다는 것은 우연의 일치가 아닙니다. 지금까지 Google의 Go 만 해제되지 않았습니다.
물론 돈이 유일한 이유는 아니지만 주머니가 깊으면 언어를 시장에 내놓는 데 도움이됩니다.
거의 모든 언어에는 사소한 실제 문제 해결 프로그램이있었습니다.
유닉스는 C로 작성되었으므로 C가 매우 어리고 발전 할 때 유닉스의 도구들도 마찬가지였습니다.
Anaconda (RedHat의 설치 프로그램)는 Python이 어렸을 때 Python으로 작성되었으며 오늘날 인기가 없습니다.
이것들은 내가 기억할 수있는 것입니다. 이 목록은 형성 년 동안 살아남은 각 언어에 영향을 줄 수 있습니다.
그런 다음 대학에서 대규모로 채택하면 언어의 수명을 연장 할 수 있습니다. Java는 대학에서 교육 언어로 매우 인기가 있습니다. 어느 정도까지, Lisp와 Lisp의 방언도이 상태를 즐깁니다.