서브텍스트(프로그래밍 언어)
Subtext (programming language)서브텍스트는 애플리케이션 소프트웨어를 작성하기 위한 중간 수준의 시각적인 프로그래밍 언어 및 환경입니다.이는 프로그램 구조를 위해 복사된 블록을 1등급 프로토타입으로 처리함으로써 예제 중심 프로그래밍이라는 새로운 프로그래밍 모델을 개발하려는 실험적인 연구 시도입니다.사용자가 셀을 업데이트할 때 스프레드시트에서 발생하는 것과 유사한 실시간 텍스트를 사용하여 피드백을 자주 받습니다.그것은 결국 일상적으로 사용할 수 있는 실용적인 언어가 될 수 있을 정도로 발전하기 위한 것이다.오픈 소프트웨어로 계획되어 있으며 라이선스는 아직 결정되지 않았습니다.
Subtext는 Jonathan Edwards가 OOPSLA에 언어에 관한 논문을 제출하여 작성하였습니다.그것은 2005년 회의의 일부로 받아들여졌다.
환경
서브텍스트 환경의 초기 비디오 미리보기는 [1]서브텍스트 프로그램의 의미와 서브텍스 환경 및 런타임과의 긴밀한 통합을 보여주는 2006년경에 공개되었습니다.
서브텍스트 프로그램은 텍스트 프로그램을 입력하는 대신 다양한 유형의 요소를 구문 트리에 추가 및 링크하고 필요에 따라 값 또는 이름을 입력함으로써 선언 및 조작(또는 변환)됩니다.서브텍스트 언어 및 환경의 설계로 인해 프로그램의 표현과 실행은 구분되지 않습니다.스프레드시트와 마찬가지로 서브텍스트프로그램은 환경 및 런타임 내의 실시간 실행이며 프로그래밍은 그래픽 환경을 통해 이러한 실행을 직접 조작하는 것입니다.일반적인 함수형 프로그래밍 언어와는 달리 Subtext는 단순한 의미론을 가지고 있으며 "Reactive Programming"[2]으로 알려진 모델에서 가변 상태, I/O 및 동시성을 필요로 하는 반응형 시스템에 쉽게 적용할 수 있습니다.콘솔 입력("호출")은 서브텍스트 프로그램 내의 데이터 흐름을 통해 사용할 수 있으며 사용자가 대화식으로 값을 조작할 수 있습니다.
일관성
다른 [3]원칙을 사용하는 서브텍스트 언어의 연속 및 서브셋은 "코히런트 반응"이라고 불리는 새로운 변화 주도 계산 모델을 사용하여 프로그램 개발 시 인터랙티브하게 효과와 부작용을 조정하는 실험 프로그래밍 언어 및 환경입니다.이 언어는 인터랙티브 애플리케이션 소프트웨어에 특화되어 있으며 Subtext의 제작자인 Jonathan Edwards가 백서를 발행하여 개발에 대해 보고합니다.
부작용은 필수 프로그래밍의 본질이자 골칫거리이다.프로그래머는 서로의 부작용을 관리하기 위해 행동을 세심하게 조율해야 한다.이러한 조정은 복잡하고 오류가 발생하기 쉬우며 취약합니다.일관성 있는 반응은 자동으로 효과를 조정하는 새로운 변화 주도 계산 모델입니다.액션을 자동으로 조정하면 프로그래머는 언제가 아니라 무엇을 해야 할지 표현할 수 있습니다.
--
상태 변경은 반응이라고 하는 이벤트를 트리거하고, 다른 상태를 변경합니다.일관성 있는 실행 순서는 각 반응이 변경의 영향을 받는 다른 반응보다 먼저 실행되는 순서입니다.발생시의 부정어를 검출해, 그 효과를 역추적하는 것으로, 일관성 있는 순서를 반복해 발견한다.일관성의 기본 구성 요소는 동적 유형의 가변 트리입니다.기본적인 추상화 메커니즘은 가상 트리로, 그 값은 게으르게 계산되며, 그 행동은 일관성 [4]있는 반응에 의해 생성됩니다.
레퍼런스
- 중심 프로그래밍의 예 Jonathan Edwards.2004년 10월 OOPSLA에서프로그래머가 프로그램 코드를 정신적으로 해석하는 대신 개발 중에 프로그램 결과를 제시하기 위해 고급 UI 기술을 사용하여 IDE 개선 사항을 설명합니다.Eclipse를 사용한 프로토타입 IDE의 스크린샷은 기능적인 예와 함께 기술을 보여줍니다.
- Subtext: Jonathan Edwards 프로그래밍의 단순성을 밝혀냅니다.2005년 10월 OOPSLA: 객체 지향 프로그래밍, 시스템, 언어 및 애플리케이션에 관한 제20회 ACM SIGPLAN 회의의 속행.
- 일등석 복사 & 페이스트 조너선 에드워즈.2006년 3월 MIT CSAIL 초안.데이터 흐름, 할당, "액션" 호출, 현재 및 가상 데이터 상태, 동시 트랜잭션 및 콘솔 에이전트의 조작 등 첫 번째 서브텍스트 환경 내의 다양한 기능 프로그래밍 요소에 대한 자세한 설명과 그림.
- 조나단 에드워즈입니다OPSLA Forward '09년판.프로그램의 효과와 부작용을 자동으로 조정하기 위해 새로운 변경 주도형 계산 모델인 "Coordinent reaction"을 사용하는 Subtext 기반 실험 프로그래밍 언어의 시작을 대략적으로 문서화합니다.(리포트)
- 인용.
외부 링크
| Wikimedia Commons에는 서브텍스트(프로그래밍 언어)와 관련된 미디어가 있습니다. |
- Subtextual.org, Subtext 공식 웹사이트.