마마(소프트웨어)
Mama (software)마마 개발 환경 | |
| 원저작자 | 아이탐 컴퓨터 사이언스 |
|---|---|
| 안정된 릴리스 | 1.5.2 / 2010년2월 22일 |
| 운영 체제 | 창문들 |
| 유형 | 교육용 프로그래밍 언어 |
| 면허증. | 프리웨어 |
| 웹 사이트 | eytam |
Mama는 학생 모국어로 모든 언어 요소를 제공함으로써 어린 학생들이 프로그래밍을 시작할 수 있도록 설계된 객체 지향 교육 프로그래밍 언어입니다.Mama 프로그래밍 언어는 왼쪽에서 오른쪽으로(LTR) 및 오른쪽에서 왼쪽으로(RTL) 언어 방향을 모두 지원하는 여러 언어로 제공됩니다.
새로운 변형 Mama는 Carnegie Mellon의 Alice 개발 환경 위에 3D 스테이지 객체의 스크립트를 지원하는 형태로 제작되었습니다.이 새로운 변형 Mama는 3D 애니메이션과 게임을 제작함으로써 어린 학생들이 프로그래밍을 시작할 수 있도록 고안되었습니다.
역사
Mama 1.0, 1.1 및 1.2의 첫 번째 버전은 구문 강조 표시, 컴파일러, 디버거, 출력 창 등과 같은 표준 요소를 지원하는 단순한 통합 개발 환경(IDE)을 제공했습니다.버전 1.5부터 Mama는 드래그 앤 드롭 프로그래밍과 3D 애니메이션을 지원하기 위해 오픈 소스 Alice IDE와 통합되었습니다.Mama 버전은 Java에서 구현됩니다.
현재 Mama 버전 1.5.4는 영어와 히브리어로 제공되며 Microsoft Windows에서 실행됩니다.
설계.
Mama는 교육용 프로그래밍에서 다음과 같은 문제를 해결하도록 설계되었습니다.
- 산업용 프로그래밍 언어는 프로덕션 코드에 사용할 수 있도록 설계되어 복잡성이 가중됩니다.Mama는 프로그래밍 개념을 가르치도록 설계되어 프로그램을 간단하고 빠르게 개발할 수 있습니다.
- 프로그래밍을 배울 때 구문 오류가 발생하여 학생들이 좌절합니다. Alice를 기반으로 한 Mama의 변형은 드래그 앤 드롭 환경을 사용하여 3D 모델을 사용하여 컴퓨터 애니메이션을 만듭니다.
Mama 언어는 순수한 객체 지향 언어이며 Alice IDE는 객체 기반 언어입니다.즉, Mama 언어를 사용한 텍스트스크립트 작성은 모든 객체 지향 요소(상속, 다형성, 범용 프로그래밍, 옵서버 패턴 스타일 이벤트 처리)를 지원하지만 드래그 앤 드롭 인터페이스를 사용한 객체 및 메서드 작성은 객체 기반이며 상속은 없습니다(따라서 다형성은 없습니다).마지막 관찰은 초보자를 혼란스럽게 할 수 있으므로 CS 코스에서 Mama 스크립트를 고급 토픽으로만 사용하는 것이 좋습니다.
Mama 1.5는 Alice 버전 2.2보다 크게 개선되었습니다.
- Mama 프로그래밍 언어를 (풍부한) 스크립트 언어로 추가 - 이 스크립트 메커니즘을 사용하여 3D 장면 객체를 조작할 수 있습니다.
- 완전한 Unicode 지원
- 3D 객체 생성 및 편집
- YouTube에 영화 업로드 및 Facebook에 게시 지원
- 풍경과 인물에 대한 지원
- 강사용 튜토리얼 에디터 도구
- 오디오를 사용한 동영상 내보내기
- 사용자 독립 실행형 실행 파일
- 더 나은 메뉴 논리
- 많은 버그 수정
IDE의 기본
IDE 창에는 메인 메뉴와 툴바가 몇 개 있습니다.이러한 툴바에서는 월드 작성/열기, 3D 오브젝트 Import, 스탠드아론 어플리케이션 작성, 동영상 YouTube로의 내보내기 등의 명령을 실행할 수 있습니다.
메인 창에는 다음 5개의 창이 있습니다.
- object tree - 현재 월드의 개체 목록을 포함합니다.
- 3D 창 - 객체의 위치 설정, 이동, 회전 등을 하는 창입니다.
- events 영역 - 특정 이벤트가 발생했을 때 발생하는 작업을 편집할 수 있습니다.
- details area - 속성, 메서드 및 기능의 3가지 탭에 현재 선택된 개체에 대한 정보가 포함되어 있습니다.
- 에디터 영역(하단의) - 드래그 앤 드롭 명령을 사용하여 프로그램 코드가 작성되는 영역입니다.
씬(scene) 편집 모드에서는 위의 두 가지 부품이 교체됩니다.
- 제어판 - 이벤트 영역을 대체하고 3D 창에 객체를 조작하는 데 도움이 되는 다양한 컨트롤을 표시합니다.
- 객체 갤러리 - 편집기 영역을 대체하고 선택 및 3D 창에 포함할 계층 폴더의 객체를 표시합니다.
다음은 Alice IDE에서 사용할 수 있는 기본 유형입니다.
- 숫자 - 정수 및 실수를 모두 나타내는 숫자 유형
- Boolean - true 또는 false 중 하나를 받아들이는 부울 값
- 오브젝트 - 일반적인 Mama 오브젝트
- String - 문자열, 문자 집합
- 색상 - RGB 색상
- 텍스처 맵 - 텍스처 맵
- 사운드 - 사운드
- 포즈 - 객체의 캡처된 포즈
- 위치 - 3D 공간에서 위치를 정의하는 3D 배열
- 방향 - 3D 공간에서 방향을 정의하는 3D 배열
- Point Of View - 위치와 방향의 조합
에디터 영역의 하단에서 사용할 수 있는 제어 지침은 다음과 같습니다.
- doInOrder - 일련의 명령을 순차적으로 실행합니다.
- DoTogether - 일련의 명령을 동시에 실행합니다.
- if - 주어진 조건에서만 일련의 명령을 순차적으로 실행합니다.
- while - 특정 조건이 유지되는 동안 일련의 명령을 순차적으로 실행합니다.
- 특정 횟수만큼 순차적으로 명령을 실행합니다.
- for All In Order - 지정된 컬렉션에 걸쳐 일련의 명령을 순차적으로 반복합니다.
- For AllTogether - 지정된 컬렉션에 걸쳐 일련의 명령을 동시에 반복합니다.
- wait - 지정된 시간(초) 동안 기다립니다.
- print - 지정된 데이터를 출력 콘솔에 인쇄합니다.
- assert - 조건이 true임을 단언하고 조건이 false일 경우 메시지를 표시합니다(Mama 1.5의 새로운 기능).
- 스크립트 - 프로그램에 무료 Mama 스크립트를 추가합니다.
- # - 프로그램에 코멘트 추가
「 」를 참조해 주세요.
레퍼런스
추가 정보
- Alice, Wanda P. Dann, Stephen Cooper, Randy Paush와 함께 프로그래밍을 배우다: ISBN0-13-187289-3
- 10대를 위한 가상 세계 설계와 창조; 찰스 R.Hardnett; Course Technologies PTR, 2009; ISBN 1-59863-850-5, ISBN 978-1-59863-850-9