Genie(프로그래밍 언어)
Genie (programming language)| 패러다임 | 멀티플렉스: 명령형, 구조화, 객체 지향형 |
|---|---|
| 설계자 | 제이미 맥크라켄 |
| 처음 등장한 | 전( |
| 안정된 릴리스 | 0.52.3 / 2021년 5월 1일; 전( |
| 타이핑 분야 | 정적, 강력 |
| OS | 크로스 플랫폼(GLib에서 지원되는 모든 플랫폼) |
| 면허증. | LGPLv2.1+ |
| 파일 이름 확장자 | .gs |
| 웹 사이트 | wiki |
| 영향을 받다 | |
| Python, Boo, D, 객체 파스칼 | |
지니(Genie)는 [1]2008년부터 개발 중인 현대적이고 범용적인 고급 프로그래밍 언어입니다.Vala 컴파일러의 대체적이고 단순하며 깨끗한 방언으로 설계되었으며 Vala 언어의 동일한 기능을 유지합니다.Genie는 Vala와 같은 컴파일러와 라이브러리를 사용합니다.이 두 가지를 [2]동시에 사용할 수 있습니다.그 차이는 통사적인 것일 뿐이다.
Genie의 구문은 Python, Boo, D, Delphi와 같은 수많은 현대 언어에서 파생되었다.Python의 맥락에서 Genie는 명시적인 블록 구분자(예: 곱슬 괄호)가 아닌 들여쓰기를 사용하여 블록을 구분합니다.
Vala와 마찬가지로 Genie는 GObject 유형 시스템을 사용하여 Genie 소스 코드에서 선언된 클래스와 인터페이스를 추가 런타임 요구 사항 없이 만듭니다(즉, Python, Java 또는 C#과 달리 가상 머신이 필요하지 않음).
Genie는 다른 ABI(Application Binary Interface)를 사용하지 않고 특히 GTK와 같은 GObject 기반 라이브러리에 액세스할 수 있도록 합니다.컴파일 중에 코드는 먼저 C 소스 파일과 헤더 파일로 변환되며, 그 후 GCC와 같은 사용 가능한 C 컴파일러를 사용하여 플랫폼 고유의 머신 코드로 컴파일됩니다.따라서 크로스 플랫폼소프트웨어 개발이 가능합니다.
Vala와 Genie에서 개발된 프로그램은 GNOME 데스크톱 환경에 의존하지 않으며 보통 GLib만 필요합니다.
코드 샘플
'헬로 월드'
이 샘플에서는 들여쓰기에 4개의 공간을 명시적으로 사용하고 있습니다.
[hello=4] init print "안녕하세요, 세상!"
물건들
명시적 들여쓰기 선언이 없는 경우 기본값은 탭입니다.
클래스 샘플 def run() stdout.printf("Hello, world!"\n ") init var sample = new Sample() sample.run() 비판
이 문서는 갱신할 필요가 있습니다.(2019년 6월) |
2013년 현재[update] Genie for loops는 빈 목록을 처리하는 [3]데 번거로운 기능을 포함하고 있습니다.
변화하다 l = 신규 목록. 의 스트링 한다면 l.크기 > 0 위해서 변화하다 i = 0 로. (l.크기 - 1) 인쇄물 l.@얻다(i) 단, 목록은 for-in 구성을 사용하여 쉽고 [4]쉽게 반복할 수 있습니다.
변화하다 l = 신규 목록. 의 스트링 위해서 s 에 l: 인쇄물 s 레퍼런스
- ^ Jamie McCracken (2008). "Introducing Genie - the smart programming language". Archived from the original on 2011-08-18.
- ^ Genie와 Vala를 함께 사용
- ^ Tal Liron (11 January 2013). Genie. Event occurs at 32:29. Archived from the original on 2021-12-20.
- ^ "Projects/Genie - GNOME Wiki!".
외부 링크
- 공식 웹사이트

- Wayback Machine의 Genie에 관한 Barry Kauler 페이지(2010년 2월 17일 아카이브 완료)
- Puppy Linux에서 Genie 프로그래밍 언어 사용
- Puppy Linux: Vala와 Genie 프로그래밍
- API 매뉴얼
- genie로 작성된 github 프로젝트를 검색하다