Fantom(프로그래밍 언어)
Fantom (programming language)![]() |
![]() | |
패러다임 | 멀티플레이어 |
---|---|
개발자 | 브라이언 프랭크, 앤디 프랭크 |
처음 등장한 | 2005년[1] |
안정된 릴리스 | 1.0.78 / 2022년 4월 [2] , 전( |
타이핑 분야 | 정적, 동적 |
면허증. | 아카데믹 프리 라이선스 버전 3[3].0 |
파일 이름 확장자 | .fan, .fwt, .pod |
웹 사이트 | www |
영향을 받다 | |
C#, Java, Scala, Ruby, Erlang |
Fantom은 Java Runtime Environment(JRE), JavaScript 및 에서 실행되는 Brian과 Andy[4] Frank에 의해 작성된 범용 객체 지향 프로그래밍 언어입니다.NET 공용 언어 런타임(CLR).NET 지원은 "프로토타입"[5] 상태로 간주됩니다.주요 설계 목표는 코드가 궁극적으로 JRE 또는 CLR에서 실행될 것인지에 대한 질문을 추상화하는 표준 라이브러리[6] API를 제공하는 것입니다.C# 및 Java와 마찬가지로 Fantom은 곱슬곱슬한 괄호 구문을 사용합니다.이 언어는 닫힘을 통한 기능 프로그래밍과 Actor 모델을 통한 동시성을 지원합니다.Fantom은 활자 시스템에 대해 "중간" 접근 방식을 채택하여 정적 타이핑과 동적 타이핑의 양쪽 측면을 혼합합니다.
타자 치기
Fantom의 타입 시스템은 심플한 디자인입니다.모든 변수는 C# 및 Java와 같이 정적으로 입력됩니다.Fantom은 복잡하기 때문에 범용 유형을 거부하지만 다음과 같은 범용 유형 세트를 내장하고 있습니다.List
,Map
,그리고.Func
Fantom은 동적 콜과 자동 다운캐스팅을 통해 동적으로 입력된 언어의 느낌을 받을 수도 있습니다.Fantom은 사용하기 쉬운 리플렉션 API와 메타프로그래밍 기능을 갖추고 있습니다.
Fantom은 Academic Free License 3.0의 오픈 소스이며 Windows 및 Unix와 유사한 플랫폼(Mac OS [7]X 포함)에서 사용할 수 있습니다.
팟
Fantom에서는 배치 단위를 포드라고 부릅니다.팟은 네임스페이스, 패키지 및 모듈의 역할을 담당합니다.이 파일은 .Pod 파일로 저장됩니다. .Pod 파일은 FCode(Fantom 바이트 코드), 설명서 및 팟 실행에 필요한 리소스 파일이 들어 있는 zip 파일입니다.팟은 다른 라이브러리 및 응용 프로그램에서 사용할 수 있는 유형을 얼마든지 정의할 수 있습니다.포드 이름은 유형 이름을 완전히 한정합니다.예를들면,fwt::Widget
와는 다르다webapp::Widget
팟에 다음과 같은 유형이 포함된 경우Main
다음 명령을 사용하여 명령줄에서 실행할 수 있습니다.fan <podName>
Fantom 빌드 시스템은 일련의 Pods를 JAR 아카이브로 패키지화할 수 있습니다.build::JarDist
.
Fantom 위젯 툴킷
Fantom에는 Fantom Widget Toolkit, [8]줄여서 FWT라고 하는 표준 윈도우 툴킷이 포함되어 있습니다.Fantom과 마찬가지로 FWT는 여러 플랫폼에서 휴대할 수 있도록 설계되었습니다.현재 표준 위젯 툴킷을 백엔드로 사용하여 JVM에 구현되어 있습니다.JavaScript 구현은 캔버스 요소와 JavaFX를 통해 지원되므로 웹 브라우저에서 FWT 애플리케이션을 실행할 수 있습니다.Windows Forms를 사용한 CLR 구현 계획이 있습니다.
"Hello World"의 예
다음은 Fantom으로 작성된 전형적인 Hello world 프로그램입니다.
// Fantom에서 안녕하세요!학급안녕 세계{ 정적인 무효 주된() { echo("Hello, World!") } }
"Void"는 대문자로 표시됩니다.이것은 Void가 Fantom의 원시형이 아닌 클래스이기 때문입니다.
이름 변경
Fantom 프로그래밍 언어의 원래 이름은 Virginia Richmond에 있는 창작자들이 사는 동네의 이름을 딴 Fan이었다.이 언어가 어느 정도 인기를 얻은 후, 지역 사회 구성원들은 이 이름의 검색 가능성에 대한 우려를 제기했다.2009년 [9]11월, 프로젝트명은 Fan에서 Fantom으로 [10]공식 변경되었다.
기타 기능
Fantom에는 다른 유용한 기능이 있습니다.
- Fantom은 Java 클래스 및 모듈 가져오기를 지원하지만 [11]몇 가지 제한이 있습니다.
- 정수는 64비트입니다.Java 및 C#과 달리 Fantom에는 Long 또는 Short 정수형이 없습니다.
- 문자열과의 클래스 시리얼화 및 역직렬화.[12]
- Fantom은 튜플(다른 [13]유형의 데카르트 곱)을 지원하지 않습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ Fantom의 역사에 관한 블로그 투고
- ^ "Fantom". 26 March 2020.
- ^ Fandoc 언어 웹사이트 FAQ
- ^ Fantom FAQ: 문의
- ^ "Fantom FAQ: Roadmap". Archived from the original on 2015-12-11. Retrieved 2012-03-29.
- ^ Fantom FAQ: Fantom의 장점
- ^ McAllister, Neil (2012-01-03). "10 programming languages that could shake up IT". InfoWorld. Retrieved 2015-10-30.
- ^ "fwt – Fantom". Fantom.org. 2015-01-08. Retrieved 2015-10-30.
- ^ 판타지 프로그래밍 언어의 역사
- ^ 팬텀은 공식적으로 Fantom이 되었습니다.
- ^ Fantom 홈페이지의 Java FFI
- ^ Fantom.org에서 시리얼화
- ^ Fantom 공식 페이지의 Tuples 질문
추가 정보
- Binstock, Andrew (2010-07-14). "Top five scripting languages on the JVM: Groovy and JRuby lead a strong field, with Scala, Fantom, and Jython following behind". Dr. Dobb's. Retrieved 2015-10-30.
- Frank, Brian (2011-02-18). "Fantom". Dr. Dobb's. Retrieved 2015-10-30.
외부 링크
- 공식 웹사이트
- 스칼라의 팬이 아닌가? A Evolutionary approach Ajaxonomy 2010-02-18 Wayback Machine에서 아카이브 - 팬에 대한 블로그 투고
- 새로운 언어의 팬 SD Times
- 참조: Fan Programming Language (jvm-languages@googlegroups.com 메일링 리스트)는 Fantom 작가 중 한 명이 포럼에 올린 글입니다.
- 빌 베너스의 스티븐 콜본과의 대화인 The Next Big JVM Language.
- 언어 레퍼런스 페이지(LangRef.org)