빨간색(프로그래밍 언어)

Red (programming language)
빨간.
Red Logo (stylized Tower of Hanoi)
패러다임명령형, 기능형, 기호형
설계자네나드 라코체비치
개발자네나드 라코체비치
처음 등장한2011
안정된 릴리스
0.6.4[1] (Alpha) / 2018년 12월 7일
OSLinux, Windows, OS X, 음절
면허증.변경된 BSD 및 부스트
파일 이름 확장명.red, .timeout
웹 사이트www.red-lang.org Edit this at Wikidata
영향을 받다
레볼, 스칼라, 루아

빨간색은 프로그래밍 언어인 Rebol의 한계를 극복하기 위해 설계된 프로그래밍 언어입니다.빨간색은 2011년 네나드 라코체비치에 의해 도입되었으며 필수기능 프로그래밍 언어입니다.구문과 일반적인 용법이 해석된 Rebol 언어와 중복됩니다.

Red의 구현 선택은 완전한 스택프로그래밍 언어를 작성하는 것입니다.빨간색은 매우 높은 수준의 프로그래밍(DSL 및 GUI)과 낮은 수준의 프로그래밍(운영 체제 및 장치 드라이버)에 사용할 수 있습니다.어프로치의 열쇠는, 언어에는 빨강/시스템빨강의 2개의 파트가 있습니다.

  • 빨간색/시스템은 C와 비슷하지만 리볼 어휘 구조로 패키지화되어 있습니다.예를 들어 다음과 같습니다.if x > y [print "Hello"]대신if (x > y) {printf("Hello\n");}.
  • 빨간색은 레볼과 같은 의미론을 가진 메타 프로그래밍이 가능한 호모아이코닉 언어입니다.Red의 런타임 라이브러리는 Red/System으로 작성되어 있으며, 하이브리드 접근 방식을 사용한다: 그것은 정적으로 추론할 수 있는 것을 컴파일하고 그렇지 않으면 내장된 인터프리터를 사용한다.프로젝트 로드맵에는 중간 사례를 위한 저스트타임 컴파일러가 포함되어 있지만 아직 구현되지 않았습니다.

Red는 다른 체인으로부터 독립되어 있는 것을 목표로 하고 있으며, 독자적인 코드 생성을 수행합니다.따라서 명령줄 스위치를 통해 Red 프로그램을 지원하는 모든 플랫폼에서 다른 플랫폼으로 교차 컴파일할 수 있습니다.Red와 Red/System은 모두 수정된 BSD 라이선스에 따라 오픈 소스 소프트웨어로 배포됩니다.런타임 라이브러리는 보다 관대한 Boost Software License에 따라 배포됩니다.

버전 0.6.4에서 Red에는 가비지 컬렉터 "Simple GC"[1]가 포함되어 있습니다.

Red Language 아키텍처 스키마

서론

레드는 2011년 2월 레볼 & 보론 컨퍼런스에서[2] 저자인 네나드 라코체비치에 의해 네덜란드에 소개되었습니다.2011년 9월, Red 프로그래밍 언어는 2011년 소프트웨어 [3]자유의 날 동안 더 많은 청중에게 소개되었습니다.Rakochevich는 오랫동안 Rebol의 개발자로, Sheyenne HTTP [4]서버의 작성자로 알려져 있습니다.

특징들

Red의 구문과 의미론은 Rebol의 구문과 매우 유사합니다.Rebol과 마찬가지로 메타프로그래밍과 도메인 고유 언어(DSL)를 강력하게 지원하므로 방언(내장 DSL 생성)에 매우 효율적인 도구입니다.빨간색은 시스템 프로그래밍 기능을 제공하는 C 레벨 언어인 Red/System이라는 사투리를 포함합니다.빨간색은 DLL(libRed)로 다른 도구 및 언어와 쉽게 통합할 수 있으며 매우 가볍습니다(약 1MB).또한 다양한 플랫폼(아래의 크로스 컴파일 섹션 참조)으로 크로스 컴파일하여 필요한 플랫폼용 패키지(예를 들어 Android의 .APK)를 작성할 수 있습니다.Red는 또한 기본 반응형 데이터 흐름 엔진에 기반한 완전 반응형 교차 플랫폼 GUI 시스템, SVG에 필적하는 2D 도면, 컴파일 시간 및 런타임 매크로 지원, 40개 이상의 표준 데이터 유형을 포함합니다.

목표들

다음은 2011년 소프트웨어 자유의 날에 제시된 Red의 목표 목록입니다.

  • 심플성('IDE'는 코드를 쓰는 데 필요하지 않습니다.")
  • 콤팩트함(「표현력이 뛰어나면 생산성이 최대화됩니다.")
  • 속도('너무 느리면 범용성이 부족합니다')")
  • "친환경"을 중시하고 설치 공간이 작습니다("리소스는 무한하지 않기 때문입니다."")
  • 유비쿼티("모든 곳에 확산")
  • 휴대성, Write는 모든 장소에서 한 번 실행됩니다("이것은 프로그래밍 언어에서 가장 기대하지 않는 것입니다).")
  • 유연성('최상은 아니지만 어떤 작업에도 적합합니다!')

발전

Red의 개발은 다음 두 단계로 진행될 예정입니다.

  1. 초기 단계:빨간색 및 빨간색/시스템 컴파일러가 Rebol 2로 작성됨
  2. 부트스트랩 단계:빨간색 및 빨간색/시스템 컴파일러와 빨간색 JIT 컴파일러가 함께 제공됩니다.모두 빨간색으로 기재되어 있습니다.

교차 컴파일

Red는 현재 다음과 같은 교차 컴파일 대상을 지원합니다.

(주의: 이 목록은 시간이 지남에 따라 증가하므로 불완전한 것으로 간주됩니다.)

헬로 월드!

빨간색 [제목: "간단한 hello 월드 스크립트"] 인쇄물 '헬로 월드' 

요인 예제

중요: 구문 예시를 목적으로 합니다.Red가 64비트를 지원할 때까지 정수 예제는 32비트 정수를 매우 빠르게 오버플로합니다.그걸 'float'로 바꿔!'는 더 멀리 가겠지만 이는 언어의 구문을 보여주기 위한 것입니다.

다음은 빨간색 요인 예제입니다.

빨간색 [제목: "요인 스크립트"]  주의: 제목은 옵션입니다.  요인: 기능하다 [  x [정수!]  ; 빨간색으로 인수 유형을 지정하는 것은 옵션입니다. ][  어느 하나 x = 0 [1][x * 요인 x - 1] ] 

다음은 Red/System의 동일한 요인 예제입니다(이 경우 소스 코드는 Red 버전과 매우 유사함).

빨간색 / 시스템 [제목: "요인 스크립트"]  요인: 기능하다 [  x       [정수!]                   빨간색/시스템에서는 필수입니다.  반품: [정수!]                   빨간색/시스템에서는 필수입니다. ][  어느 하나 x = 0 [1][x * 요인 x - 1] ] 

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b lucindamichele. "0.6.4 Simple GC and Pure Red GUI Console". Retrieved 2018-12-16. The main feature for 0.6.4 is what we call the Simple GC (Garbage Collector). A more advanced GC is planned for the future
  2. ^ "New Red Programming Language Gets Abline Backend", osnews.com, 2011년 5월
  3. ^ § 빨간색 프로그래밍 언어: 레드 at Software Freedom Day 2011 ©, red-lang.org, 2011년 9월 14일.
  4. ^ ① 샤이엔이란? § 2017년 11월 마지막 참조.

외부 링크