내 대답은 실제로 Gilles를 정교화 한 것으로 내 글을 쓰기 전에는 읽지 않았다. 그럼에도 도움이 될 수 있습니다.
일반적인 프로그래밍 언어 이론과 특히 미적분학을 처리하는 두 가지 차원의 프로그래밍 언어 작업을 구별하여 귀하의 질문에 대답하려고합니다.
후자는 일반적으로 제품으로 프로그래밍 언어를 제공한다는 목표로 업계에서 발생합니다. Oracle에서 Java를 개발하고 Microsoft에서 C #을 개발하는 팀이 예입니다. 반대로 순수한 연구는 제품과 관련이 없습니다. 그 목적은 프로그래밍 언어를 본질적인 관심 대상으로 이해하고 모든 프로그래밍 언어의 기본이되는 수학적 구조를 탐구하는 것입니다.
다양한 목표로 인해 프로그래밍 언어 이론의 다양한 측면이 순수 연구 및 제품 중심의 R & D와 관련이 있습니다. 아래 그림은 중요한 부분을 알려줍니다.
이 시점에서 두 차원이 왜 그렇게 다른지 그리고 어떻게 관련이 있는지 묻습니다.
핵심 통찰력은 프로그래밍 언어 연구 및 개발이 기술, 사회 및 경제의 여러 차원을 가지고 있다는 것입니다. 거의 정의상 산업은 프로그래밍 언어의 경제적 보상에 관심이 있습니다. 마이크로 소프트 등은 마음의 장점을 가지고 언어를 개발하지는 않지만 프로그래밍 언어가 경제적 이점을 제공한다고 믿기 때문에 그리고 일부 프로그래밍 언어가 성공한 이유를 심층 조사한 결과, 유사하거나 고급 기능이있는 다른 언어는 그렇지 않습니다. 그리고 그들은 단일 이유가 없다는 것을 발견했습니다. 프로그래밍 언어와 해당 환경은 복잡하므로 특정 언어를 채택하거나 무시해야하는 이유도 있습니다. 그러나 프로그래밍 언어의 성공을위한 가장 큰 요인은 이미 널리 사용되는 언어에 프로그래머를 우선적으로 첨부하는 것입니다. 사람들이 언어를 더 많이 사용할수록 라이브러리, 도구, 교재가 더 많고 프로그래머가 더 생산적입니다. 그 언어를 사용할 수 있습니다. 이것을 네트워크 효과라고도합니다. 또 다른 이유는 개인과 조직을위한 고가의 스위칭 언어입니다. 특히 경험이없는 프로그래머에게 언어를 숙달하고 친숙한 언어와의 시맨틱 거리가 크면 시간이 많이 걸리는 노력입니다. 이러한 사실을 감안할 때, 왜 새로운 언어가 전혀 매력을 느끼지 못하는가? 왜 회사가 전혀 새로운 언어를 개발합니까? 우리는 왜 Java 나 Cobol을 유지하지 않습니까? 유청이 언어를 성공시키는 데는 몇 가지 중요한 이유가 있다고 생각합니다.
대체 할 기존 기업이없는 새로운 프로그래밍 영역이 열립니다. 주요한 예는 Javascript가 동시에 증가하는 웹입니다.
언어 끈적임. 이것은 언어 변경의 높은 가격을 의미합니다. 그러나 때때로 프로그래머는 다른 분야로 옮겨 가면서 프로그래밍 언어를 사용하여 새로운 분야의 구 언어로 성공합니다.
심각한 재정적 화력을 가진 대기업에 의해 언어가 추진됩니다. 얼리 어답터는 몇 년 후에도 언어가 계속 지원 될 것이라고 합리적으로 확신 할 수 있기 때문에 이러한 지원은 채택 위험을 줄입니다. 이에 대한 좋은 예는 C #입니다.
언어에는 매력적인 도구와 생태계가 함께 제공 될 수 있습니다. 여기에도 C #이 있으며 .Net 및 Visual Studio 에코 시스템을 예로들 수 있습니다.
오래된 언어는 새로운 기능을 선택합니다. Java는 각 반복마다 함수형 프로그래밍 전통에서 더 좋은 아이디어를 얻습니다.
마지막으로, 새로운 언어는 본질적인 기술적 인 장점을 가질 수 있습니다. 예를 들어 표현력이 뛰어나고 구문이 좋으며 오류가 더 많은 타이핑 시스템 등이 있습니다.
이러한 배경을 고려할 때 순수한 프로그래밍 언어 연구와 상용 프로그래밍 언어 개발 사이에 약간의 분리가 있다는 것은 놀라운 일이 아닙니다. 특히 대규모 소프트웨어의 경우 소프트웨어 구성 및 진화를보다 효율적으로 만드는 것을 목표로하지만, 산업 프로그래밍 언어 작업은 중요한 대중에 도달하고 네트워크 효과를 얻기 위해 빠른 채택을 촉진하는 데 더 관심이 있어야합니다. 이것은 일하는 프로그래머가 관심을 갖는 것에 초점을 둔 연구로 이어진다. 이는 라이브러리 가용성, 컴파일러 속도, 컴파일 된 코드 품질, 이식성 등과 같은 경향이 있습니다. 우리가 오늘날 실천하는 프로세스 미적분학은 주류 프로젝트를 수행하는 프로그래머에게는 거의 쓸모가 없습니다 (비록 미래에 그것이 바뀔 것이라고 믿지만).
λπβ-기능 프로그래밍 감소, 논리 프로그래밍 해상도 / 통일, 동시 계산을위한 이름 전달). 스칼라와 같은 언어가 실행 가능한 전체 유형 유추를 가질 수 있는지 이해하기 위해 JVM에 대해 걱정할 필요가 없습니다. 실제로 JVM에 대한 생각은 형식 유추에 대한 더 나은 이해를 방해합니다. 그렇기 때문에 작은 코어 계산으로 계산을 추상화하는 것이 중요하고 강력한 이유입니다.
따라서 프로그래밍 언어 연구를 사람들이 장난감을 가지고 노는 거대한 샌드 박스라고 생각할 수 있으며, 특정 장난감을 가지고 놀 때 재미있는 것을 발견하고 장난감을 철저히 조사한 경우, 재미있는 장난감이 주류 산업 수용을 향한 긴 행진을 시작합니다 . 프로그래밍 언어 연구원이 처음으로 발명 한 언어 기능이 널리 받아 들여지기까지 수십 년이 걸리기 때문에 오래 전진한다고 말합니다. 예를 들어 가비지 수집은 1950 년대에 고안되었으며 1990 년대에 Java에서 널리 사용 가능해졌습니다. 패턴 매칭은 1970 년으로 거슬러 올라가며 스칼라 이후로만 널리 사용됩니다.
프로세스 미적분학은 특히 흥미로운 장난감입니다. 그러나 철저히 조사하기에는 너무 새롭습니다. 10 년간의 순수한 연구가 필요합니다. 현재 프로세스 이론 연구에서 진행되고있는 것은 프로그래밍 언어 연구, (순차적) 유형 이론의 가장 큰 성공 사례 하나를 취하고 메시지 전달 동시성에 대한 유형 이론을 개발하는 것입니다. Hindley-Milner와 같이 순차적 프로그래밍을위한 적당한 표현력의 타이핑 시스템은 이제 잘 이해되고 있으며 어디에나 있으며 작업 프로그래머들에 의해 수용되고 있습니다. 동시 프로그래밍을 위해 적당히 표현적인 유형을 원합니다. 이것에 대한 연구는 1980 년대 Milner, Sangiorgi, Turner, Kobayashi, Honda 등과 같은 선구자들에 의해 시작되었습니다. 선형 논리에서 비롯된 선형성 개념에 기반을 둔 명시 적 또는 암시 적 개념에 근거합니다. 지난 몇 년 동안 활동이 크게 증가했으며 앞으로도 계속 상승 할 것으로 예상됩니다. 또한 프로세스 미적분학을 훈련받은 젊은 연구자들이 산업 R & D 연구소에서 근무하고 CPU와 컴퓨터 아키텍처가 진화했기 때문에 실제적으로 제품 중심의 R & D로이 작업이 시작되기를 기대합니다. 순차적 형태의 계산에서.
요약하자면, 프로세스 미적분학과 같은 최첨단 프로그래밍 언어 이론이 자신의 언어 작성 작업에 유용하지 않다고 걱정하지 않을 것입니다. 최첨단 이론이 현재 프로그래밍 언어의 문제를 해결하지 않기 때문입니다. 미래 언어에 관한 것입니다. '실제 세계'가 따라 잡는 데 다소 시간이 걸립니다. 오늘날 언어를 구축하는 데 사용하는 지식은 과거의 프로그래밍 언어 이론입니다. 프로세스 미적분학에 대한 자세한 내용은 이론적 컴퓨터 과학에서 가장 많이 사용되는 영역 중 하나이기 때문에 권장됩니다.