![]() |
|
||||||||
경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지 |
|
찾아보니 Steve Trefethen이 델파이 IDE가 닷넷에 의존하게 된 이유를 설명한 글이 있네요.
Steve Trefethen은 2010년까지 볼랜드/코드기어에서 델파이 개발팀의 일원이었고 델파이 관련으로 유명 블로거였습니다. Why does Delphi 2005 IDE require the .NET framework? http://www.stevetrefethen.com/blog/WhydoesDelphi2005IDErequiretheNETframework.aspx 볼랜드 사이트 운영자라서 그런지는 모르겠으나 닷넷을 상당히 경시하는 경향이 있네요. 저희 회사에서도 엠바카데로 컴파일러를 사용했지만 하도 버그가 속출해서 요즘은 대부분의 프로그램 개발을 비쥬얼 스튜디오로 하게됩니다. 버그때문에 거래업체에서 리콜 받으면 업무에 지장도 많고 일이 몇배로 피곤해지기 때문 입니다.
딴지 걸려는건 아니고요. 델파이에서 리펙토링 기능이 닷넷으로 구현된 탓에 빠르지 않고 IDE가 랙 걸리면서 에러 난다고 주장하는 건 좀 어폐가 있는 것 같습니다. 비쥬얼 스튜디오 사용하면서 C#도 많이 쓰게 되는데, C#에서 리펙토링 기능, 코드 인텔리젼스 기능 같은 건, 델파이는 쨉이 안될 정도로 파워풀 합니다. 느리거나 랙 걸리는 일도 없고, IDE 가 에러를 내는 경우도 없습니다. 그리고 비쥬얼 스튜디오에서 이런 리펙토링, 코드 인텔리젼스 기능 역시 닷넷으로 만들어 졌습니다. 비쥬얼 스튜디오에서는 잘 돌아가는데 델파이에서만 그런 증상이 나타난다면 그건 델파이에서 코딩을 잘못했다던가 알고리즘에 문제가 있다 든가의 델파이 쪽에 문제가 있기 때문지 닷넷 탓할건 아니지요. 닷넷을 경시하시는 것 같기도 하지만, 이 글을 보면 닷넷을 잘 이해못하시는게 아닌가 생각되네요...
한때, 델파이나 C++빌더가 VS와 맞짱뜰수 있었던 시기가 있었었죠. 그땐 델파이나 C++빌더를 잘 모르는 사람들의 경시풍조가 일조했다던가, 매니아틱 해서 서로 으르렁 댔다던가 많은 이유가 있었었죠... 그리고 닷넷이 처음 나왔을때만 해도 지금 베타버젼 수준으로 시장에 출시하는 XE보다 더 심각한 알파버젼 수준으로 판매를 했었으니까요... 이젠 십년이 지났죠... RAD가 VS보다 우위에 있을수 있는걸 내세우라면 어쨌든 버그투성이이지만 ios용 제품을 만들수 있는것과 생산성이 더 뛰어나다는 정도 뿐일겁니다. 그것도 써드파티는 안되! 라고 강력한 제한을 걸었을 때에야 겨우 먹혀드는 불편한 진실... ㅎㅎㅎ 크레브님, 닷넷을 얘기하셔서 나온 내용이니, 당연히 C# 이나 VB.NET이겠죠? ^^
더 붙이자면 ASP.NET처럼 웹페이지용 개발을 얘기한것도 아니구요... Hello world와 같이 단순한걸 어느게 빨리 만들어내느냐 라던가 db에 연결해서 특정 테이블의 데이터 가져오기를 어느게 빨리 구현하느냐 등등 단편적인걸 비교하자는 것도 아닙니다... 정말, 옛날에 느꼈던 엄청났던 격차가 이젠 별로 안 느껴집니다. 델파이나 c++빌더를 잘 모르면서 깔보기만 했던 아주 오래전의 vc++개발자들에게 느꼈던 늬앙스가 요즘은 반대로 닷넷에 그런식으로 선입견을 가진 분들이 많다는걸 느끼게 되더군요 ㅋ 그만큼 초/중기 버젼들은 개판이었긴 했죠 ㅋ Lyn/성능이 안나와서 닷넷으로 다시 만들어야 한다는 분들도 참... ^^;
자바나 닷넷이 성능면으로 보자면 상대적으로 구리죠 --; 개발자가 몸으로 겪는 개발지원/생산성 등에서 닷넷이 상당히 좋아진거지, 그 결과물의 성능은 저 역시도 만족하지는 않습니다... ^^ 제 글의 요지는... 과거 델파이나 빌더가 가졌던 생산성이 이젠 델파이나 빌더만의 전유물이 아니라는거구요... 닷넷 하면 웹브라우저 기반의 결과물만 생각하면서 델파이나 빌더와 비교한다는 건 좀 아니겠죠... 반대로 델파이나 빌더로 웹브라우저 기반의 결과물을 만들어라고 해서 닷넷의 결과물과 비교하는 것도 어처구니 없는 비유이지요 ㅎ 델파이나 빌더처럼 Windows Form이나 Application Server 프로그래밍을 닷넷으로 개발하는 경우, 결코 뒤처지지 않는 생산성이 나옵니다. 물론 서두에서 처럼 써드파티 없이 개발하는 경우 Windows Form 플밍은 병맛이 되기 일쌍다반사 입니다. ㅎ IDE의 AddOn과 써드파티 컴포넌트를 사용하게 되면 생산성이 비약적으로 올라갈 뿐이죠. 며칠만에 들어왔더니... project님과 깔쌈보이님이 뭘 지적하시는지 모르겠군요. 제가 쓴 내용은, 델파이//C++빌더에서 닷넷으로 작성된 부분이 네이티브 코드로 된 부분만큼 빠르지 않다, 라는 것입니다. 위에 제가 델파이의 리팩토링 기능을 '밥먹듯이' 사용하고 있다고 썼는데, project님이 몰아붙이듯이 도저히 사용하지 못할 정도라면 제가 '밥먹듯이' 쓸 수 있겠습니까. 그만큼 자주 사용하고 있기 때문에 드물게 발생하는 문제라도 잊혀지지 않고 짜증이 난다는 얘깁니다. 대부분의 경우 RAD 스튜디오 IDE의 리팩토링이나 기타 투게더 기능들은 충분히 빠르게 돌아갑니다. 그런데 100번중의 한번 정도는 짜증이 나지 않을 수 없을 정도로 느려집니다. 반면 네이티브로 구현된 기능들에는 그렇게 막 느려지는 부분이 없습니다.
구 볼랜드나 엠바카데로가 잘못 구현해서 그럴까요? 뭐 그럴 수도 있습니다. 하지만 어쨌든간에 그것은 닷넷 기반인 것과 무관할 수가 없는 문제죠. 이건 거꾸로도 마찬가지여서, 자바나 닷넷인 경우에는 불가능하거나 거의 일어나기 힘든 에러가 네이티브 환경이기 때문에 발생할 수 있는 것과 마찬가지의 문제일 뿐입니다. 아이러니컬하게도, 도리어 두분이야말로 닷넷에 대한 일반적인 인식에 대해 피해의식을 갖고 있는 게 아닌가 하는 생각도 드는군요. 음... 이렇게 적으면 피해의식으로 표현되는가 보군요...
하기사 저도 그동안 임프님이 닷넷에 대해서 작성하신 글들을 보면 닷넷에 대해 이해가 부족하다고 느꼈으니까요... 지난 십여년간 사용자 도구가 워낙 다양화해지다 보니... 개발툴/언어의 좋고 나쁘다를 평가하기 보다는 주어진 개발업무에 가장 적합한 개발툴/언어가 무엇이고, 그것에 대한 이해도를 높여서 적시적절하게 사용하는것이 가장 좋다고 생각하는 편입니다. 그러다보니 여러 언어/개발툴을 두루 다루면서 먹고 살게 되고, 또 그러다보니 피해의식스럽게 느껴지는 부분이 뭔지 모르지만 암튼 그런 늬앙스를 풍기는 글도 적게 되네요... ㅎㅎ 베타버젼 수준으로 만들어 개발자들에게 돈받고 테스트를 맡기는 듯한 행태를 보이는 엠바의 정책을 비난 할 뿐... 델파이나 빌더 자체에 평가를 내리지는 않습니다. 시장성이 어떠니 뭐가 어떠니... 등등... 물론 닷넷이나 자바 또는 다른 그 어떤 것에도 마찬가지구요... ㅋ 크레브님, 저는 델파이나 빌더와 vc+을 가지고 생산성을 논하는건 적절치 못하다고 생각하기 때문에 크레브님의 요약 중 vc++에 대해서는 딱히 뭐라고 할까 생각이 안 나네요...
그리고 전체적으로 vs를 이용한 생산성을 가지고 뭐라고 할 시대는 지난것 같습니다. 다만 기본 제공 컴포넌트가 gui쪽으로는 아직 많이 부족해서 그런 표현을 한거구요... 성능적인 부분도 문제가 될만한 부분은 적어도 저에게는 없습니다. 델파이나 빌더에 비해서 상대적으로 차이가 날 뿐, 그 차이점을 운운해야 할 곳이 얼마나 될지는 모르겠네요. 음... 고속 프레스기에 붙였더니 멘붕님께서 오신 기억이 있긴 하네요 ㅠ civilian님, 가볍게 적었는데... 그럴 개연성도 충분히 있군요... 크레브님, 닷넷으로 만들어진 컴퓨터에 물린 장비들과 모두 합쳐서 초당 1회 미만의 데이터를 주고 받는다면 데이터 손실율에 대해서는 제가 보장합니다.
저도 지금 1년간 다른분야의 일을 하고 있지만, 7여년간 회사에서 주로 한 일이 POP/MES/USN 분야였습니다. 보드설계부터 외주/칩셋구매/조립 에 이어 코드비전으로 펌웨어를 굽는것까지 참여하다보니, 제 나름대로 전체에 대한 그림이 그려지더군요. 장비와 직접 데이터를 주고 받는건 네이티브한 것으로... 데이터를 받고나면 비즈니스 로직 및 제어와 관련된 액츄에이터는 닷넷으로 만드는게 좋더라구요... 델파이나 빌더의 뛰어난 성능과 생산성... 닷넷에서 제공하는 강력하면서도 개발하기 쉬운 네트워크 개발환경이 어우러지니깐... 고객만족도는 물론이거니와 회사에서도 민감한 부분에 신경쓰지 않아도 되니 플러스가 되구요... 네이티브환경과 jvm이나 닷넷과 데이터를 주고 받는건 아이디어만 잘 떠올리면 어렵지않게 해결되더군요. 관련 글 리스트
|
Copyright © 1999-2015, borlandforum.com. All right reserved. |
RAD 스튜디오 IDE에 닷넷이 처음 적용된 것은 2003년에 지금의 갈릴레오 IDE가 처음 도입된 델파이 8 버전부터인데, 그때는 MS 빌드 엔진이 존재하기도 전이고요. MS 빌드가 적용되기 시작한 것은 비교적 최근이라고 할 수 있는 2007년 초에 출시된 2007 버전부터입니다.
RAD Studio IDE에 가장 큰 이유는, 단지 RAD 스튜디오의 옛 투게더 기능들이 여전히 닷넷으로 구현되어 있기 때문입니다. 투게더 기능들에는 클래스 다이어그램, 유즈케이스 다이어그램, 시퀀스 다이어그램 등을 포함한 여러 다이어그램 기능들, 디자인패턴 기능들, model navigation, QA metrics, LiveSource modeling, Kiviat Chart, 문서 자동 생성, audits, /metrics, refactoring 등이 포함되는데요. 이 투게더 기능들은, 볼랜드 시절이었던 2002년에 말 그대로 모델링 툴 투게더를 인수하면서 갖게 된 기능들인데 그뒤로 1~2년 사이에 J빌더를 포함한 볼랜드의 개발툴들에 모두 이식되었습니다. 처음에 인수한 투게더의 소스가 자바로 개발되어 있던 것을 볼랜드가 MS J#을 거쳐 닷넷 C#으로 포팅한 거구요. 그걸 IDE에 그대로 이식하다보니 IDE가 닷넷에 의존하게된 것입니다.
지금도 닷넷을 제거하고 Win32만으로 IDE를 설치할 수 있는 변칙적인 방법이 있는데, 그렇게 하면 투게더 기능들이 모두 disable됩니다. 이미 닷넷이 완전히 한물 간 상황인데도 IDE가 닷넷을 끌고 다니는 게 저는 아주 못마땅한데요. 엠바카데로가 투게더 기능들을 Win32로 전면 재개발하는 데에 시간을 들이기보다는 모바일 지원 등 새로운 기능 추가에 올인하고 있네요.
국내 델파이 개발자분들은 투게더 기능들을 거의 알지 못하거나 알아도 쓰지 않는 분들이 많고, 저도 드물게 사용하지만, 그중에서 리팩토링은 밥먹듯이 사용하는데요. C++빌더에는 불행히도 rename 하나만 덜렁 있어서 리팩토링이 있으나 마나한 존재지만, 델파이의 리팩토링은 상당히 강력해서, 몇번만 해보고 익숙해지고 나면 코딩 생산성이 몇배로 높아집니다. 델파이에서 따지자면, 개인적으로 델파이 7 이후로 추가된 기능들 중 가장 빛나는 기능으로 저는 리팩토링을 꼽고 싶네요. 문제는 이게 닷넷으로 구현된 탓에 기대한 만큼 빠르게 동작하지 않는다는 거죠. 가끔은 IDE가 장시간 랙 걸리기도 하고, 가끔은 아예 타임아웃으로 에러를 내고 실패하기도 한다는 거죠.