Q&A

  • 델파이란...
델파이가 언어라고 하셨는데, 개발환경으로 보는 것이 맞지않나 생각합니다.

예를 들면 Visual C++은 C++언어를 위한 개발 환경이고, MS 에서 자체 개발한 MFC

라는 라이브러리를 제공하고 있죠. Borland C++ 역시 C++ 언어를 위한 개발 환경이고 자사에서 개발한 OWL, BWCC 등의 라이브러리를 제공하고 있습니다.



델파이라는 개발 환경은 Pascal 언어를 위한 개발 환경이고 자사가 개발한 VCL이라는 라이브러리를 제공하고 있죠. Pascal은 C/C++ 같은 순수 compiler 언어여서 compiler 실행화일이 따로 존재하고 Linker 실행화일이 분명히 따로 존재 합니다.

델파이는 개발환경 내의 사용자 옵션에 맞게 compile 옵션을 생성해서 compiler 실행화일을 실행시켜준다고 생각하면 됩니다. Linker 역시 마찬가지죠.



Turbo Pascal 이라는 옛날 Borland 제품을 기억 하실 겁니다. 이 역시 Pascal 언어를 위한 개발 환경인데 Delphi는 이 제품의 연장 선상에 있죠. Borland 사는 표준 Pascal에다 자사 나름대로의 언어적 기능을 향상 시켜왔습니다. 이렇게 형성된 Pascal을 Borland Pascal이라고도 부르죠. Turbo Pascal 6.0(5.5부턴가?) 부터 사용된 Pascal compiler는 객체 지향적인 기능을 집어넣어 Object Pascal이라는 별칭을 갖게 되었죠. 그후 Turbo Pascal 7.0 그리고 Turbo Pascal for Window 1.0 로 이어지고 최종적으로 Delphi 1.0 라는 제품이 나오게 된 것이죠. Delphi 1.0 에서 사용한 Pascal compiler는 Borland Pascal 8.0 라고도 불리었고, 이때서야 비로서 현재 Delphi 에서 사용하는 Object Pascal 언어가 재대로된 모습을 갖추게된 때 입니다. Borland Object Pascal 이 가지는 객체지향적인 기능은 C++ 과 비교 하면 없는 기능이 있는것도 사실입니다. 하지만 이는 단순히 비교 만으로 평가를 할 수 없는 것이, Pascal 언어가 주는 명료함은 C/C++에는 없는 것입니다.

현재의 Delphi의 성능은 어느 툴과 비교 했을때 성능면에서 전혀 뒤지지 않는 다고 생각합니다. 혹자는 시스템 프로그래밍은 Visual C++ 로 해야 한다고 생각하는데 윈도우즈 프로그래밍은 운영체제에서 지원하는 API 함수에 의존하기 때문에 특정 툴이 적절하다 할 수는 없다고 봅니다. DLL 파일내의 함수를 Call 할 수만 있으면 되죠.

얘기가 길어 졌네요. 하여튼 Delphi 는 순수 machine code를 생성하는 pascal compiler 를 사용하므로 생성된 실행화일의 성능이 뛰어납니다. 개발환경 역시 상당히 직관적이고 WYSWYG(What You See is What You Get)에 충실한 모습을 보여주고 있으며, 특정 분야에만 적절한 툴이 아닌 범용으로 사용될 수 있고 탁월한 생산성을 보여 줄 것입니다.



PS : 저는 INPRISE 직원이 아닙니다.

4  COMMENTS
  • Profile
    이정욱 1998.12.13 05:29
    네.. 다 맞는 말씀입니다.

    한가지만 빼구요..

    델파이는 파스칼에 기반된 언어입니다.

    파스칼이 아닙니다.

    인프라이즈 홈페이지만 봐도 알 수 있습니다.

    음.. 어디었는지는 기억을 하지는 못하지만 델파이를 새로운 언어로 만들기에 여념이 없었습니다. 파스칼이 아니라는 것이죠.

    비교해보면 이미 많은 부분이 바뀌었죠.. 옛날 파스칼과는..

    파스칼 -> 오브젝트 파스칼 -> 델파이

    이런식으로 온것이죠.

    델파이는 언어입니다.

    파스칼 컴파일러를 사용하지는 않죠. 델파이 컴파일러를 사용합니다~

    감사합니다.



    김 완진 wrote:

    > 델파이가 언어라고 하셨는데, 개발환경으로 보는 것이 맞지않나 생각합니다.

    > 예를 들면 Visual C++은 C++언어를 위한 개발 환경이고, MS 에서 자체 개발한 MFC

    > 라는 라이브러리를 제공하고 있죠. Borland C++ 역시 C++ 언어를 위한 개발 환경이고 자사에서 개발한 OWL, BWCC 등의 라이브러리를 제공하고 있습니다.

    >

    > 델파이라는 개발 환경은 Pascal 언어를 위한 개발 환경이고 자사가 개발한 VCL이라는 라이브러리를 제공하고 있죠. Pascal은 C/C++ 같은 순수 compiler 언어여서 compiler 실행화일이 따로 존재하고 Linker 실행화일이 분명히 따로 존재 합니다.

    > 델파이는 개발환경 내의 사용자 옵션에 맞게 compile 옵션을 생성해서 compiler 실행화일을 실행시켜준다고 생각하면 됩니다. Linker 역시 마찬가지죠.

    >

    > Turbo Pascal 이라는 옛날 Borland 제품을 기억 하실 겁니다. 이 역시 Pascal 언어를 위한 개발 환경인데 Delphi는 이 제품의 연장 선상에 있죠. Borland 사는 표준 Pascal에다 자사 나름대로의 언어적 기능을 향상 시켜왔습니다. 이렇게 형성된 Pascal을 Borland Pascal이라고도 부르죠. Turbo Pascal 6.0(5.5부턴가?) 부터 사용된 Pascal compiler는 객체 지향적인 기능을 집어넣어 Object Pascal이라는 별칭을 갖게 되었죠. 그후 Turbo Pascal 7.0 그리고 Turbo Pascal for Window 1.0 로 이어지고 최종적으로 Delphi 1.0 라는 제품이 나오게 된 것이죠. Delphi 1.0 에서 사용한 Pascal compiler는 Borland Pascal 8.0 라고도 불리었고, 이때서야 비로서 현재 Delphi 에서 사용하는 Object Pascal 언어가 재대로된 모습을 갖추게된 때 입니다. Borland Object Pascal 이 가지는 객체지향적인 기능은 C++ 과 비교 하면 없는 기능이 있는것도 사실입니다. 하지만 이는 단순히 비교 만으로 평가를 할 수 없는 것이, Pascal 언어가 주는 명료함은 C/C++에는 없는 것입니다.

    > 현재의 Delphi의 성능은 어느 툴과 비교 했을때 성능면에서 전혀 뒤지지 않는 다고 생각합니다. 혹자는 시스템 프로그래밍은 Visual C++ 로 해야 한다고 생각하는데 윈도우즈 프로그래밍은 운영체제에서 지원하는 API 함수에 의존하기 때문에 특정 툴이 적절하다 할 수는 없다고 봅니다. DLL 파일내의 함수를 Call 할 수만 있으면 되죠.

    > 얘기가 길어 졌네요. 하여튼 Delphi 는 순수 machine code를 생성하는 pascal compiler 를 사용하므로 생성된 실행화일의 성능이 뛰어납니다. 개발환경 역시 상당히 직관적이고 WYSWYG(What You See is What You Get)에 충실한 모습을 보여주고 있으며, 특정 분야에만 적절한 툴이 아닌 범용으로 사용될 수 있고 탁월한 생산성을 보여 줄 것입니다.

    >

    > PS : 저는 INPRISE 직원이 아닙니다.





  • Profile
    이상국 1998.12.17 03:49
    이정욱 wrote:

    > 네.. 다 맞는 말씀입니다.

    > 한가지만 빼구요..

    > 델파이는 파스칼에 기반된 언어입니다.

    > 파스칼이 아닙니다.

    > 인프라이즈 홈페이지만 봐도 알 수 있습니다.

    > 음.. 어디었는지는 기억을 하지는 못하지만 델파이를 새로운 언어로 만들기에 여념이 없었습니다. 파스칼이 아니라는 것이죠.

    > 비교해보면 이미 많은 부분이 바뀌었죠.. 옛날 파스칼과는..

    > 파스칼 -> 오브젝트 파스칼 -> 델파이

    > 이런식으로 온것이죠.

    > 델파이는 언어입니다.

    > 파스칼 컴파일러를 사용하지는 않죠. 델파이 컴파일러를 사용합니다~

    > 감사합니다.

    >



    제견해는 김완진님과 같습니다.

    델파이는 제품명이지 언어가 아닙니다. 분명 파스칼 기반이고 또한

    인프라 사람들도 언어는 파스칼이라고 합니다. 매뉴얼에도 Delphi

    Object-Pascal Language Guide라는 헬프파일 -- 즉 델파이용 오브젝트

    파스칼 언어 안내-- 이 따로 존재하는것을 보더라도 언어는 엄연히

    파스칼입니다. 물론 니클라우스가 창시한 정통 파스칼이나 Ansi-Pascal과

    비교해 볼때 많이 변질이 되긴했지만요...



    흘려들은 이야긴데 C++빌더도 'Solaris(맞나)'라는 제품명인가 버젼명인가

    해서 출시한다는 소문이 있더군요. 암튼 C++빌더 제품명이 바뀐다고해서

    기반언어이름마저 바뀌진 않겠죠.



    뭐 제 생각이 절대진리라는게 아니라 다 견해차이죠....



    Only the Pascal...................

  • Profile
    이정욱 1998.12.17 08:58
    ^^ 네.. 맞는말씀입니다.. 하지만 인프라이즈사 측에서는 오브젝트 파스칼과는 다른 언어로 생각을 하는것 같군요.

    물론 델파이는 오브젝트 파스칼에 기반을 둔것입니다. 또 오브젝트 파스칼 컴파일러역시 내장되어 있구요..

    델파이 IDE를 델파이 언어를 편하게 사용하기 위한 툴이라고 생각하는것이 오히려 낳을 수 있습니다.

    델파이에서 디자인시 폼 파일들은 오브젝트 파스칼형식이지 오브젝트 파스칼은 아닙니다. 컴파일 조차 되지 않죠.

    즉, 델파이는 오브젝트 파스칼의 발전적인 형태이며, 인프라이즈사 측에서는 이것을 더이상 파스칼이라고 불리우는것을 별로 원하지 않습니다.

    델파이에 오브젝트 파스칼 메뉴얼이 들어있는것은 델파이안에서 오브젝트 파스칼을 사용할 수 있기 때문이며, 또 오브젝트 파스칼의 기능을 많이 이용해야 기존의 C++에서 사용해 왔던 함수들을 용이하게 사용할 수 있기 때문입니다.

    흐.. 역시 제 개인적인 견해 입니다만.. 인프라이즈측과 같은 생각입니다.~



    이상국 wrote:

    > 이정욱 wrote:

    > > 네.. 다 맞는 말씀입니다.

    > > 한가지만 빼구요..

    > > 델파이는 파스칼에 기반된 언어입니다.

    > > 파스칼이 아닙니다.

    > > 인프라이즈 홈페이지만 봐도 알 수 있습니다.

    > > 음.. 어디었는지는 기억을 하지는 못하지만 델파이를 새로운 언어로 만들기에 여념이 없었습니다. 파스칼이 아니라는 것이죠.

    > > 비교해보면 이미 많은 부분이 바뀌었죠.. 옛날 파스칼과는..

    > > 파스칼 -> 오브젝트 파스칼 -> 델파이

    > > 이런식으로 온것이죠.

    > > 델파이는 언어입니다.

    > > 파스칼 컴파일러를 사용하지는 않죠. 델파이 컴파일러를 사용합니다~

    > > 감사합니다.

    > >

    >

    > 제견해는 김완진님과 같습니다.

    > 델파이는 제품명이지 언어가 아닙니다. 분명 파스칼 기반이고 또한

    > 인프라 사람들도 언어는 파스칼이라고 합니다. 매뉴얼에도 Delphi

    > Object-Pascal Language Guide라는 헬프파일 -- 즉 델파이용 오브젝트

    > 파스칼 언어 안내-- 이 따로 존재하는것을 보더라도 언어는 엄연히

    > 파스칼입니다. 물론 니클라우스가 창시한 정통 파스칼이나 Ansi-Pascal과

    > 비교해 볼때 많이 변질이 되긴했지만요...

    >

    > 흘려들은 이야긴데 C++빌더도 'Solaris(맞나)'라는 제품명인가 버젼명인가

    > 해서 출시한다는 소문이 있더군요. 암튼 C++빌더 제품명이 바뀐다고해서

    > 기반언어이름마저 바뀌진 않겠죠.

    >

    > 뭐 제 생각이 절대진리라는게 아니라 다 견해차이죠....

    >

    > Only the Pascal...................





  • Profile
    개장수 1999.01.05 17:10
    고럼 C++ 은 어찌되는건지요 ? 고것도 C 에서 개발된거 아닌가 ? 으음. 잘 모르겄군요. 하지만 Delphi는 확실히 언어입니다. 역시 엿장수 맘 아니겠읍니까 ? 만든 사람들이 언어라는디 뭐 ....쩌업...



    • 최진숙
    • 1998.12.15 00:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신재민
      1998.12.15 19:52
      어떤 종류의 프로그램을 만드시는지, 그리고 어싱크 컴포넌트를 사용하시는지, 좀 더 구체적으로 써주...
    • 이정욱
      1998.12.13 05:29
      네.. 다 맞는 말씀입니다. 한가지만 빼구요.. 델파이는 파스칼에 기반된 언어입니다. 파스칼이 아닙니다...
    • 이상국
      1998.12.17 03:49
      이정욱 wrote: > 네.. 다 맞는 말씀입니다. > 한가지만 빼구요.. > 델파이는 파스칼에 기반된 언어입니...
    • 이정욱
      1998.12.17 08:58
      ^^ 네.. 맞는말씀입니다.. 하지만 인프라이즈사 측에서는 오브젝트 파스칼과는 다른 언어로 생각을 하는것 ...
    • 개장수
      1999.01.05 17:10
      고럼 C++ 은 어찌되는건지요 ? 고것도 C 에서 개발된거 아닌가 ? 으음. 잘 모르겄군요. 하지만 Delphi는 확...
    • 여재모
    • 1998.12.10 19:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1998.12.11 00:20
      폼을 프린트 하지 마시고 Bitmap을 생성한후에 그 여러개의 이미지를 그 BItmap에 붙이세요. 그런후 그 것...
    • 이정욱
      1998.12.07 21:49
      음.. 정확하게 해보지는 못했습니다. 그런데 이것을 쓰면 어떨까요? FieldValues 예를들면.. Customers...
    • 박성진
      1998.12.09 02:50
      위의 질문을 다시하겠습니다. 마이크로소프트 Access97을 이용해서 데이터베이스를 구축하였습니다. 마이...
    • 꺄꿍
    • 1998.11.21 03:03
    • 7 COMMENTS
    • /
    • 0 LIKES
    • 이 재원
      1999.01.05 16:56
      거시기 TMemo에는 32K Limit이 있는걸로 알고 있는데 혹시 더 큰거 아닌가요? 글코 크기 Value를 100에서 ...
    • 신인재
      1998.11.24 02:16
      냥냥.... 쩝...이상하군요...... 디비 익스플로러에서 잘된다면 델파이 어플에서도 잘되야 정상이거든요...
    • 꺄꿍
      1998.11.24 10:22
      신인재 wrote: > 냥냥.... > 쩝...이상하군요...... > 디비 익스플로러에서 잘된다면 > 델파이 어플에...
    • 신인재
      1998.11.24 22:40
      음냐.... 저두 방법이 없군요.... 이거 받아서 테스트 해보세요.. 실행파일과 소스를 함께 넣었습니다.....
    • 이정욱
      1998.11.21 14:56
      제 생각에는 Richedit데이터를 Memo에서 읽으려고 하는것 같네요. 리치에디트 데이터를 메모로 읽으려고 ...
    • 꺄꿍
      1998.11.22 07:30
      이정욱 wrote: > 제 생각에는 Richedit데이터를 Memo에서 읽으려고 하는것 같네요. > 리치에디트 데이터...
    • 이정욱
      1998.11.22 20:40
      현재 사용하시는 DB포맷은 무엇입니까? XPower 컴포넌트 트라이얼을 받아서 한번 해보세요.. 그래도 느리...
    • XapiSoft
    • 1998.11.20 19:38
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1998.11.21 02:49
      네. 안녕하세요? 나이렉스의 이정욱 입니다. 업그레이드를 받으시려면 입금 후 연락을 주시면 됩니다. 업...
    • Pascal
    • 1998.11.20 10:40
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1998.11.21 02:46
      음.. DLL을 사용하신 부분의 소스를 보여주시면 더 쉽게 설명이 가능할 텐데요... DLL을 사용하실때는 ...
    • 이용성
    • 1998.11.19 08:07
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1998.11.20 20:25
      음냐 제가 프로그램을 짜서 갈켜 드리려구 했는데.. 델파이 코리아에 BatchMove컴포넌트를 이용한 팁이 있...
    • 신인재
      1998.11.21 05:35
      신인재 wrote: > 음냐 제가 프로그램을 짜서 갈켜 드리려구 했는데.. > 델파이 코리아에 BatchMove컴포넌...
    • 표경나
    • 1998.11.19 05:34
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1998.11.19 07:52
      표경나 wrote: 음냐~~~ 인잽니다.... 파일이 깨져서 하나도 알아 볼 수 가 없다는 뜻이 무었인지요.......
    • 김정배
    • 1998.11.18 06:47
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1998.11.21 14:58
      델파이란, C++같은 프로그래밍 언어 입니다. 파스칼을 확장한 형태 입니다. 즉, 델파이는 프로그램을 만...
    • 김 완진
      1998.12.13 02:01
      델파이가 언어라고 하셨는데, 개발환경으로 보는 것이 맞지않나 생각합니다. 예를 들면 Visual C++은 C++...
    • 손현민
    • 1998.11.16 21:35
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1998.11.17 06:58
      손현민 wrote: > 시스템 환경은 NT4.0,SQL6.5,ODBC 입니다. > Query를 사용해서 for문을 돌리는 도중 Ins...
    • 표경나
    • 1998.11.14 09:34
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1998.11.14 21:51
      음냐...인잽니다..... 음 액셀파일로 컨버전 하실려구 하시는 군요.... 음 SpredOCX는 비베에서 쓰는 물...
    • 신인재
      1998.11.14 22:08
      에고 죄송해요...한가지 빠졌네요.... SAveFileDlg다음에 이걸 주가 시켜 줘야 해요.... 음냐..기억을 더...
    • 곽병덕
    • 1998.11.13 23:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1998.11.21 02:56
      어떻게 구현을 하셨는지 말씀을 해주셔야죠.... 곽병덕 wrote: > 안녕하세요. 곽병덕이라고 합니다. >...
    • 손지연
    • 1998.11.11 20:35
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 종모
      1998.11.15 11:13
      안녕하세요? 초보라 답변이 될지 모르겠네요. > 주폼과 별폼의 연결이라... 1. 간단하게 주폼에서...
    • 신인재
      1998.11.12 08:32
      손지연 wrote: > 주폼과 별폼을 연결하려고 하는데 어떻게 해야 하나요? > 자세히 설명을 해 주시면 고맙...
    • 손지연
    • 1998.11.11 20:04
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1998.11.21 15:00
      프로그램을 만드실때 A 드라이브에 있는 유닛을 포함해서 만드셨나 보네요. 모두 하드드라이브로 복사한 ...
    • 이정욱
      1998.11.16 10:34
      컴포넌트 중에 Packet에 관한 컴포넌트가 있습니다. 그것을 사용해 보세요. 이태호 wrote: > 또 질문 ...
    • 이태호
      1998.11.17 12:18
      이정욱 wrote: > 컴포넌트 중에 Packet에 관한 컴포넌트가 있습니다. > 그것을 사용해 보세요. > > 이...
    • 이태호
    • 1998.11.10 11:00
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1998.11.16 10:33
      음.. 마이크로 소프트웨어라는 잡지에 제가 글을 썼었는데, 몇월호 였는지는 기억이 잘 나지 않는군요... ...