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는 확실히 언어입니다. 역시 엿장수 맘 아니겠읍니까 ? 만든 사람들이 언어라는디 뭐 ....쩌업...



    • 김영
    • 1999.01.19 22:27
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.01.20 08:01
      네.. 퀵리포트에 프린터 세팅부분에 버그가 있다고 합니다. 퀵리포트사의 홈페이지로 가셔서 패치를 받으...
    • 문무석
    • 1999.01.16 23:58
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.01.19 19:41
      Resize시에 Invalidate를 원하시는것인가요? WinProc를 가로채서 사용하시면 될듯 하네요.. 문무석 wro...
    • Trex98
    • 1999.01.15 03:19
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.01.21 00:00
      네.. 그러나 3.0에 포함된 인스톨 쉴드에는 BDE배포시 문제가 있다고 합니다. 4.0것은 확인을 해보지는 못...
    • 한스
    • 1999.01.15 02:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.01.19 19:43
      그것들은 윈도우NT에서 알아서 처리를 해줍니다. 별로 신경을 안쓰셔도 될듯.... 한스 wrote: > > ...
    • 김경수
    • 1999.01.12 05:55
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.01.13 03:55
      음냐~ 많은 도움을 받으셨다니 저희도 기쁩니다. 데이블 오픈은 어디에서나 필요한 곳에서 할 수 있습니...
    • 김경수
      1999.01.13 04:20
      일딴 감사합니다. 이초심자가 실수한건데요.. project /options에서 auto create 부분에 데이타모듈...
    • 심명준
    • 1999.01.11 21:48
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.01.13 03:52
      클라이언트서버하에서는 클라이언트는 서버의 데이타들을 최악의 경우 왕창 다끌어 오는 경향이 있는데 이...
    • 박구남
    • 1999.01.07 11:10
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.01.09 10:49
      receivetext 이벤트의 부분을 보여주세요. 어떻게 코딩을 하셨는지 봐야 알겠습니다. 박구남 wrote: >...
    • 박구남
      1999.01.12 22:05
      아구 해결했네요 제가 개념이 좀 않잡혔던 모양입니다 그런데 receivetext는 있으나 마나하군요 보아하...
    • 구민오
    • 1999.01.06 10:30
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.01.07 05:30
      구입하실 수 있습니다. 나이렉스로 전화해 보세요. 521-7900 입니다. 구민오 wrote: > RASAPI에 관한...
    • 이정욱
      1999.01.05 23:34
      프로세스를 금지시킨다는것 보다.. 먼저 데스크탑만한 폼을 하나 생성한 후 , 데스크탑의 그림들을 그대로...
    • 조영우
    • 1999.01.03 00:56
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.01.03 02:11
      델파이의 TServerSocket과 TClientSocket을 이용하시면 됩니다. 그 컴포넌트들로 TCP/IP 를 이용하여 서로...
    • 최진숙
    • 1998.12.28 21:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1998.12.29 00:26
      가능하면 Async의 질문은 나이렉스 고객지원 게시판에 해주시기 바랍니다. TCom의 예제를 보시면 OnProtoc...
    • 이현주
    • 1998.12.25 02:04
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박현정
      1998.12.25 05:40
      Async의 Comport컴포넌트를 이용하면 현재 시스템에서 사용가능한 comport들을 가져올 수 있습니다. 컴포트...
    • 이정욱
      1998.12.17 08:52
      You can read/write Korean via using HanMe Hangul 95 or UnionWay. It is the Korean Chractors emulati...
    • 최진숙
    • 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 컴포넌트 트라이얼을 받아서 한번 해보세요.. 그래도 느리...