나도 프로그래머 라자루스 통합 개발 환경

2021. 5. 23. 20:07 컴퓨터/프로그래밍

오픈소스 통합개발환경(IDE) 라자루스

윈도우 프로그램을 직접 만들고 싶은 분께 오픈 소스 통합 개발 환경(IDE) 라자루스를 권합니다. 프로그래밍은 전문 지식이 필요해서 매우 어렵게 생각되는데요, 라자루스는 프로그램을 쉽게 만들 수 있는 편리한 기능을 제공해서 프로그래밍의 문턱을 낮추어 줍니다. 라자루스에 대한 자세한 얘기는 밑으로 내리고 과연 라자루스로 어떻게 프로그램을 작성하는지 보겠습니다.

라자루스의 첫 번째 프로그램으로 자리를 잠시 비울 때 나를 찾는 분에게 안내 문장을 보여 주는 작은 윈도우 프로그램을 만들어 보겠습니다. 화면 가운데에 메시지를 입력할 수 있는 입력창을 넣고 그 아래에 종료 버튼을 놓겠습니다. 참고로 이 정도의 프로그램이라면 라자루스 설치에서 만들기까지 10여 분도 채 안 걸릴 것입니다.

라자루스 화면 구성

▲ 이해를 돕기 위하여 간단히 라자루스의 화면 구성부터 알아보겠습니다. 라자루스는 여러 개의 윈도우로 나뉘어 있는데요, 대표적으로 ① 메인 메뉴, ② 속성, ③ 편집, ④ 폼, ⑤ 메시지 윈도우가 있습니다. 작은 점이 여러 개 찍혀있는 ④번 윈도우는 프로그램이 실행되면 화면에 보여지는 윈도우입니다. 프로그램을 실행하기 전까지는 어떤 부속품을 올려놓을지 디자인하는 장소라서 폼(Form)이라고 합니다.

라자루스에서 새로운 프로젝트를 만들면 그림에서처럼 폼 하나만 보이지만, 필요에 따라 여러 개의 폼을 추가할 수 있습니다. 첫 번째 폼은 실행 시에 제일 먼저 출력되므로 메인 폼(Main Form)이라고 하며, 메인 폼이 실행해서 화면에 출력하는 윈도우를 메인 윈도우라고 합니다. 메인 윈도우는 프로그램의 시작이며, 메인 윈도우를 닫으면(Close) 프로그램이 종료됩니다.

라자루스로 프로그램 만들기

▲ 메인 폼 위에 프로그램을 종료하는 버튼을 배치해 보겠습니다. 메인 메뉴 윈도우는 메인 메뉴와 단축 메뉴 버튼, 컴포넌트 패널로 구성되어 있습니다. 컴포넌트 패널은 부속품을 모아 놓은 곳으로 기능에 따라 작은 그림이 그려진 버튼이 다닥다닥 붙어 있습니다. Standard 패널 안에 버튼이 있습니다. 버튼을 더블클릭하거나 버튼을 클릭한 후 폼 위 적당한 곳을 클릭하면 폼에 버튼이 올려집니다. 이런 방법으로 버튼을 여러 개 올려놓을 수 있어서 구별하기 위해 숫자가 자동으로 증가되면서 이름이 붙여집니다. 지금은 버튼이 한 개여서 Button1입니다.

프로그램 실행 중에 Button1을 클릭하면 프로그램을 종료하고 싶습니다. 라자루스는 오프 소스 파스칼을 컴파일러로 사용합니다. 컴파일러란 프로그래머가 작성한 코드를 컴퓨터가 이해하고 실행할 수 있는 파일로 만들어 주는 프로그램입니다. 즉, 프로그램을 만들어 주는 프로그램이죠.

윈도우 프로그램은 메인 윈도우를 닫으면 종료됩니다. 라자루스에서 윈도우를 닫는 파스칼 언어의 함수는 Close입니다. 이제 Button1을 클릭하면 Close 함수를 실행되도록 코딩하겠습니다. 함수란 어떤 작업을 할지 적어 놓은 묶음이며, 그 묶음에는 이름이 있어서 언제든지 그 이름을 부르면 그 묶음 안의 기능이 실행됩니다. "함수를 실행한다"는 말은 "함수를 호출한다"는 말로도 대신할 수 있습니다.

▲ 폼에 있는 Button1을 더블 클릭하면 화면이 에디터로 바뀌면서 Button1을 클릭했을 때 어떤 작업을 할지를 입력하는 함수가 만들어지고 그 안에 프로그래머가 코드를 입력할 수 있도록 캐럿이 깜빡입니다. Buton1Click 함수는 마우스로 Button1을 클릭하면 자동으로 호출되어 실행됩니다. Button1을 클릭하면 실행하는 Button1Click 함수 안에 윈도우를 닫는 Close 함수를 호출하는 코드를 입력합니다.

▲ 먼저 파일을 저장하겠습니다. ① 메인 메뉴 창의 툴버튼 중에 저장 버튼을 눌러서 적당한 폴더에 저장합니다. ② 실행 버튼을 클릭하거나 F9 키를 누르면 컴파일이 시작되고 컴파일이 완료되면 프로그램이 실행됩니다.

▲ 프로그램이 실행되었습니다. 메인 폼 모습 그대로 메인 윈도우가 화면에 출력되면서 Button1이 보입니다. 그 Button1을 클릭하면 메인 윈도우가 닫히면서 프로그램이 종료됩니다.

라자루스 프로그램 수정

▲ 자, 이번에는 화면 중간에 문자열을 입력받는 창을 넣어 보겠습니다. 에디터만 보이고 폼이 안 보인다면 F12 키를 누르세요. F12키를 누를 때마다 폼에서 에디터로, 에디터에서 폼으로 바뀝니다. Standard 패널에 Edit 버튼을 폼 위에 배치합니다. Edit1이 폼에 올려졌습니다. Edit1을 클릭하면 사방으로 작고 까만 점들이 보이는데, 이 점을 이용하여 크기를 늘리거나 줄일 수 있습니다. F9 버튼을 눌러서 실행합니다.

▲ 프로그램이 실행되면 Edit1에 자리를 비운 이유를 적습니다. 자리에 복귀하면 Button1을 클릭하여 종료합니다. 이렇게 라자루스로 윈도우가 될 폼을 디자인하면서 코딩을 넣어서 내가 만들고 싶은 프로그램을 만들 수 있습니다.

실행 파일은 어디?

간단히 프로그램을 만들었는데요, 만들어진 실행 파일은 어디 있을까요? 실행 파일을 만들기 위해 다른 작업을 해야 할까요?

▲ 아닙니다. 벌써 실행 파일이 만들어져 있습니다. 파일을 저장한 위치에 project1.exe 가 실행 파일입니다. 어떻습니까? 정말 빠르죠?

델파이와 라자루스

물론 복잡한 프로그램을 만들려면 라자루스뿐만 아니라 파스칼 언어도 학습해야 합니다. 그럼에도 불구하고 라자루스를 프로그래밍하기 쉬운 개발 툴로 소개한 이유는 윈도우 프로그래밍이 컴퓨터 언어만 알아서는 매우 어렵기 때문입니다. 윈도우 프로그램은 그래픽 사용자 인터페이스(GUI), 즉 사용자에게 필요한 정보를 그래픽으로 제공해 주어야 하며 사용자의 그래픽을 통한 행동에 따라 적절히 처리해 주어야 합니다.

위에서 만든 간단한 프로그램도 폼을 디자인한 대로 윈도우를 출력하고, 사용자가 입력창(Edit)을 마우스로 클릭하면 키보드 입력을 대기하면서 타이핑한 대로 글자를 출력해 주어야 합니다. 글자를 입력하는 중에도 언제든지 종료 버튼을 누르거나 캡션 바에 있는 최소화·최대화·종료 버튼을 누르면 그에 따라 행동해야 합니다.

그러나 내가 작성한 것이라고는 Button1 한 개와 Edit1 하나를 폼에 배치하고 Close 함수를 호출하는 코드를 넣은 것뿐입니다. 그럼에도 윈도우 프로그램이 될 수 있었던 것은 나머지 복잡한 작업을 라자루스가 대신 만들어 주었기 때문입니다. 이런 이유로 라자루스를 편리하고 쉬운 개발 툴로 소개할 수 있는 것입니다.

윈도우 프로그램은 그래픽의 표현되는 비주얼 요소와 마우스와 키보드 등의 다양한 입력 장치를 다루어야 해서 텍스트 에디터 하나로 모든 코딩을 작성하기에는 힘들어도 너무 힘이 듭니다. 라자루스는 비주얼 부분을 위해 디자이너를 갖추었고, 코드를 작성하는 에디터가 있으며 라이브러리 관리와 소스 코드로 실행 파일을 만드는 컴파일러, 디버깅(잘못된 부분을 찾아서 수정하는 작업)을 위한 디버거를 갖추었습니다.

이렇게 라자루스는 프로그램을 개발하는데 필요한 여러 가지 기능을 모두 갖춘 통합 개발 환경(IDE, Integrated Development Environment)입니다.

그렇다면 다른 통합 개발 환경은 어떨까요? 마이크로소프트에서 윈도우를 출시하면서 비주얼 C를 내놓았지만, 배우기 어렵고 간단한 윈도우 프로그램을 작성하는 데에도 많은 코딩이 필요했습니다. 좀 더 편리하게 개발할 수 있도록 비주얼 베이직이 나왔지만, 너무 느리고 버그가 많았습니다. 기껏 디버깅하고 작업을 완료했는데, 최종 실행 파일 만들려고 하니 에러가 나면서 파일이 만들어지지 않을 때는 정말이지 얼마나 짜증이 나던지요.

이에 터보 파스칼·터보 C로 유명한 볼랜드에서 쉽고 빠르게 개발한다는 RAPID 개발툴을 모토로 델파이를 내놓았고 엄청난 인기를 끌었습니다. 델파이가 나오면서 수많은 윈도우용 공개 프로그램이 나왔는데요, 그만큼 델파이는 쉽고 빠르고 편리했습니다.

델파이 모습은 라자러스와 비슷하게 생겼는데요, 실은 라자러스가 델파이와 비슷하게 생겼다고 해야 옳습니다. 왜냐하면 MS 윈도우용 델파이를 리눅스용으로도 만들자고 여러 개발자가 모여서 만든 것이 라자루스이기 때문입니다.

MS 윈도우에서 쓱쓱 프로그램을 만들어내는 델파이를 보고 리눅스 개발자가 탐을 냈던 것인데요, 풍문입니다만, 리눅스 개발자들이 볼랜드사에 리눅스 용도 만들어 달라고 요구했지만, 볼랜드에서 내놓지 않자, 없으면 내가 만든다는 개발자의 뚝심에 의해 라자루스 프로젝트가 시작되었다고 합니다. 라자루스 홈페이지 첫 화면에도 라자루스를 델파이와 호환되는 크로스 플랫폼 통합 개발 환경이라고 소개하고 있습니다.

크로스 플랫폼이란 하나의 시스템에 국한되지 않고 MS 윈도우, 리눅스, 애플 맥 등 여러 플랫폼과 호환이 된다는 의미입니다. 100%는 아니지만, MS 윈도우 프로그램을 만든 소스로 리눅스와 맥 프로그램을 만들 수 있습니다. 더 정확히는 MS 윈도우에서 라자루스로 프로그램을 만들던 습관 그대로 리눅스와 맥에서도 작업할 수 있다는 의미입니다.

라자루스 설치

라자루스 홈페이지에서 [Download Now] 버튼 클릭하여 라자러스 설치 파일을 내려받을 수 있습니다. 꽤 오래전에 리눅스에 라자루스를 설치했었는데요, 1.0 버전이 나오기 전이었습니다. 라자루스 따로, 프리파스칼 따로 설치하고 실행하다가 문제가 생기면 환경 설정이나 필요한 라이브러리를 찾아다녀야 해서 쉽지 않았는데요, 그러던 라자루스가 2.0이 나오고 설치하는 방법도 매우 쉬워졌네요.

▲ MS 윈도우에서는 더욱 쉬워서 설치 파일 하나로 라자루스, 프리 파스칼, 라이브러리 모두 설치됩니다.

설치할 때 기본 장소가 c:\lazarus인데요, c:\Progjram Files\에 설치하려고 해도 폴더 이름에 공백이 있으면 안 됩니다. 그러므로 기본 설정 값 그대로 [Start IDE]로 시작하는 것이 마음 폅합니다. 이런 것을 보면 역시 라자루스는 크로스 플랫폼이라는 것을 깨닫게 됩니다. 그럼에도 MS 윈도우 라이브러리를 지원하는 것을 보면 라자루스 프로젝트의 개발자에게 존경심이 절로 일어나네요. 정말 세상에는 대단한 개발자가 참 많은 듯합니다. 생업도 해야 할 텐데, 이렇게 훌륭한 IDE를 20년이 넘게 끊임없이 만들어지고 있다니 놀랍습니다.

▲ 라자루스가 실행되었습니다. 만들고 싶은 프로그램이 있다면 라자루스로 만들어 보세요. 아마추어 개발자에게 적극 권하고 싶은 통합 개발 환경 라자루스입니다.

이 댓글을 비밀 댓글로