Programing

C 개발을위한 최고의 IDE는 무엇입니까? / IDE 대신 Emacs를 사용하는 이유는 무엇입니까?

lottogame 2020. 11. 27. 07:37
반응형

C 개발을위한 최고의 IDE는 무엇입니까? / IDE 대신 Emacs를 사용하는 이유는 무엇입니까?


이전 질문 중 하나에 따라 C 기술을 연마하고 있습니다.

제 질문은 사람들이 C를 개발하기 위해 무엇을 사용합니까?

많은 사람들이 Emacs를 사용하고 수년 동안 사용해 왔지만 Geany 또는 KDevelop과 같은 IDE를 사용하는 것보다 emacs를 배우는 것이 더 낫 습니까?

또한 사람들로부터 듣고 관심을 가질만한 여전히 사용 이맥스 , 그리고 그들은 그것을 사용하는 이유 다른 애플 리케이션을 통해?

저는 무료 IDE / 편집기 에만 관심이 있습니다.

편집하다:

내 질문에 답하는 링크를 게시 해 주셔서 감사합니다.하지만 제가 정말로 궁금한 것은 다음과 같습니다.

emacs / vim을 사용하여 편집하는 방법을 배우고 gcc-toolchain을 사용하여 컴파일 / 디버깅하는 것이 단지 IDE를 사용하는 것보다 가치가 있는지 여부와 그 이유는 무엇입니까?

사람들이 IDE로 마이그레이션하지 않는 이유는 무엇입니까?

터미널 중심 개발에서 IDE 개발로 이동 한 사람이 있습니까? 왜 그들이 이동 했습니까?


나는 Microsoft이든 아니든 IDE를 사용하여 시작했습니다. 그런 다음 오래 전 QNX에서 작업하는 동안 텍스트 편집기 + 컴파일러 / 링커를 사용해야했습니다. 이제 저는이 간단한 조합 (구문 강조 편집기 + C 컴파일러 및 링커 cli + make)을 환경에서 허용하더라도 모든 IDE에 선호합니다.

그 이유는 다음과 같습니다.

  1. 어디에나 있습니다. C로 프로그래밍하면 컴파일러가 있고 일반적으로 편집기를 얻을 수 있습니다. 가장 먼저하는 일은 Linux에서 nedit를, Windows에서 Notepad ++를 사용합니다. 나는 vi를 사용하지만 GUI 편집기는 더 나은 글꼴을 제공하며 하루 종일 코드를 볼 때 중요합니다.

  2. 필요할 때 ssh를 통해 원격으로 프로그래밍 할 수 있습니다. 그리고 때로는 목표물에 ssh하고 거기에서 몇 가지 빠른 작업을 수행하는 데 많은 도움이됩니다.

  3. CLI, 가급적이면 UNIX / Linux CLI에 가깝게 유지합니다. 따라서 모든 명령이 제 손끝에 있으며 필요할 때 참조 책을 읽을 필요가 없습니다. 그리고 UNIX CLI는 IDE가 종종 할 수없는 작업을 수행 할 수 있습니다. 개발자가 필요하다고 생각하지 않았기 때문입니다.

  4. 가장 중요한 것은 원시 코드에서 매트릭스를 보는 것과 매우 흡사하다는 것입니다. 나는 파일을 운영하기 때문에 관리 할 수있는 상태로 유지해야합니다. 내 코드에서 수동으로 무언가를 찾고 있으므로 간단하고 체계적으로 유지할 수 있습니다. 구성 관리를 명시 적으로 수행하므로 동기화시기와 방법을 알고 있습니다. Makefile을 작성하기 때문에 알고 있고, 내가 말한 대로만 수행합니다.

    (이게 "정말 큰 프로젝트"에서 작동하는지 궁금하다면-작동합니다. 프로젝트가 클수록 더 많은 성능을 얻을 수 있습니다.)

  5. 사람들이 자신의 코드를 보라고 요청할 때 사용하는 IDE를 배울 필요가 없습니다.


대부분의 프로젝트에서 터미널 텍스트 편집기 + 메이크 환경에서 Eclipse로 이동했습니다. C 및 C ++에서 Java 및 Python에 이르기까지 현재 작업중인 몇 가지 언어를 언급합니다.

그 이유는 단순히 생산성 때문이었습니다. 다른 것들이 더 중요해지면서 모든 프로젝트를 "내 머릿속에"유지하는 데 시간과 노력을 들일 여유가 없었습니다.

"하드 코어"접근 방식 (터미널)을 사용하는 경우의 이점이 있습니다. 예를 들어 자신과 코드 사이에 훨씬 얇은 층이있어 프로젝트의 "내부"에있을 때 모든 것이 더 생산적이 될 수 있습니다. 머리 꼭대기에. 그러나 나는 당신의 마음이 다른 곳에서 필요할 때 자신을 위해 일하는 방식을 방어하는 것이 가능하다고 생각하지 않습니다.

일반적으로 명령 줄 도구로 작업 할 때 생산성을 저하시키는 많은 상용구 문제를 자주 해결해야합니다. 도구의 잠재력을 최대한 활용하려면 도구에 대해 자세히 알아야합니다. 또한 프로젝트를 유지하려면 더 많은 노력이 필요합니다. 리팩토링은 메이크 파일 등의 업데이트로 이어집니다.

요약 : 하나 또는 두 개의 프로젝트 만 작업하는 경우 (가급적이면 너무 많은 방해없이 풀 타임) "터미널 기반 코딩"이 완전한 IDE보다 더 생산적 일 수 있습니다. 그러나 더 중요한 것에 대해 생각 에너지를 소비해야한다면 IDE는 확실히 생산성을 유지하기위한 방법입니다.

그에 따라 선택하십시오.


Emacs IDE입니다.

편집 : 좋아, 자세히 설명하겠습니다. IDE 란 무엇입니까?

시작점으로 통합 개발 환경이라는 약어를 확장 해 보겠습니다. 이것을 분석하기 위해 나는 끝부터 시작합니다.

환경은 일반적으로 관점을 둘러싼 세계의 부분을 말하는 것이다. 이 경우 모니터에서보고 (아마도 스피커에서들을 수 있음) 키보드 (및 마우스)를 통해 조작합니다.

개발 은 우리가이 환경에서하고 싶은 것이며, 원한다면 그 목적입니다. 우리는 소프트웨어를 개발하기 위해 환경을 사용합니다. 이것은 우리에게 필요한 서브 파트를 정의합니다 : 에디터, REPL에 대한 인터페이스, resp. 컴파일러, 디버거에 대한 인터페이스 및 온라인 문서에 대한 액세스 (이 목록은 완전하지 않을 수 있음).

통합 은 환경의 모든 부분이 어떻게 든 균일 한 표면 아래에 있음을 의미합니다. IDE에서는 최소한의 전환으로 다른 하위 부분에 액세스하고 사용할 수 있습니다. 정의 된 환경을 벗어날 필요가 없습니다. 이 통합을 통해 서로 다른 하위 부품이 더 잘 상호 작용할 수 있습니다. 예를 들어 편집기는 우리가 작성하는 언어에 대해 알고 기호 자동 완성, 정의로 이동, 자동 들여 쓰기, 구문 강조 표시 등을 제공 할 수 있습니다. 컴파일러에서 정보를 가져오고 자동으로 오류로 건너 뛸 수 있습니다. 그들을 강조하십시오. 모든 IDE는 아니지만 대부분의 경우 편집기는 자연스럽게 개발 프로세스의 중심에 있습니다.

Emacs는이 모든 작업을 수행하고, 광범위한 언어와 작업으로 수행하며, 사용자가 놓친 부분이있을 때마다 원활하게 확장 할 수 있기 때문에 탁월하게 수행합니다.

반례 : 메모장과 같은 것을 사용하여 개발하고, Firefox 및 XPdf를 통해 문서에 액세스하고, 셸에서 컴파일러와 디버거를 조종 할 수 있습니다. 이것은 개발 환경이지만 통합 되지는 않습니다 .


CDT 플러그인과 함께 Eclipse를 성공적으로 사용했습니다.


Emacs에 텍스트 편집기가 있으면 더 좋을 것입니다 ... :-)


Code :: Blocks 사용하십시오 . 필요한 모든 것과 매우 깨끗한 GUI가 있습니다.


Netbeans는 훌륭한 C 및 C ++ 지원을 제공 합니다. 어떤 사람들은 그것이 부풀어 오르고 느리다고 불평하지만 나는 거의 독점적으로 개인 프로젝트에 사용하고 있으며 그것을 좋아합니다. 코드 지원 기능은 내가 본 것 중 최고 중 하나입니다.


How come nobody mentions Bloodshed Devc++? Havent used it in a while, but i learnt c/c++ on it. very similar to MS Visual c++.


If you are looking for a free, nice looking, cross-platform editor, try Komodo Edit. It is not as powerful as Komodo IDE, however that isn't free. See feature chart.

Another free, extensible editor is jEdit. Crossplatform as it is 100% pure Java. Not the fastest IDE on earth, but for Java actually very fast, very flexible, not that nice looking though.

Both have very sophisticated code folding, syntax highlighting (for all languages you can think of!) and are very flexible regarding configuring it for you personal needs. jEdit is BTW very easy to extend to add whatever feature you may need there (it has an ultra simple scripting language, that looks like Java, but is actually "scripted").


If you're on Windows then it's a total no-brainer: Get Visual C++ Express.

참고URL : https://stackoverflow.com/questions/618403/what-is-the-best-ide-for-c-development-why-use-emacs-over-an-ide

반응형