어떤 비교해볼만한 프로그램 편집기들이 있을까요..?

착한아이의 이미지

제가 만들고 있는 편집기(http://kldp.org/node/93541)와 기능 비교를 해볼만한 다른 편집기를 찾고 있는중에 있는데요.. 대충 생각나는 대로 적어보면

vs2005IDE, borland2006IDE, pythonIDE25, Matlab2007a, Mathematica6, Maple11, MatheCAD14, vim70, XEmacs21421, Eclipse1211, WsciTE, jEdit43, acroedit09, desyedit113, PSPad433, devphp3, ...

제 편집기가 가진 기능이 다른 편집기에도 동작하는지를 살펴보려고 해요.. 위 편집기이외에 필적한만한 다른 편집기를 알고 계시면 소개 부탁드려요~

klara의 이미지

Quote:
제 편집기가 가진 기능이 다른 편집기에도 동작하는지를 살펴보려고 해요..

애시당초 기존의 편집기로는 안되는 기능을 가진 에디터를 만들기 시작하신거아니었나요? 그럼 당연히 다른 편집기에서 착한아이님의 에디터가 가진 기능이 동작할리가 없지 않나요?
Quote:
위 편집기이외에 필적한만한 다른 편집기를 알고 계시면 소개 부탁드려요~

뭐에 필적한다는 뜻인가요? 벤치마킹할 에디터가 필요한 거라면 적으시거만 해도 충분할테고, 착한아이님의 에디터에 필적한다는 거라면, 착한아이님의 에디터를 공개하지 않으셨으니 알수가 없구요...
착한아이의 이미지

인용:애시당초 기존의 편집기로는 안되는 기능을 가진 에디터를 만들기 시작하신거아니었나요?
답변: 기존의 편집기로는 안되는 기능이 있긴 하지만, 기존의 편집기로는 안되는 기능만 있는것은 아니고, 기존의 편집기로도 되는 기능도 많이 있을거라 생각해요..

인용:그럼 당연히 다른 편집기에서 착한아이님의 에디터가 가진 기능이 동작할리가 없지 않나요?
답변: 그런 기능은 당연히 다른 편집기에서 저의 에디터가 가진 기능이 동작하기 어렵겠지만, 기존의 편집기로도 되는 기능은 비교해보고 싶었어요.. 죄송하고요..

인용:뭐에 필적한다는 뜻인가요? 벤치마킹할 에디터가 필요한 거라면 적으시거만 해도 충분할테고, 착한아이님의 에디터에 필적한다는 거라면, 착한아이님의 에디터를 공개하지 않으셨으니 알수가 없구요...
답변: 본인이 선호하는 편집기에 필적할만한 또 다른 편집기를 여쭙는 말이었어요.. 제가 전문프로그래머도 아니고, 이쪽 분야에 종사하기 있지 않고, 위 편집기 목차는 줏어 들은것들이어서, 제가 모르는 좋은 편집기가 또 더 있는지 알고 싶었을 뿐이었어요..

제가 논지를 올릴 때는 논지에 관련된 의견을 듣고자 함이지, 논지의 여부를 논쟁하기 위함이 아니예요.
논지의 취지를 이해하지 못한 의견에는 가급적 답글 달지 않겠어요. :P

amorette의 이미지

Emacs 로 CSS 파일 구조를 간단하고 빠르게 바꾸는 모습입니다.
http://derekslager.com/blog/posts/2007/02/screencast-formatting-a-css-file-with-emacs.ashx

전 쓰레드에서 vi, emacs 보다 적은 키입력 이라고 하셨는데,
그렇다면 보시다시피 regex 기능은 꼭 넣어보세요.

Emacs 에서 ruby 파일 편집하는 동영상입니다.
http://platypope.org/yada/emacs-demo/

왼쪽에 탐색창이 뜨며. 이 프레임에서 diff 명령 등을 쉽게 부릅니다. 원하는 줄에서 자동으로 indent 되고
def, if 등의 키워드를 입력하면 그에 맞는 템플릿이 출력됩니다.
커서 밑에 있는 클래스나 함수의 자세한 설명을 확인할 수 있습니다.
커서 밑에 있는 줄의 결과물을 자동으로 주석에 추가합니다.
등등등...

대부분의 편집기들은,
특히 이 동영상에서의 emacs는 다양한 기능들과, keystroke 등을 사용자 입맛에 맞게 고칠 수 있습니다.
또 원하는 기능을 추가할 수도 있구요. 이것이 장점입니다.

위에 나열하신 편집기들은 기능이 수없이 많습니다.
편집기 목록 이전에 그 목록에 나열된 편집기들의 기능들을 알아아보세요.

.

그리고 아시겠지만,

php 에서는 case 문에서 문자열을 쓸 수 있지만, c 에서는 불가능합니다.

그리고 어떤 언어에서든 기본 함수가 없으면 언어라 할 수 없습니다.
c 에서 printf 를 쓰면 php 에서는 print 가 나와야겠죠.
그런데 c 에는 python 의 m = re.compile(....) 을 바꾸기 쉽지 않습니다.
또는 print

또, 예를 들어서
c 에서 for (i=0, j=100; is_sth(i,j); i++, j--) 와 같은 문장은
delphi 에서는 불가능하므로 if 문등으로 쪼개야 할 겁니다. (아마도...)

또, 파이썬에서
for n in range (1, 100):
..cnt = str(n).count('1')
와 같은 문장은 다른 언어로 대체하도록 만들기 쉽지 않을 것 같습니다.

그리고, 함수 안에서만 고려해도, 어쨌든 언어마다 추구하는 것이 다르기 때문에,
간단히 if, for, while 등의 형태를 고치는 건, 실제로 처음 언어를 배울 때,
오히려 그 언어의 특징들을 배우는 것을 놓칠 수 있다고 생각합니다.

제 소견이었습니다.

착한아이의 이미지

네.. 생각보다 제가 탑재하려던 기능들이 이미 많이들 동작중인듯 싶네요.. 제것을 좀 일찍 시작했었어야 했다는 안타까움도 좀 있고요.. ^^; 소견주신부분들은 데모 영상에 포함하도록 해볼께요..

>> Emacs 로 CSS 파일 구조를 간단하고 빠르게 바꾸는 모습입니다.

네.. 좀 다른 방법이긴 하지만 구조를 바꾸는건 가능한데, 동영상 예만큼 간단하고 빨리 바꿀수 있을지는 저도 만들어봐야 알듯하네요..

>> 전 쓰레드에서 vi, emacs 보다 적은 키입력 이라고 하셨는데, 그렇다면 보시다시피 regex 기능은 꼭 넣어보세요.

네.. 당장 제 편집기에서는 regex가 그리 필요해 보이진 않지만, 언젠가 regex 편집기도 내장해볼까 싶어요..

>> Emacs 에서 ruby 파일 편집하는 동영상입니다. 왼쪽에 탐색창이 뜨며. 이 프레임에서 diff 명령 등을 쉽게 부릅니다. 원하는 줄에서 자동으로 indent 되고 def, if 등의 키워드를 입력하면 그에 맞는 템플릿이 출력됩니다. 커서 밑에 있는 클래스나 함수의 자세한 설명을 확인할 수 있습니다. 커서 밑에 있는 줄의 결과물을 자동으로 주석에 추가합니다. 등등등...

탐색창: 현재 만드는것에는 없지만 그냥 달면 될듯하고요.
diff : 이건 아직 별 아이디어가 없어서 굉장히 나중에 추가될것 같고요..
자동index: 이건 되고 있고
키워드템플릿: 이것도 되고 있고
description: 이것도 되는데, 제것엔 2가지 더 있죠.
현재라인결과: 이것도 되지요.

>> 대부분의 편집기들은, 특히 이 동영상에서의 emacs는 다양한 기능들과, keystroke 등을 사용자 입맛에 맞게 고칠 수 있습니다. 또 원하는 기능을 추가할 수도 있구요. 이것이 장점입니다.

네.. 제 편집기에서는 keystroke을 고쳐야 할 필요는 없다고 생각하고 있어요.. 일관성도 유지할겸..
제한적으로 원하는 기능추가가 가능은 할텐데 이것도 API가 만들어져야하기 땜시 좀 상당히 나중에 탑재되지 싶네요.. ^^;

>> 위에 나열하신 편집기들은 기능이 수없이 많습니다. 편집기 목록 이전에 그 목록에 나열된 편집기들의 기능들을 알아아보세요.

네.. 나열한거 이외에 다른 편집기의 기능도 알아볼까 싶어 이 쓰레드를 열었네요..

>> 그리고 아시겠지만,php 에서는 case 문에서 문자열을 쓸 수 있지만, c 에서는 불가능합니다.

네.. 불가능하긴 한데, 대신 else if 로 보여지면 코드는 동작할듯 싶네요.

>> 그리고 어떤 언어에서든 기본 함수가 없으면 언어라 할 수 없습니다. c 에서 printf 를 쓰면 php 에서는 print 가 나와야겠죠. 그런데 c 에는 python 의 m = re.compile(....) 을 바꾸기 쉽지 않습니다. 또는 print

제가 c 랑 python은 잘 몰라서.. ^^;

>> 또, 예를 들어서 c 에서 for (i=0, j=100; is_sth(i,j); i++, j--) 와 같은 문장은 delphi 에서는 불가능하므로 if 문등으로 쪼개야 할 겁니다. (아마도...)

네.. 일단 if등을 추가해서도라 동일한 동작을 하는 코드는 가능하므로, 별 문제 없을듯 싶네요..

>> 또, 파이썬에서 for n in range (1, 100): ..cnt = str(n).count('1') 와 같은 문장은 다른 언어로 대체하도록 만들기 쉽지 않을 것 같습니다.

이것도 이해를 잘 못해서.. ^^;

>> 그리고, 함수 안에서만 고려해도, 어쨌든 언어마다 추구하는 것이 다르기 때문에, 간단히 if, for, while 등의 형태를 고치는 건, 실제로 처음 언어를 배울 때, 오히려 그 언어의 특징들을 배우는 것을 놓칠 수 있다고 생각합니다. 제 소견이었습니다.

네.. 조금 다른 시각일수도 있는데요.. 앞서 예를드신 switch 문의 경우처럼 case 문에 문자열이 들어가면 c에서는 else if 로 보여질거예요.. 이 편집기를 통해 이런 상이한 표현을 직접 확인해 보면 오히려 해당 언어의 특성을 더 잘 이해할수 있지 않을까 싶어요.. php를 했던분이 c 에서 case에 문자열을 넣고 에러를 이해못하고 난감해 할수도 있고, c 를 했던분이 php 에서 case에 문자열을 평생 써보지 않는 경우도 있지 않겠어요.. 보통 언어습득은 다른언어와 비교해서 하는게 아니기 때문에, 이 편집기는 이런 비교를 즉시 즉시 알려주는 훌륭한 선생님일수도 있다고 생각해요..
물론 제 편집기가 특정 언어의 표기를 배우는 걸 방해하는 점은 인정해요. 개인적으로는 언어의 표기를 배우기 위해 시간을 소모하거나 그로인한 실행오류에 난감해 하는것보다 알고리즘을 구성하데 집중하는것이 더 중요하다고 생각해요.. 무슨 언어이든, 표현이 어떠하든 원하는 동작만 해내면 이 편집기의 목적은 달성했다고 생각해요..

제가 논지를 올릴 때는 논지에 관련된 의견을 듣고자 함이지, 논지의 여부를 논쟁하기 위함이 아니예요.
논지의 취지를 이해하지 못한 의견에는 가급적 답글 달지 않겠어요. :P