C++, Python IDE 관련..

iamoon의 이미지

저는 VC++ 6.0 으로 하드웨어를 컨트롤 하는 프로그램을 만들고 있습니다.

한 7년 전에 VC++, VBA, Visual Lisp (AutoCad 에서 실행)을 이용한 엔지니어링 프로그램을 했었구요..

그 후, Python 과 wxPython 등을 이용한 엔지니어링 프로그램을 만든 경험이 있습니다.

몇년동안 다른 일을 하고 다시 프로그래밍 세계로 한쪽발을 담그는 중인데요..

그동안 Python, VC++ 등 개발환경이 많이 업그레이드 된 것 같다는 생각이 듭니다.

그리고, 그때는 책도 몇권 없던 파이썬도 많이 사용되는 것 같아, 이 기회에 파이썬, 리눅스로 옮겨가고 싶기도 합니다.

궁금한 점은...

1.. Embeded C++, GUI C++ 등을 구현하기 위한 IDE가 VC++ 말고 어떤 것이 좋을지요.. (현재는 넷빈을 고려중입니다. Visual 계열은 너무 에러가 많아서)

2.. Embeded 프로그램을 하는 데 파이썬은 어떤 위치를 차지하는지요..

3.. GUI 관련해서는 Qt가 좋을 지, GTK가 좋을 지..

4.. 넷빈을 잠깐 스터디 했는데요.. VC++만 하다보니 이런 걸 빨리 빨리 적응해서 쓰기가 힘드네요.. 무슨 좋은 방법이 있을런지요..

5.. 비 전공자가 VC++, database, TCP 등의 기본적인 골격을 공부하려면 어떤 책들을 어떤 순서로 보는 게 좋을지요.. (참고로 저는 토목 전공입니다.)

6.. 업무하고 큰 연관은 없지만 3D 프로그램인 Blender 도 조금씩 하고 있는 데요, 여기서도 파이썬 스크립트를 지원합니다.

너무 질문이 많은가요?.. ^^

고수님들의 의견을 부탁드립니다.

sblade의 이미지

1. 범용으로는 netbeans 나 eclipse 등이 있는데 둘 다 자바에 최적화된 IDE 들입니다. (eclipse cdt 의 경우 상당히 괜찮습니다.) 리눅스에서 Qt 개발이면 kdevelop 도 괜찮습니다. 그런데 visual studio 가 에러가 많다는 말은 이해하기 힘드네요. windows 환경에서 작업한다면 (MS 에 대한 호불호를 떠나서) visual studio 만한게 없는 것 같습니다.

2. 위치는... 없다고 봐야 합니다. 특정 task 에 특화된 특수 언어들을 제외하면 embedded 환경에서 c 이외에 다른 언어는 효용성이 제한됩니다. 플랫폼이나 하드웨어에 따라 c++ 을 쓸 수 있거나 java 를 쓸 수 있는데 python 을 쓸 수 있는 경우는 거의 없고, 리소스 제한적인 embedded 의 특성상 돌릴 수 있다고 해도 퍼포먼스가 만족스럽지 못합니다. python 을 써 본 경우는 Nokia mobile 기기 (심비안 혹은 리눅스) 를 제외하고는 없는 것 같네요.

3. 장단점이 있는데, 일반적으로는 Qt 가 문서화가 잘 되어 있고, C++ 이고, abstraction 이 잘 되어 있어서 시작하기 좀 더 쉽습니다. 포팅도 gtk 보다 유연한 편입니다 (gtk 도 괜찮습니다.) 그런데 비슷한 걸 만들면 abstraction 때문에 gtk 에 비해 GUI 가 덜 부드러운 감은 있습니다. 둘 다 쓰기 나름입니다. 가장 손쉬운 결정법으로는 gnome 기반 리눅스와 kde 기반 리눅스의 스크린샷을 찾아보고 외관이 맘에 드는 쪽으로 고르는 방법이 있습니다. :-)

4. 5. 그냥 필요한 게 있을때 인터넷 찾아보면서 하는게 가장 빠르고 효율적으로 배울 수 있지 않나요? VC++, DB, TCP 모두 프로그래밍 이론, DB 이론, 네트워크 이론을 공부하는게 아니라면 그냥 툴일 뿐입니다.

iamoon의 이미지

질문을 하면서도 좀 찜찜했는데, 역시나 우문 현답인 것 같습니다.

진도를 나가면서 구체적인 질문을 드리겠습니다.

감사합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.