GUI 프로그래밍은 언제 시작해야 할까요?

moowoo의 이미지

안녕하세요.
한참 프로그래밍을 배워 나가고 있는 초보입니다.

보통 주위 선배들이나 친구들을 보면 어떤 프로그램을 계획할
때 일단 GUI에서 돌아가는걸 만들어야 프로그램이다 라는 고정
관념이 박혀 있어서 인지 GUI를 고집하더군요.

그런데 저는 아직 GUI환경(MFC, 윈도우 API)를 써서
프로그래밍 해본적도 없고 할 줄도 모릅니다.
제 생각은 일단 text 환경에서 제대로 돌아가는 프로그램을
만들 수 있는 실력이 되면 그때 GUI환경에서 돌아가는 프로
그래밍을 시작하고 싶거든요.

여기 KDLP분들은 언제부터 GUI 환경으로 프로그래밍을 시작하셨
는지 궁금하네요.

Bini의 이미지

gui 프로그래밍이라고 특별하거나 어려운건 없읍니다.
또 꼭 언제 시작해야된다는 그런것도 없을뿐더러 그런 강박증에 얽매일 필요도 없읍니다. 그냥 재미삼아 배워보시면 됩니다.

처음 배울때는 재미있을런지는 몰라도 솔직히 꾸미는데 관심이 없는 사람이라면 지루하고 짜증나는 경우가 많고 배보다 배꼽이 큰경우가 다반사입니다. 자동화된 생성툴을 사용하는 경우가 아니라면
일일이 레퍼런스를 보고 예제코드를 찾아보고 해야하기때문에 개인적으로는 별로 좋아하는일이 아닙니다 :?

시작해보실려면 자동화된 GUI생성툴을 사용하지 마시고 손으로 하나하나 코딩하는 방식을 택하시기 바랍니다. 그리고 C같은 언어를 사용하기보다는 Python이나 Perl같은 스크립트언어가 훨씬 배우기에 재미있고 용이합니다.
개인적으로 GUI를 처음배우기에 제일괜찮은
조합은 Python+Tkinter, Python+wxWindows, Python+Qt같은 조합이 아닐까 생각합니다.
일단 어느하나라도 배우시면 GUI프로그래밍 이라는게 뭐라는 감을 충분히
잡으실수 있을겁니다.

ssehoony의 이미지

저역시 gui 를 배우기 시작하는 시기가 특별히 따로 있다고 생각지 않습니다.
cui 보다 gui 를 먼저 시작한다고 이상할 거 없습니다.
다만 대부분의 gui 프로그래밍은 라이브러리 사용법이 복잡합니다.
가령 MFC 라면 MFC 라이브버리가 구축해 놓은 프레임워크를 이해해야 합니다. 일단 이해를 하면 text 기반 보다 더 쉽게 코딩이 가능하지요. (필요한 라이브러리가 잘 갖추어져 있으니깐요)
MFC 구조가 복잡해서 C++ 이 익숙하다면 이해할때 조금 쉬울뿐이지 어려운건 맞찬가지 입니다.

볼랜드 C++ 빌더의 경우는 MFC 에 대응하는 VCL 을 사용하는데 이는 MFC 보다 은익을 잘 했고 IDE 를 잘 구성해서 VCL 의 규칙을 거의 이해하지 않은 코딩이 가능합니다. (전문적으로 가다 보면 양쪽다 내부구조를 이해해야 하므로 어렵운건 비슷하져)
빌더의 경우는 Text 기반보다 오히려 더 시작하기 쉽다고 생각합니다. 개발을 상당히 직관적으로 할 수 있도록 해놨거든요.
대신 많은 은익과 규칙으로 인해 나중에 저수준으로 접근하려고 하면 MFC 보다 오히려 골치 아파지는 문제가 발생하지요.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.