C개발에 최적인 IDE는 무엇입니까?IDE보다 Emacs를 사용하는 이유
그래서 아까 질문했던 대로 C 스킬을 연마하고 있습니다.
C를 개발하기 위해 사람들은 무엇을 사용하는가?
많은 사람들이 Emacs를 사용하고 있으며 수년 전부터 사용하고 있습니다만, Geany나 KDevelop 같은 IDE를 사용하는 것보다 Emacs를 배우는 것이 더 좋을까요?
또, emacs를 사용하고 있는 유저로부터, 왜 다른 앱보다 그것을 사용하고 있는지 듣고 싶은가.
저는 무료 IDE/에디터에만 관심이 있습니다.
편집:
몇 가지 질문에 대한 답변을 제공하는 링크를 게재해 주셔서 감사합니다만, 정말로 궁금한 것은 다음과 같습니다.
emacs/vim을 사용하여 편집하는 방법과 gcc-toolchain을 사용하여 컴파일/디버깅하는 방법을 학습하는 것이 단순히 IDE를 사용하는 것이 아니라 가치가 있는지, 그 이유는 무엇입니까?
IDE로 이행하지 않는 이유는 무엇입니까?
터미널 중심의 개발에서 IDE 개발로 이행한 사람이 있습니까?그 이유는 무엇입니까?
처음에는 IDE, Microsoft, 또는 Microsoft를 사용하고 있지 않습니다.그리고 얼마 전 QNX에서 작업하던 중 텍스트 에디터 + 컴파일러/링커로 작업을 하게 되었습니다.이 심플한 조합(에디터+C 컴파일러와 링커 cli+make를 강조표시하는 구문)을, 환경이 허락하는 경우라도, 어느 IDE에도 추천합니다.
이유는 다음과 같습니다.
사방에 널려구요C로 프로그래밍하면 컴파일러가 있고 보통 에디터를 얻을 수 있습니다.가장 먼저 해야 할 일은 Linux 또는 Windows의 Notepad++를 사용하는 것입니다.vi를 사용하고 싶지만 GUI 에디터는 더 나은 글꼴을 제공합니다.그리고 그것은 코드를 하루 종일 볼 때 중요합니다.
필요할 때 ssh를 통해 원격으로 프로그래밍할 수 있습니다.또한 타겟에 접근하여 신속하게 작업을 수행할 수 있는 것이 도움이 될 수 있습니다.
CLI, 특히 UNIX/Linux CLI에 근접할 수 있습니다.모든 명령어를 쉽게 사용할 수 있기 때문에 필요할 때 참고서를 읽을 필요가 없습니다.또한 UNIX CLI는 IDE에서는 거의 할 수 없는 일을 할 수 있습니다.개발자가 필요로 하지 않는다고 생각했기 때문입니다.
가장 중요한 것은 매트릭스를 원시 코드로 보는 것과 매우 유사하다는 것입니다.나는 파일을 조작하기 때문에 파일을 관리하기 쉽게 할 수 밖에 없다.코드의 내용을 수동으로 찾고 있기 때문에 심플하고 정리된 상태를 유지할 수 있습니다.Configuration Management를 명시적으로 실행하므로 언제 어떻게 동기화되는지 알 수 있습니다.내가 Make files를 쓰는 이유는 내가 시키는 대로만 하기 때문이다.
('진짜 큰 프로젝트'에서 효과가 있는지 궁금하다면 효과가 있습니다.프로젝트가 클수록 퍼포먼스가 향상됩니다)
사람들이 코드를 보라고 할 때, 나는 그들이 사용하는 IDE를 배울 필요가 없다.
대부분의 프로젝트에서 터미널 텍스트 에디터+make 환경에서 Eclipse로 전환했습니다.C와 C++부터 Java와 Python까지 제가 현재 사용하고 있는 언어를 몇 가지 들 수 있습니다.
그 이유는 단순히 생산성이었다.다른 일이 중요해질수록 모든 프로젝트를 머릿속에 저장하는 데 시간과 노력을 들일 여유가 없었습니다.
「하드코어」접근법(단말기)을 사용하면, 자기 자신과 코드와의 사이에 한층 더 얇은 레이어가 생기는 등, 프로젝트의 「내부」에 「모든 것이 머리 위에 있는 경우」에 의해서, 생산성이 향상하는 것이 있습니다.하지만 다른 곳에서 당신의 마음이 필요할 때 단지 그것만을 위해 일하는 방식을 옹호하는 것은 불가능하다고 생각합니다.
보통 명령줄 도구를 사용할 때는 생산성을 저해하는 많은 보일러 플레이트 문제를 해결해야 합니다.툴의 잠재력을 최대한 활용하려면 툴에 대해 자세히 알아야 합니다.또한 프로젝트를 유지하려면 훨씬 더 많은 노력이 필요합니다.리팩토링으로 인해 메이크 파일 등이 갱신됩니다.
요약:1개 또는 2개의 프로젝트(가능하면 풀타임으로 작업하는 것이 좋음)만 하는 경우, 「단말기 베이스의 코딩」은, IDE 를 완전하게 사용하는 것보다 생산성이 높아집니다.다만, 보다 중요한 것에 사고력을 소비할 필요가 있는 경우는, 생산성을 유지하기 위해서 IDE를 선택하는 것이 가장 좋은 방법입니다.
그에 따라 선택을 하세요.
CDT 플러그로 이클립스를 잘 사용하고 있습니다.
왜 아무도 Bleady Devc++에 대해 언급하지 않는 거죠?오랜만에 써봤는데 c/c++를 배웠어요.MS Visual c++와 매우 유사합니다.
Emacs는 IDE입니다.
편집: 네, 자세히 설명하겠습니다.IDE란?
시작점으로 다음 약자를 확장해 보겠습니다.통합 개발 환경이것을 분석하기 위해서, 저는 처음부터 시작합니다.
환경은, 일반적으로, 시점을 둘러싸고 있는 세계의 일부입니다.이 경우는, 모니터에 표시되는 것(스피커로부터 들리는 것 같음)과 키보드(마우스도 있는 것 같음)를 사용해 조작할 수 있습니다.
개발은 우리가 이 환경에서 하고 싶은 일이고, 원한다면 그 목적입니다.우리는 소프트웨어를 개발하기 위해 환경을 이용한다.필요한 서브 파트(에디터, REP에 대한 인터페이스, response)를 정의합니다.컴파일러, 디버거 인터페이스 및 온라인 문서 접근(이 목록은 완전하지 않을 수 있습니다).
통합이란 환경의 모든 부분이 어떤 식으로든 균일한 표면 아래에 있음을 의미합니다.IDE에서는 최소한의 스위칭으로 다양한 서브부품에 액세스하여 사용할 수 있으므로 정의된 환경을 그대로 유지할 필요가 없습니다.이러한 통합을 통해 서로 다른 하위 부품이 더 잘 상호 작용할 수 있습니다.예를 들어, 편집자는 우리가 쓰는 언어에 대해 알 수 있으며, 우리에게 자동 완성, 정의로의 점프, 자동 표시, 구문 강조 표시 등을 제공할 수 있습니다.컴파일러로부터 정보를 취득해, 자동적으로 에러를 찾아내 강조 표시할 수 있습니다.모든 IDE는 아니더라도 대부분의 경우 에디터가 개발 프로세스의 중심에 있습니다.
Emacs는 이 모든 작업을 다양한 언어와 태스크로 수행할 수 있습니다.사용자가 놓치는 모든 장소에서 심리스하게 확장할 수 있기 때문에 뛰어난 성능을 발휘합니다.
반례: 메모장과 같은 것을 사용하여 개발하거나 Firefox와 XPdf를 통해 문서에 액세스하거나 컴파일러와 디버거를 셸에서 조종할 수 있습니다.이것은 개발 환경이지만 통합되지는 않습니다.
Windows 를 사용하고 있는 경우는, 지극히 간단합니다.Visual C++ Express를 가져옵니다.
텍스트 에디터가 있으면 Emacs가 더 좋을 텐데... :-)
코드 사용:블록은 필요한 모든 것을 갖추고 있고 매우 깨끗한 GUI를 갖추고 있습니다.
Netbeans는 C와 C++를 매우 지원합니다.더부룩하고 느리다고 불평하는 사람도 있지만, 저는 거의 개인 프로젝트 전용으로 사용하고 있고, 매우 좋아합니다.코드 지원 기능은 제가 본 것 중 최고입니다.
자유롭고 멋진 크로스 플랫폼 에디터를 찾고 있다면 Komodo Edit을 사용해 보십시오.Komodo IDE만큼 강력하지는 않지만, 그렇다고 공짜도 아니다.기능 차트를 참조해 주세요.
확장 가능한 다른 무료 에디터는 jEdit입니다.100% 순수 자바인 크로스 플랫폼.지구상에서 가장 빠른 IDE는 아니지만 Java에서는 매우 빠르고 유연하며 외관상으로는 그다지 좋지 않습니다.
둘 다 매우 정교한 코드 폴딩과 구문 강조 표시(생각할 수 있는 모든 언어용)를 갖추고 있어 개인의 필요에 맞게 구성할 수 있습니다.jEdit은 BTW로 확장하기 매우 쉬우며, 필요한 기능을 모두 추가할 수 있습니다(Java와 비슷하지만 실제로는 스크립트 언어입니다).
언급URL : https://stackoverflow.com/questions/618403/what-is-the-best-ide-for-c-development-why-use-emacs-over-an-ide
'source' 카테고리의 다른 글
| 여러 Atribut을 사용하지 않고 semantic-ui-vue 드롭다운에 플레이스 홀더를 표시하려면 어떻게 해야 합니까? (0) | 2022.08.20 |
|---|---|
| VueJs에서 3진 연산자를 사용하는 방법 (0) | 2022.08.20 |
| 함수에서 char[]/string을 반환합니다. (0) | 2022.08.20 |
| 프로그래밍에서 "원자"는 무엇을 의미합니까? (0) | 2022.08.20 |
| hashCode()를 덮어쓰는 객체의 고유 ID를 얻으려면 어떻게 해야 합니까? (0) | 2022.08.20 |