검수요청.png검수요청.png

델파이

위키원
Asadal (토론 | 기여)님의 2019년 8월 1일 (목) 19:43 판 (참고자료)
이동: 둘러보기, 검색
델파이(Delphi)

델파이(Delphi)는 미국 볼랜드사에서 오브젝트 파스칼(Object Pascal) 언어의 기능을 향상시켜 개발한 일반 응용 프로그래밍 언어이다. 4GL, 즉 제4세대 프로그래밍 언어에 속한다.

개요

델파이는 오브젝트 파스칼 언어의 기능을 향상시킨 언어이다. 이외에도 비주얼 베이식의 통합 개발 환경과 비슷하지만, 그보다 훨씬 가시적인 개발 환경을 제공한다. 델파이는 VCL이라고 불리는 하나의 객체 지향적인 구조를 사용한다. [1]

개발툴 분야에서 독보적인 위치를 구축했던 블랜드가 만든 범용적인 비주얼 툴. 시스템 개발용 도구로서 통합된 환경에서 객체 지향적인 프레임워크를 사용하며, 순수 컴파일 방식이라 속도 문제에서는 비주얼 툴이 가지고 있는 근본적인 약점을 극복했다.

등장배경

델파이는 볼랜드사로 이직한 엔더슨 헤즐버그가 기존 개발한 터보 파스칼에서 볼랜드 파스칼로 발전시켰으며, 1995년에 RAD 개발 환경을 갖춘 델파이로 탄생하였다. 이후 엠바카데로에서 델파이를 인수하였으며 현재도 버전업을 계속하고 있다.

역사

델파이의 기본은 파스칼 컴파일러이다. 델파이 6는 Anders Hejlsderg가 17년 전에 첫 번째 터보 파스칼 컴파일러를 개발한 이래로 볼랜드 사가 계속 개발해 온 파스칼 컴파일러의 한 단계 진보된 컴파일러이다. 파스칼 프로그래머들은 지금까지 터보 파스칼이 제공해 주던 안정성은 물론 터보 파스칼이 제공하는 빠른 컴파일 속도도 누려왔다. [2]

  • 볼랜드 델파이 1
  • 볼랜드 델파이 2
  • 볼랜드 델파이 3
  • 볼랜드 델파이 4
  • 볼랜드 델파이 5
  • 카일릭스(Kylix)
  • 볼랜드 델파이 6
  • 볼랜드 델파이 7
  • 볼랜드 델파이 8
  • 볼랜드 델파이 2005
  • 볼랜드 델파이 2006
  • 코드기어 델파이 2007: 인라인 함수 지원. 프랜드 차단 지원.
  • 엠바카데로 델파이 2009: Generics 지원. 유니코드 지원. 익명 메서드 지원.
  • 엠바카데로 델파이 2010: RTTI(Run Time Type Infomation) 강화, Interface 연산자 As, Is 추가, 지연된 라이브러리(DLL, Package)로딩 기능 추가[3]
  • 엠바카데로 델파이 XE
  • 엠바카데로 델파이 XE 2: Osx(32bit), iOS(아이폰 OS) 개발 지원. 마이크로소프트 윈도(32/64bit) 개발 지원
  • 엠바카데로 델파이 XE 3: Record Helper 지원, iOS(아이폰 OS) 개발 지원 중단
  • 엠바카데로 델파이 XE 4: Delphi ARM optimized compiler 추가 및 iOS(아이폰 OS) 개발 지원
  • 엠바카데로 델파이 XE 5: Android 2.2 이상 버전의 개발 지원[4]
  • 엠바카데로 델파이 XE 6: 엡터더링(로컬 wifi환경에서 이기종간의 통신을 지원) 컴포넌트, 윈도 썸네일 툴바 API 지원
  • 엠바카데로 델파이 XE 7: Parallel Programming Library, Blutooth LE 지원, 앱터더링의 원격 확장
  • 엠바카데로 델파이 XE 8: GetIt 패키지 매니져 도입, 네이티브 HTTP 클라이언트, Bluetooth Classic 지원
  • 엠바카데로 델파이 10 시애틀: 윈도우 10용 애플리케이션 개발 지원, Weak / Unsafe Interface References 도입
  • 엠바카데로 델파이 10.1 베를린: Windows 32/64-bit(High DPI 지원), OSX, iOS, Android (ARM, MIPS and X86 processors) 지원
  • 엠바카데로 델파이 10.2 도쿄: LLVM 기반 리눅스 컴파일러 지원
  • 엠바카데로 델파이 Starter: VCL(Windows 32bit) 기능으로 제한된 무료 개발도구
  • 엠바카데로 델파이 10.3 리오: 델파이 인라인 변수 선언, C++17 지원
  • 엠바카데로 델파이 커뮤니티 에디션: 스타터(Starter) 보다 확장된 기능을 제공하는 무료 개발도구 (사용 제한 있음)[3]

특징

순수 네이티브 앱에 강하다. 현재 기반 프레임워크로 뛰어난 객체지향 프레임워크인 비주얼 컴포넌트 라이브러리(VCL)윈도우 앱뿐만 아니라 FMX로 안드로이드, IOS, 맥, 윈도우 앱을 단일 소스 코드로 만드는 것이 가능하다. 컴파일 과정을 통해 원하는 네이티브 앱을 만들어낸다. XE8 버전부터는 비콘 개발 등 사물인터넷 연결 능력 또한 강화되었다.

델파이는 윈도우에서 모든 부분을 프로그래밍할 수 있는 뛰어난 언어이며 높은 생산성과 간결한 코드가 대표적인 장점이고, C++과 비슷한 수준의 시스템 프로그래밍도 가능하다. 또 현존하는 네이티브 언어(native language) 중 가장 빠른 컴파일 속도도 델파이만의 자랑이며 대표적인 개발 도구로 볼랜드/코드기어의 델파이, 카일릭스가 있다.

이외에도 프리 파스칼도 고유한 오브젝트 파스칼 외에 델파이를 컴파일할 수 있도록 지원한다. 델파이는 향후 멀티플랫폼을 비전으로 삼고 윈도 운영 체제 이외에 다른 플랫폼들을 지원하는 방향으로 개발이 진행되고 있다.

델파이로 코딩하는 과정에서도, 즉 프로그램이 동작하지 않는 과정에서도 델파이는 완성 후의 모습을 살펴볼 수 있다. 그러나 이것은 설계시에 프로그램이 동작하는 것이 아니라 내부적으로만 동작하고 있는 것이다. 이러한 시각적인 개발 환경은 프로그램의 모습을 보면서 바로 프로그램을 수정할 수 있는 방법을 제공한다.

종류

활용에 따른 종류

  • 예측 델파이 : 불확실한 장래를 대상으로 기획에 있어서 계량적 상황에 대한 미래 예측 수단이다.
  • 정책 델파이 : 델파이 방법을 정책대안이 분석에 적용하여 정책대안을 광범위하게 추출하고 비교, 평가하려는 것이다.

조사에 사용하는 방법에 따른 종류

  • 델파이 연습 : 설문지를 이용하여 응답을 수집하는 방식이다. 널리 쓰이는 방식이지만, 시간과 비용이 많이 든다
  • 델파이 회의 : 컴퓨터를 이용하여 처리, 환류, 응답을 신속하게 하는 방식이다.

문제점

웹 개발 기능에는 주력하지 않고 있다. 델파이로 웹을 개발하기 위해서는 인트라웹(IntraWeb)을 사용한다. 하지만 인트라웹은 델파이로 네이티브 앱을 개발하는 수준과 비교하면 매우 부족하다. 많이 사용되고 있지 않으며 소규모 인트라넷의 웹 시스템 수준에 사용되고 있다.

마이크로소프트(MicroSoft) 계열의 언어보다 자료가 현저하게 적다.

평가

델파이는 기종 내장 컴포넌트와 컴포넌트의 활용 범위가 넓다. 기반 프레임워크로 뛰어난 객체지양 프레임워크인 vcl을 사용하고 있고 호환성도 좋다. API들은 API이름에 맞게 헤더파일 형식으로 되어 있으며, 웬만한 API함수들이 내장되어 있다(선언 불필요)

잘 설계된 클래스 구조로 큰 변화없이 계승되어 왔고 CUI, GUI 환경을 둘다 지원한다. 현존하는 Native Language 중 가장 빠른 컴파일 속도를 자랑한다.

XE~ 이상으로 개발해오면서 컴파일러가 업그레이드 되어 오류가 적어지고 파이어몽키라는 프로그램을 사용해 자바로만 만들 수 있었던 안드로이드기반의 어플리케이션과 오브젝트-C 만들던 IOS기반의 어플을 개발가능할 수 있게 되어 좋다는 평가가 많았다.

그러나 다소 어려운 문법, 비주얼베이직(VB)이나 파워빌더에게 비해 생산성 부족, 국내에서 잘 알려지지 않아 자료가 현저히 부족한 이유때문에 공부하기 어렵다는 평가가 있었다.[4]

각주

  1. 델파이〉, 《네이버 지식백과》
  2. 델파이의 간략한 역사〉, 《siny blog-기억을 남기다》,2009.11.19
  3. 〈[ https://ko.wikipedia.org/wiki/%EB%8D%B8%ED%8C%8C%EC%9D%B4#cite_note-2 델파이]〉, 《위키백과》
  4. 고구마, 〈(DELPHI)델파이 프로그래밍의 여행속으로(이야기)〉, 《네이버 카페》, 2012-04-04

참고자료

같이 보기


  검수요청.png검수요청.png 이 델파이 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.