링고(프로그래밍 언어)

Lingo (programming language)

링고는 존 H가 개발한 장황한 오브젝트 지향(OO) 스크립팅 언어. Adobe Director(이전의 Macromedia Director)에서 사용되는 Thompson.링고는 데스크톱 애플리케이션 소프트웨어, 인터랙티브 키오스크, CD-ROM, 어도비 쇼크웨이브 콘텐츠 개발에 사용된다.[1][2]

링고는 1990년대 대화형 멀티미디어 제품 시장을 석권한 어도비 쇼크웨이브 플랫폼의 1차 프로그래밍 언어다.[3]1990년대에는 링고와 함께 《트레이닝맨 프로젝트》, 《토탈 왜곡》, 《미아의 언어 어드벤처》, 《미아의 사이언스 어드벤처》, 《디디앤디토 시리즈》 등 다양한 그래픽 어드벤처 게임이 개발되었다.링고를 이용한 수백 개의 무료 온라인 비디오 게임이 개발되어 미니클립, Shockwave.com 등의 웹사이트에 게재되었다.

링고는 사용자 인터페이스 구축, 래스터 그래픽, 벡터 그래픽, 3D 컴퓨터 그래픽, 기타 데이터 처리 작업에 사용될 수 있다.[4][5]링고는 영상 처리와 3D 객체 조작을 위한 전문 구문을 지원하며,[6] 링고를 이용해 3D 메쉬도 즉석에서 만들 수 있다.[6]

역사

링고는 존 H에 의해 발명되었다. 톰슨은 1989년 매크로마인드에서 2.2감독과 함께 처음 발매되었다.제프 태너는 Lingo for Director 2.2 및 3.0을 개발 및 테스트하고, 다양한 미디어 장치 생산자를 위한 맞춤형 XObjects, XFactory 애플리케이션 프로그래밍 인터페이스(API)를 포함한 XFactory를 사용한 언어 확장 예제, Lingo 사용법에 대한 초기 튜토리얼을 작성했다.Dave Shields는 3.13 및 4.0 책임자용 객체 기반 Lingo를 테스트하고 문서화했다.그는 테스트를 위한 주간 릴리즈를 만들기 위해 빌드 스크립트를 실행하고, Macromedia KnowledgeBase를 창안했으며, Lingo XTRA 플러그인을 C++로 작성하는 방법의 예를 만들고, 복제기로 출하된 Macromedia Director의 Golden Master 디스크를 조립했다.

링고는 1990년대에 급성장한 멀티미디어 커뮤니티와 이미 인기 있는 디렉터 제품에 의해 빠르게 채택되었다.처음에는 약 90%의 사용자가 주로 링고 기능 중 10%만 사용하였다.go to the frame튜토리얼과 프리젠테이션의 멀티미디어 저자에 의해.[citation needed]그러나 이용자의 10%는 게임 개발자로[citation needed], 자체 XFactories/XObject를 제작하여 자신의 기능 확장을 포함한 나머지 90%의 능력에 더 큰 관심을 보였다.여행사 프로젝트는 이것의 두드러진 예다.

특징들

링고는 Adobe Director에 내장되어 있으며, 객체나 타임라인에 스크립트로 추가할 수 있다.링고는 객체지향 프로그래밍(OOP) 언어로, 스몰토크식 장바구니 구문, OO닷 구문, 상속 등을 지원한다.

상세 구문

링고가 만들어졌을 때, 장황한 구문이 구어를 모방하도록 고안되었기 때문에 새로운 사용자들이 쉽게 사용할 수 있을 것이다.사용자는 다음과 같은 HyperTalk와 같은 문장을 쓸 수 있다.

 만일 사이다 5 이다 보이는 그때 가다   액자에 넣다 

문장으로 이동에서 "to"는 선택 사항이며, 다른 프로그래밍 언어와 달리 특정 코드 라인이 아닌 이사 점수에서 문장 참조 프레임을 사용한다.

링고 또한 초기에는 '물체 생성'이라는 개념을 통해 물체 생성을 제공함으로써 매우 강건했다.factory외부 공장(Xfactories) 또는 XObjects를 통해 언어의 확장성을 이끌었다.Director 3.13 이상 버전의 경우 마이크로소프트 Component Object Model(COM)에 기반한 XTRA라고 하는 다른 유형의 플러그인을 통해 확장성이 발생하였다.

도트 구문

아직 장황한 구문을 사용할 수 있지만, 현재 버전의 언어는 OO닷 구문을 완전히 지원하므로 코드는 자바스크립트C++와 같은 표준 프로그래밍 언어에 더 가깝게 보인다.

새로운 스크립팅 스타일에 해당하는 내용은 다음과 같다.

 만일 사이다(5).보이는 그때 _beakes.가다(_beakes.액자에 넣다) 

이 형식은 Director MX 2004에서 소개된 Director Object Model의 요소를 사용한다.이전 버전의 구문은 다음과 같다.

 만일 사이다(5).보이는 그때 가다  액자에 넣다 

스크립팅

이사에는 각각 특정한 목적을 가진 4가지 유형의 링고 대본이 있다.각 스크립트 유형은 특정 유형의 호환 객체에 추가할 수 있다.

  • 캐스트 스크립트는 멤버와 함께만 작동하며 모든 이벤트를 함께 사용할 수 있는 것은 아니다.
  • 동작 스크립트는 스프라이트에 부착되거나 프레임에 삽입된다.스프라이트 동작은 스프라이트의 특성과 움직임을 제어하기 위해 종종 사용된다.프레임 동작은 점수의 특정 프레임 내에서 일시 중지 또는 지연을 발생시키는 데 사용할 수 있다.동작은 프로그래밍과 첨부된 아이템의 관계를 직접 볼 수 있기 때문에 객체 지향적인 방식으로 프로그래밍하기 쉽다.그들은 또한 다른 스프라이트를 통제하거나 상호작용할 수 있어, 그들을 진정한 사물로 만들 수 있다.
  • 영화 대본은 스프라이트에 첨부되지도 않고 오브젝트로 인스턴스화되지도 않는다.프로그램(영화) 전체에서 사용할 수 있으며, 특히 글로벌 핸들러를 잡고 영화의 시작이나 끝에서 글로벌 변수를 초기화하는 데 유용하다.
  • 상위 스크립트는 새 명령을 사용하여 객체의 인스턴스를 변수로 생성(생성)하는 데 사용된다.이러한 물체는 하나의 스프라이트에 부착되지 않고 스프라이트 및 기타 매체를 원격으로 제어할 수 있으며, 데이터 또는 기타 비표시 항목을 제어하는 데 사용할 수 있으며, 경로 탐색과 같은 반복 루틴에 유용하다.상위 스크립트를 사용하여 언제든지 개체를 만들거나 파괴할 수 있으며, 동작이 제한된 점수의 범위로부터 개체를 자유롭게 할 수 있다.

행동과 부모 스크립트는 좋은 객체 지향 프로그래밍을 장려한다.영화 대본은 OOP 지향적이지 않다.그러나, 블랙박스 처리기를 만드는 데 여전히 사용될 수 있는데, 이 처리기는 박스의 내부 작업을 알지 못한 채 다른 물체가 원시 데이터를 입력하여 답변을 받을 수 있다.책임자의 프로그래밍 방법론의 강점과 사용 편의성을 이용하여 OOP의 이점과 함께 강력하고 빠른 프로그래밍 환경을 구축한다.

상속

링고는 약간 독특한 시스템에 의한 개체 상속을 지원한다: 스크립트는ancestor다른 오브젝트를 참조하는 속성(대개 대본도 있지만, 캐스팅 멤버와 같은 다른 오브젝트도 조상이 될 수 있다).조상의 특성과 방법은 부모에 의해 상속된다.동작 스크립트도 스프라이트 자체를 참고하여 동작의 특성과 방법에 접근할 수 있기 때문에 스프라이트가 부착된 스프라이트의 일종의 조상이다.이 경우 한 스프라이트가 여러 행동을 할 수 있기 때문에 일종의 복수 상속이다.

확장성

XObjects

링고 3.0은 또한 외부 공장(Xfactories)이나 XObjects(Lingo Xtras로 교체된 라이터)를 통해 확장할 수 있었고, 이는 이사에게 프로그램적 확장을 제공했다.예를 들어 매킨토시 시리얼포트(SerialPort)를 통해 CD-ROM, 비디오 테이프 플레이어 등 외부 미디어 기기를 제어하는 것. XObject API는 개발자와 미디어 디바이스 생산자에게 공개 제공되어 링고의 인기와 다용성을 더했다.Macromind는 외부 미디어 장치가 링고를 통해 협업할 수 있도록 XObject API를 표준으로 포지셔닝하는 데 매우 적극적이었으며, 표준으로서의 관심은 멀티미디어 협회라는 특별 그룹을 통해 유명하고 급성장하는 미디어 제품 회사들로부터 많은 참여를 얻어냈다.

엑스트라스

Lingo는 Director 버전 4.0을 시작으로 Xtras라는 향상된 등급의 외부 플러그인을 통해 확장할 수 있었다.Xtras는 Microsoft Component Object Model(COM)을 사용하여 C++로 개발되었다.COM과의 표준화는 개발자들이 그러한 플러그 인의 시장을 창출하도록 유도하는 데 도움이 되었다.

이미징링고

이미징 링고는 8.0 디렉터와 함께 도입됐으며 개발자가 간단한 구문을 이용해 고성능 이미지 조작 명령을 쓸 수 있도록 했다.영상 어플리케이션(포토샵 등)의 기능과 유사한 점이 있어, 코드에 근거한 역동적인 시각 효과를 쉽게 연출할 수 있다.이미지 조작은 비트맵데이터 클래스와 함께 ActionScript 3.0에도 추가되었다.여기에는 보다 정교한 명령이 포함되었기 때문에, Director는 또한 BitmapData 개체와 자체 Image 개체 간의 변환을 허용하도록 업데이트되었다.

3D

8.5 국장은 링고와 대본이 가능한 DirectX 3D 엔진을 도입했다.Lingo는 새로운 3D 개체를 지원하도록 크게 업데이트되었으며 현재 완전한 기능을 갖춘 3D 명령 집합을 포함하고 있다.또한 Xtra는 Havok 3D Physics 엔진과 나중에 AGEIA PhysX 엔진을 Director 11에서 사용할 수 있도록 만들어졌다.

다른 언어

이 다른 언어들은 아마도 매크로미디어 언어만큼 잘 알려져 있지 않을 것이다.그러나 영국에는 린 스마트컴퓨팅이 '링고'라는 단어의 상표를 쥐고 있다는 법적 변칙이 남아 있다.

  • 링고라는 언어가 윈도 아래 소프트웨어 개발을 위해 출시되었다.이 버전은 컴파일 가능한 고급 프로그래밍 언어로 설계되었다.
  • 스몰토크를 기반으로 한 프로그래밍 언어는 영국 스코틀랜드의 린 스마트 컴퓨팅에 의해 개발된 Rekursiv 프로세서를 위해 개발되었다.이 언어는 링고라는[7] 이름이 붙었고, 그것의 제조사들이 영국에서 성공적으로 상표를 획득했기 때문에 의미가 크다.
  • 링고는 또한 LINDO Systems Inc.에 의해 1988년에 처음 개발된 선형, 비선형, 정수 최적화 문제를 해결하기 위한 프로그래밍 언어다.이 언어는 아직 생산 중이다.

참조

  1. ^ Macromedia Shockwave for Director's Guide, 1권, New Liders Pub, 01-1월-1996
  2. ^ 헤이든 북스 1권 감독용 매크로미디어 쇼크웨이브, 1996
  3. ^ Kelly Hart; Mitch Geller (2008). New Perspectives on Dreamweaver CS3, Comprehensive. Cengage Learning. p. 429. ISBN 1-4239-2531-9.
  4. ^ Macromedia Director 8: 강력한 멀티미디어 제작, 프렌티스 홀, 2001
  5. ^ 링고, 뉴라이더즈 퍼브, 01년 1월-1997년 맥크로미디어 디렉터 6
  6. ^ a b Macromedia Director 8.5 Shockwave Studio for 3D: Source에서 교육, Macromedia Press, 2002
  7. ^ "Rekursiv Project - Lingo Language". June 7, 2007. Archived from the original on 7 June 2007.

외부 링크