발라 (프로그래밍 언어)
프로그래밍 언어
발라(영어: Vala)는 셀프 호스팅 컴파일러를 가진 객체 지향 프로그래밍 언어이다. 발라 컴파일러는 GObject 시스템을 사용하여 C 소스코드를 생성한다. 생성된 C 소스코드는 단지 발라 언어의 실행만을 위한 게 아니라 실제로 다른 C 언어 프로젝트에서도 사용할 수 있게끔 적절한 API를 가지고 있다.
패러다임 | 멀티 패러다임, 객체 지향, 구조화, 명령형, 제네릭 |
---|---|
개발자 | Jürg Billeter, Raffaele Sandrini |
발표일 | 2006년 |
최근 버전 | 0.57.0[1] |
최근 버전 출시일 | 2023년 4월 11일 |
자료형 체계 | static, strong |
운영 체제 | 크로스 플랫폼 (GLib을 사용할 수 있는 모든 운영 체제) |
라이선스 | LGPL 2.1+ |
파일 확장자 | .vala, .vapi |
웹사이트 | wiki |
영향을 받은 언어 | |
C, C++, C#, D, 자바 |
발라는 문법적으로 자바나 C#과 비슷하며, 익명 함수, 시그널, 프로퍼티, 제네릭, 자동 메모리 관리, 예외 처리, 자료형 추론, foreach문 등의 기능을 제공한다.
예제
편집Hello world 프로그램
편집void main (string[] args) {
print("Hello World!");
}
이 예제는 다음과 같이 객체 지향 방식으로도 작성될 수 있다.
public class Sample : Object {
static void main (string[] args) {
print("Hello World!");
}
}
또한 아래와 같이 스크립트 형태로도 작성될 수 있다. 이는 실험적인 기능이며 암시적으로 main 메소드를 가지고 있다.
print("Hello World!");
GUI 버전 Hello World
편집GTK+를 사용한 예제이다
// hellogtk.vala
using Gtk;
void main (string[] args) {
Gtk.init(ref args);
var window = new Window();
window.title = "Hello, World!";
window.border_width = 10;
window.window_position = WindowPosition.CENTER;
window.set_default_size(350, 70);
window.destroy.connect(Gtk.main_quit);
var label = new Label("Hello, World!");
window.add(label);
window.show_all();
Gtk.main ();
}
컴파일:
valac --pkg gtk+-3.0 hellogtk.vala
지원하는 문서 편집기 / IDE
편집발라를 지원하는 편집기 중 일부의 목록이다.
- Anjuta
- Atom (
language-vala-modern
패키지) - GNOME Builder
- Emacs
- Euclide
- Geany
- MonoDevelop
- NetBeans
- RedCar
- Scratch
- Sublime Text
- TextMate
- Gedit
- Val(a)IDE (발라로 작성된 발라 편집기)
- Valable (이클립스 플러그인)
- Valama (발라로 작성된 발라 편집기)
- Valencia
- Vim
- Visual Studio Code
같이 보기
편집각주
편집- ↑ “Release 0.57.0”. 2023년 4월 11일. 2023년 5월 4일에 확인함.
외부 링크
편집- 발라 - 공식 웹사이트