Steve Yegge는 자신의 블로그에 다음 과 같은 코멘트를 썼습니다 .
세계 최고의 엔지니어들은 모두 Emacs를 사용합니다. 세계 체인저 유형. 당신 옆에있는 큐브의 위대한 여자는 아닙니다. 프레드가 아니라 복도에서 놀란 사람 나는 업계의 얼굴을 바꾼 우리 직업의 가장 위대한 소프트웨어 개발자에 대해 이야기하고 있습니다. James Goslings, Donald Knuths, Paul Grahams, Jamie Zawinskis, Eric Bensons. 실제 엔지니어는 Emacs를 사용합니다. 당신은 그것을 잘 사용하기 위해 현명해야하며, 그것을 마스터 할 수 있다면 믿을 수 없을만큼 강력합니다. 폴 노드스트롬의 어깨 너머로 나를 믿지 않으면 언젠가 일하는 동안 가십시오. Visual Blub .NET과 같은 IDE를 사용하여 경력을 쌓은 사람에게는 정말 눈에 띄는 도구입니다.
이맥스는 100 년의 편집자입니다.
코드를 작성하기 위해 텍스트 편집기를 사용한 마지막 시간은 약 1000 년 전에 메모장에서 HTML을 계속 쓸 때였습니다. 그 이후로 저는 Visual Studio, NetBeans, IntelliJ, Borland / Codegear Studio 및 Eclipse를 전체 경력에 사용하여 IDE에 의존했습니다.
무엇의 가치를 위해, 나는 한 이맥스를 시도하고, 내 경험 때문에 검색 할 기능을이 박스 아웃 오브의 완전한 부족으로 좌절이었다. (아마도 찾을 수 없었던 다른 Emacs 명령을 발견하기위한 Emacs 명령이 있습니다. 자신의 잔인한 젠 같은 농담을 사는 것과 같습니다.) 나는 좋은 달 동안 프로그램처럼 만들려고 노력했지만 결국에는 드래그 앤 드롭 GUI 디자이너, IntelliSense 및 대화식 디버깅을 대신하기로 결정했습니다.
사실을 팬보이 즘과 분리하기는 어렵 기 때문에 아직 Yegge의 의견을 액면가로 기꺼이 취하지 않겠습니다.
IDE에 의존하는 사람들과 그렇지 않은 사람들 사이에서 기술, 생산성 또는 프로그래밍의 즐거움에 상당한 차이가 있습니까? 아니면 모두 팬 보이 즘입니까?
답변
먼저, 나는 이멕스 숭배에 대한 자백 한 진실한 신자라고 말합니다.
즉, 블로거는 견과류입니다. 유용한 것으로 쓰십시오. 나는 Emacs가 주로 도움이된다는 것을 알게되었습니다. 주로 대학에서 몇 년 동안 내 요구에 맞게 수정하는 방법을 배우고 자신의 필요에 맞게 수정하는 방법에 대한 초기 비용을 선불로 지불했기 때문입니다.
그러나 다른 사람들은 다르게 행동하며 “괜찮아”라고 말합니다.
답변
그는 (Steve Yegge) 자신의 다른 게시물에서 조금씩 자세히 설명했습니다. http://steve-yegge.blogspot.com/2008_04_01_archive.html 은 아마도 가장 포괄적 일 것입니다. 그러나 정보는 주요 주제에 접하기 때문에 거기에 묻혀 있습니다.
간단히 말해서, 단지 우수 하거나 유능한 프로그래머 는 IDE를 선택하여 실제로 잘 알게 될 것이며 아마도 충분히 알고있을 것입니다. 그러나 IDE가 그들에게 제공하는 것으로 스스로를 제한 할 것입니다. 다시 말해, 그들은 IDE에 적응합니다. 반면에 훌륭한 프로그래머는 스크립트 또는 자체 도구 작성 또는 도구 확장과 같은 방식으로 자신 의 환경 에 맞게 환경 을 조정 합니다. 그리고 마지막 지점뿐만 아니라 이맥스는 것입니다 가장 이 확장 환경, 그것은 또한 쉬운 이 확장 할 수있는 환경은, 그것을 당신이 가장 거둘 환경입니다 혜택을 확장 기능을 통해 확장 기능을 확장 할 수 있습니다. 확장 기능은 재고 기능인 것처럼 Emacs에 통합되므로 향후 확장 기능은 이전 확장 기능 (양성 피드백 루프 종류)을 기반으로 구축 될 수 있습니다.
답변
가장 숙련 된 프로그래머는 vi 나 emacs를 사용합니다. 가장 숙련 된 프로그래머가 최고이기 때문에 20 년 전 vi와 emacs를 제외하고는 선택의 여지가 없었기 때문입니다.
텍스트 터미널이 매우 느린 컴퓨터에서 vi (약 1987 년)를 시작한 후 몇 년 후 (더 빠른 컴퓨터에서) (GNU) Emacs로 변환하여 거의 10 년 동안 거의 독점적으로 사용했습니다.
Emacs는 최초의 진정한 통합 개발 환경이었습니다. 전체 편집 / 링크 / 컴파일주기를 emacs로 제어 할 수 있으며, 사용하는 컴파일러에 따라 자체 롤링 할 수 있습니다.
요즘에는 이클립스와 같은 IDE가 더 잘 통합되어 있지만 (정직하게는 : emacs가 그래픽을 빨아 들인다), Emacs는 여전히 “순수한”텍스트 편집을위한 최고의 환경 중 하나입니다.
답변
명확한 사고와 문제 해결을 개선하면 더 나은 프로그래머가 될 것입니다. 어떤 프로그램도 그렇게 할 수 없습니다.
더 나은 망치를 사용하는 것이 어떻게 그리고 왜인지 알지 않는 한 더 좋은 집을 짓는 데 도움이되지 않습니다. 😉
답변
Yegge는 Bill Joy를 만나야합니다. 그는 세계 최고의 프로그래머 중 한 명일뿐만 아니라 vi의 큰 덩어리를 썼습니다. vi에서
짧은 부끄러운 고백 : 작년에 모든 것에 vi (및 최근 몇 년 동안 vim / gvim)를 20 년 동안 사용한 후, 현재 작업에서 Java 편집을 위해 Eclipse를 사용하고 전자 메일을 위해 Thunderbird를 사용하기 시작했습니다. 기계에는 메모리가 너무 적기 때문에 디버거가 필요할 때를 제외하고는 일반적으로 vi를 사용합니다.
답변
IDE에 의존하는 사람들과 그렇지 않은 사람들 사이에서 기술, 생산성 또는 프로그래밍의 즐거움에 상당한 차이가 있습니까? 아니면 모두 팬 보이 즘입니까?
이 문제를 Visual Studio와 Emacs로 좁히겠습니다 .– 질문이 너무 넓어서 대부분의 사람들 (적어도 여기에서는 StackOverflow에 있음)이 두 사람에 익숙하다고 생각합니다. [저는 이맥스를 사용하고 선호합니다]
다음으로 질문의 세 가지 구성 요소를 분류 해 봅시다.
프로그래밍 즐거움은 주로 프로그래밍 자체를 좋아하는 것으로 요약되며, 두 번째로 할 때 성가신 요소가 나타나지 않도록합니다. 어려움을 겪는 도구를 사용하면 즐거움에서 벗어날 것입니다. 따라서 나는 당신이 좋아하고 친숙한 도구를 사용하여 즐거움을 극대화 할 것입니다.
당신이 새로운 도구에 익숙해 이렇게되면 물론, 당신은 당신이 함께 할 경우 더 프로그래밍 같은 것, 따라서 그것이 당신이 도구를 더 좋아 찾을 수 있고 새로운 좋아하는 도구입니다. 일반적으로 사람들이 둘 다 잘 알고 있으면 emacs보다 VS를 좋아할 것 (또는 그 반대)도 분명하지 않습니다.
다음은 프로그래밍 기술입니다. 기술과 VS / emacs의 선택 사이에 어떤 관련이 있다면, 선택을 일으키는 기술이 아니라 선택을 일으키는 기술이라고 생각합니다. 내 경험상 {VS, emacs} 중 어느 것도 더 나은 코드 작성에 대해 배우는 것으로 보이지 않습니다.
좋은 도구를 사용하면 더 적은 시간에 동일한 코드 (따라서 동일한 품질 의 코드) 를 작성할 수 있습니다. 이라고 가정 productivity = quality of code `times` code per time
하면 짧은 시간 안에 좋은 코드를 작성할 수있는 편집기가 생산성 향상 이라고 생각할 수 있습니다.
VS에 익숙하지 않을 수도 있지만 여기서는 emacs가 VS에서 찾지 못한 강점을 가지고 있다고 생각합니다. 어리석게 들릴지 모르지만 커서 이동과 같은 단순한 기능 Ctrl-[fbnp]
은 실제로 유익합니다. 즉, 화살표 키로 손을 움직일 필요가 없습니다. 또 다른 일 : 줄 바꿈이 포함 된 검색 또는 바꾸기를 할 수 있습니다.
내가 좋아하는 또 다른 것은 편집기에 쉘을 포함시킬 수 있다는 것입니다. 내 경험상 비 Windows 플랫폼 (그리고 첫 번째 “프로그래밍”경험, IIRC는 DOS .bat 파일을 작성했기 때문에 훨씬 더 가치가 있습니다. 따라서 나는 불타는 팬보이가 아닙니다). 그러나 그 플랫폼에서는 큰 승리입니다 . emacs를 “everything”과 “통합”합니다 (찾기 / 위치를 사용한 파일 검색, grep을 사용한 텍스트 검색, svn / git / hg / …를 사용한 버전 제어, 이름 지정).
최종 평결-이맥스를 배워야합니까? 그리고 그것은 모두 fanboyism입니까? 시간이 있다면 항상 같은 일을하는 새로운 방법을 배우는 것이 가치가 있다고 말합니다. 새로운 방법은 당신에게 더 잘 작동 할 수 있기 때문입니다. 그리고 나는 당신이 처음 생겼을 때 나타나는 것으로 거부하지 않는 것이 좋습니다. 그런 의미에서 Dvorak 키보드 레이아웃으로 전환하는 것과 같습니다. 처음에는 느리지 만 속도에 도달하면 적어도 쿼티만큼 빠르며 더 편안 할 수 있습니다. 나는 새로운 (프로그래밍) 언어를 배우는 것과 같은 접근법을 추천합니다. 어휘 (표준 라이브러리)를 모르기 때문에 상황이 어렵다고 말하지만 보상은 여전히 당신을 기다리고 있습니다.
답변
인용 된 텍스트가 “세계 최고의 엔지니어들이 모두 Emacs를 사용합니다”로 시작하면서 액면가로 가져 가지 않을 것입니다. 그는 세계 최고의 엔지니어들을 모두 알고 있습니까? 귀하 또는 본인이 보유한 세계 최고의 엔지니어 목록과 동일합니까?
일단 배운 후에 EMACS 또는 vi와 같은 강력한 편집기를 사용하면 좋아하는 IDE없이 붙 잡히면 더 효율적으로 또는 더 효율적으로 만들 수 있습니다.
살인자 인 “한 번 배운”부분입니다. 이러한 도구를 생산적으로 사용하는 것은 많은 작업과 실습이며 처음에는 매우 어렵습니다.