맨위로가기

컬 (프로그래밍 언어)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

컬은 웹 문서의 다양한 구성 요소를 통합하기 위해 설계된 객체 지향 프로그래밍 언어이자 마크업 언어이다. HTML과 유사한 마크업 언어와 객체 지향 프로그래밍 언어의 문법을 모두 지원하며, HTML, CSS, 자바스크립트의 분리를 따르지 않고도 웹 콘텐츠를 생성할 수 있다. 컬은 경량 마크업 기능과 UTF-8 텍스트 인코딩을 지원하며, 최상위 파일 포함을 통해 마크업 소스 텍스트를 다른 파일에 포함할 수 있다. 컬 애플리케이션은 JIT 컴파일러를 통해 네이티브 코드로 컴파일되어 고속으로 실행될 수 있으며, 오프라인에서도 작동하도록 설계되었다.

더 읽어볼만한 페이지

  • 리치 인터넷 애플리케이션 프레임워크 - 자바FX
    JavaFX는 자바 기반의 UI 구축 플랫폼으로, 다양한 플랫폼을 지원하며 풍부한 UI 기능들을 제공하고, Java 8부터 JDK에 포함되었다가 JDK 11부터 분리되어 관리된다.
  • 리치 인터넷 애플리케이션 프레임워크 - 마이크로소프트 실버라이트
    마이크로소프트 실버라이트는 2007년에 출시되어 어도비 플래시에 대항하고자 개발된 마이크로소프트의 RIA 기술이며, 닷넷 프레임워크 기반으로 XAML을 사용해 사용자 인터페이스를 정의했으나 2021년에 지원이 종료되었다.
  • 선언형 프로그래밍 언어 - XAML
    XAML은 마이크로소프트에서 개발한 XML 기반의 마크업 언어로, 사용자 인터페이스, 데이터 바인딩, 이벤트 처리 등을 정의하며 WPF, Silverlight, WF, WinRT API 앱, Xamarin.Forms 등에서 UI 개발에 널리 사용된다.
  • 선언형 프로그래밍 언어 - 임베디드 SQL
    임베디드 SQL은 호스트 프로그래밍 언어 내에 SQL 문을 삽입하여 데이터베이스와 상호 작용하는 기술로, 데이터베이스 액세스를 표준화하지만 보안 취약점과 이식성 저하의 단점도 가진다.
  • 함수형 프로그래밍 언어 - XQuery
    XQuery는 함수형 프로그래밍 패러다임을 지원하며 XPath 식 구문의 상위 집합을 포함하는 XML 데이터 추출 및 조작을 위한 쿼리 언어로서, FLWOR 식을 통해 XML 데이터 조작 및 새로운 XML 문서 구성을 지원하고 XQuery 및 XPath 데이터 모델(XDM)을 기반으로 한다.
  • 함수형 프로그래밍 언어 - 코틀린 (프로그래밍 언어)
    코틀린은 젯브레인즈에서 개발한 정적 타입 언어로, 자바 가상 머신에서 동작하며 자바와의 호환성을 갖고, 안드로이드 공식 지원 언어로 채택되어 다양한 분야에서 활용되고 있으며, 이름은 러시아의 코틀린 섬에서 유래되었다.
컬 (프로그래밍 언어) - [IT 관련 정보]에 관한 문서
기본 정보
Curl 로고
Curl 로고
패러다임다중 패러다임 프로그래밍: 객체 지향 프로그래밍, 마크업 언어
설계자스티브 워드, MIT
개발자Curl, Inc., Sumisho Computer Systems Corp., SCSK Corporation
발표일1998년
최신 버전8.0.13
최신 버전 발표일2022년 9월 6일
타이핑강한 타이핑
영향을 받은 언어HTML, 자바스크립트, Lisp
운영체제Windows
라이선스독점 소프트웨어
웹사이트Curl 공식 웹사이트
파일 확장자curl, scurl, mcurl, pcurl, xcurl

2. 아키텍처

컬은 웹 문서를 구성하는 요소들이 서로 다른 구현 방식을 요구하는 문제를 해결하기 위해 설계되었다. 기존에는 HTML, CSS, 자바스크립트 등 서로 다른 언어와 도구, 프레임워크를 사용해야 했고, 이들을 통합하는 과정이 어려웠다. 컬은 웹 콘텐츠 생성의 모든 수준에서 일관된 구문 및 의미 인터페이스를 제공하여 이러한 문제를 해결한다.

컬은 HTML과 같은 마크업 언어의 기능을 제공하는 동시에, 다중 상속을 지원하는 객체 지향 프로그래밍 언어의 기능도 제공한다. 따라서 컬 애플리케이션은 정보, 스타일, 동작의 분리를 따르지 않고 하나의 언어로 통합하여 개발할 수 있지만, 필요하다면 기존의 분리된 프로그래밍 스타일도 사용할 수 있다.

컬은 컴파일되고 강력한 형식의 객체 지향 시스템 프로그래밍 언어의 기능을 제공하며, 사용자 코드에서 확장 가능하다.[2] JIT 컴파일러를 통해 클라이언트 머신의 네이티브 코드로 컴파일되어 빠른 실행 속도를 제공하며, 오프라인 환경에서도 실행 가능하도록 설계되었다.

2. 1. 경량 마크업

컬은 사용자 정의 텍스트 프로시저와 스타일 시트를 모두 제공하므로, 도메인 특화된 경량 마크업으로 쉽게 사용할 수 있다. 일반 텍스트 HTML 마크업에 비해 주요 장점은 텍스트 인코딩을 UTF-8로 설정할 수 있으며, 유니코드 지원 텍스트 편집기에서 문자 이스케이핑 없이 텍스트를 입력할 수 있다는 것이다(JavaScript와 마찬가지로 Curl은 유니코드 친화적이다). 의 예는 다음과 같다.

```text

{poem || 전체 시를 감싸는 부분

{stanza || 첫 번째 연은 어떤 언어로든 작성

}

{stanza || 다른 연은 어떤 언어로든 작성

}

}

```

이것은 처음에 시와 연 마크업을 문단 텍스트 형식으로 정의하여 구현할 수 있다. 연은 텍스트 프로시저 자체인 컬의 {destination}을 사용하여 페이지 탐색을 위한 숨겨진 탐색 앵커를 포함하도록 더욱 세분화될 수 있다.

동일한 마크업을 다른 결과에 사용할 수 있는데, 이는 텍스트를 한 컨텍스트에서는 보이도록, 다른 컨텍스트에서는 보이지 않도록 스타일을 지정할 수 있기 때문이다. 컬은 또한 최상위 파일 포함을 허용하여 마크업 소스 텍스트를 다른 상위 파일에 포함할 수 있다. 예를 들어 교육 분야에서 시험 문제의 소스 파일을 생성하고 이를 학생용 텍스트와 교사용 텍스트 버전 모두에 포함할 수 있다.

3. 문법

컬은 HTML과 유사한 마크업 언어 문법과 객체 지향 프로그래밍 언어 문법을 모두 지원한다. 간단한 컬 애플릿은 다음과 같이 작성할 수 있다.

```text

{Curl 7.0, 8.0 applet}

{text

color = "blue",

font-size = 16pt,

Hello World

}

```

위 코드는 최소 컬 버전 7.0 또는 8.0이 설치되어 있는 환경에서 실행된다. 컬은 익명 프로시저, 명명된 메서드 외에도 매크로와 텍스트 프로시저를 제공한다. 컬 주석은 여러 변형으로 세로 막대 기호(|)를 사용한다.

참조

[1] 웹사이트 Changes to Supported Operating Systems of Curl RTE Products https://www.curl.com[...] SCSK Corporation 2020-04-01
[2] 웹사이트 Curl: A Gentle Slope Language for the Web https://web.archive.[...] MIT Laboratory for Computer Science 2005-12-20
[3] 문서 Hostetter et al. 4. Curl as a Programming Language 節を参照
[4] 문서 Hostetter et al. 3. Curl Overview 節を参照
[5] 웹사이트 カール - Curl RTE:システム要件 http://www.curlap.co[...] SCSK Corporation 2020-04-01
[6] 웹인용 Changes to Supported Operating Systems of Curl RTE Products https://www.curl.com[...] SCSK Corporation 2020-04-01



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com