스스로 공부하려고 하는데요...

spark1000의 이미지

보통 프로그래머분들께서, 프로그래밍 공부하시기 위해서, 소스를 전체적으로

외우는 경우가 있나요? (마치 영어책 긴글을 달달 외우듯이...)

프로그래밍 소스 보면, /'@-_&*% } }

이런 것도 가끔 포함될 때가 있는데요,

처음 프로그래밍 하려면,

그 application 소스에, 저런 기호가 정말

엄청나게 순서가 섞여있고, 도저히 규칙성을 찾아서 외울 수가 없는데,

처음 프로그래밍 하려면, 그것을 외워야 써먹을 수는 있잖아요.

예를 들어서, /'@-_&*% } } 이런 기호를 다 외워서,

첫번째는 슬래시가 나오고 3번째에 @골뱅이가 나오고

맨 끝에는 } } 이고,

하는 등의 순서를 다른 프로그래머 분들도 다 외워서 프로그래밍에 사용하시나요?

이렇게 소스를 다 외워서는, 사용하는 것이 무리일 것 같은데,

다른 프로그래머 분들은, 어떻게 그 소스들 예를 들어 /'@-_&*% } }

와 같은 소스를 다 외워서, 프로그래밍 할 때 사용하시나요?

/'@-_&*% } } 와 같은 소스를 다 외워서 머리에 두고

사용하는 것이 아니라,

Library나, 사전 같은 곳을 통해서, 그 쪽에서 프로그래밍에 사용하실 때마다

필요한 것을 찾아서 하시는 것인가요?

snowall의 이미지

기억이 나면 기억 나는대로 쓰고, 기억이 안나면 찾아보면서 쓰죠. 기억이 나도 찾아보면서 쓰는 것이 더 좋은 경우가 많습니다.

피할 수 있을때 즐겨라! http://melotopia.net/b

익명 사용자의 이미지

프로그래밍도 규칙이 있어서 (ex: /'@-_&*% } } ) 쓰는 부분이 다 따로 있습니다

&a, *a, %s, %d, 뭐 이런것들은 따로 프로그래밍을 배워서 상황에 맞춰 사용합니다.

프로그램밍 스스로 공부 하시려면 우선 책 한권 사셔서 기초 프로그래밍 책 정독 하는걸 권합니다.

그러면 (ex: /'@-_&*% } } ) 이런게 어떨때 쓰이는 건지 아실수 있습니다.

프로그래밍은 외워서 한다기보다 습관적으로 쓰는거 같습니다.

익명 사용자의 이미지

전 프로그래밍의 "프"도 모르지만, 조금 걱정스러워서 한마디 남깁니다. 최근에 올리신 질문 몇개를 읽어보니 프로그래밍을 공부하고 싶지만 완전히 잘못 접근하고 계신 것 같습니다. 아마도 님은 프로그램 소스를 통째로 외우다 보면 자연히 프로그래밍을 배우게 된다고 생각하셨나봅니다.

그러나, 외국어를 배우는 것과 마찬가지로, 프로그래밍 역시 가장 기본적인 문법에 대한 이해가 선행되어야 합니다. 영어에 대해 어느정도 기본을 갖춘 사람이 원서를 읽어야지, abc만 아는 초등학생한테 학술적인 원서를 읽게 하면.. 전혀 도움이 안됩니다. 사실 프로그래머분들이 다른 사람이 작성한 소스를 읽어보는건 그 소스를 통해 문법을 배우기 위해서가 아니라 작성자가 구현한 원리(또는 알고리즘?)를 배우기 위해서일 겁니다.

바꿔 말하면, 소스에 포함된 여러가지 기호들의 사용 방법은 "이미 알고 있는" 상태에서 읽는 것이지 그 기호가 몇줄 몇번째 칸에 사용됐는지 통째로 외울 수도 없고 외워도 그다지 도움이 안될겁니다.

다른 분들이 추천하셨듯이, 학교/학원 등의 교육기관에 등록을 하시거나, 최소한 초심자를 위한 기초적인 프로그래밍 서적이라도 읽어보시기를 권합니다.

HDNua의 이미지

이제 꼴랑 2년 배웠지만 적어도 소스를 달달 외운 적은 없네요..
쪽지시험 볼 때 퀵 정렬처럼 헷갈리기 쉬운 부분을 인쇄해 본 적은 있지만
그마저도 문법은 다 아는 상태에서 의사 코드 읽는 식으로 봤었고.

저는 이렇게 생각했습니다.

spark1000의 이미지

정말 많은 도움이 되었습니다. 정말 감사합니다!

chadr의 이미지

프로그래밍을 한다는 것은 프로그래머가 생각하고 있는 것을 컴퓨터에게 그대로 시키도록
명령서를 만드는 것이라고 생각하시면 됩니다.

컴퓨터는 명령서에 기록된 것을 순차적으로 그대로 실행하기 때문에 명령서는 매우 명확하고
논리적으로 오점이 없어야지만 프로그래머가 생각하는대로 프로그램이 작동하게 됩니다.

따라서 가장 중요한건 논리적인 사고 방식입니다.
컴퓨터에게 무엇인가를 시키려고 한다면 목적과 방법이 절차가 분명해야합니다.
두리뭉실한 목적으로는 컴퓨터에게 일을 못시킵니다. 컴퓨터는 사람과 같이 자의적 판단 능력이 없으니까요.

이러한 것을 표현하여 명령서를 작성하는 문법이 바로 프로그래밍 언어입니다.
단순히 프로그래밍 언어는 논리를 분명하고 논리적 오점이 없는 상태로 표현하는 도구에 불과합니다.

따라서 언제든지 바뀌고 목적이 다른 문법 덩어리인 코드를 외울 필요도 없고 외우지도 못합니다.
그렇게 때문에 프로그래머는 코드를 외우지 않고 긴 코드를 함수로 만듭니다. 그리고 함수의 작동 방식만 외웁니다.

저 또한 서점에 흔하게 있는 초보자를 위한 얇은 프로그래밍 서적을 정독하시길 추천합니다.
얇은 것을 정독하시고 그걸 기반으로 프로그램을 만들어보시면 뭔가 부족함을 느끼실 겁니다.
그때 부족한 부분을 설명하는 다른 좀더 두꺼운 책을 읽으시고 이를 반복 하시면 됩니다.

이렇게 하다보면 시간이 오래걸리는게 아닌가 싶으실지도 모르겠지만 이게 정상적인 방법입니다.
천재라면 저 사이클이 매우 짧아서 금방 배우는 것이 보통 사람과 다른점입니다.

-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.

jw8704의 이미지

님이 지금 프로그래밍을 전혀 모르시기 때문에 갖게되시는 질문 같습니다.

프로그래밍 코드를 문자로만 본다면 님이 말씀하신것처럼 그런식으로 이해해야하는것이 맞을수도있습니다.
하지만 프로그래밍 언어를 공부하다보면 그 언어만의 규칙과 논리가 있습니다.
따라서 기본적으로 그 규칙과 논리를 외우거나 이해하면 님이 지금 보시는 그러한 낮선 문자들이 규칙적으로 보이게됩니다.

그리고 대부분의 프로그래밍 책에는 예제소스와 결과가 포함되어있습니다.

이런 예제소스를 실행하고 결과를 보고 , 또 다른 예제소스를 실행하고 결과를 보면서 학습하고 인식하는것입니다.
아,이건 이런기능을 하는구나, 아 , 이건이런기능을하는구나.. 하고요..
이런학습능력이 없다면 적성이 안맞는것일수도 있습니다.

그러다보면 외워지고 익숙해집니다. 모를때 어렵지만 알고나면 잘짜여진 논리와 규칙에 의해서 쉽게 이해되는것들이 많습니다.

댓글 달기

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