발라 (프로그래밍 언어)

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색
발라
패러다임 멀티 패러다임, 객체 지향, 구조화, 명령형, 제네릭
발표년도 2006년
개발자 Jürg Billeter, Raffaele Sandrini
최근 버전 0.36.4
최근 버전 출시일 2017년 6월 26일(4달 전)(2017-06-26)
자료형 체계 static, strong
영향을 받은 언어 C, C++, C#, D, 자바
운영 체제 크로스 플랫폼 (GLib을 사용할 수 있는 모든 운영 체제)
라이선스 LGPL 2.1+
사용 중인 파일 확장자 .vala, .vapi
웹사이트 wiki.gnome.org/Projects/Vala

발라(영어: Vala)는 셀프 호스팅 컴파일러를 가진 객체 지향 프로그래밍 언어이다. 발라 컴파일러는 GObject 시스템을 사용하여 C 소스코드를 생성한다.

발라는 문법적으로 C#과 비슷하며, 익명 함수, 시그널, 프로퍼티, 제네릭, 자동 메모리 관리, 예외 처리, 자료형 추론, foreach문 등의 기능을 제공한다.

예제[편집]

Hello world 프로그램[편집]

다음 세 가지 중 하나의 형태로 작성될 수 있다.

void main(string[] args) {
    print("Hello World!");
}
public class Sample : Object {
    static void main(string[] args) {
        print("Hello World!");
    }
}
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

같이 보기[편집]