컴퓨터 앞에 앉아있을 때 문제를 해결할 수 없다면 괜찮습니까? [닫은]


12

나는 취미 프로그래머와 초보자입니다. 대부분의 경우 컴퓨터 앞에 앉아있는 동안 문제를 해결할 수 없습니다. 예를 들어, 한 숫자가 다른 숫자의 거듭 제곱인지 확인하려고했습니다. 펜과 종이를 잡고 문제를 분석 할 때까지 해결책을 찾을 수 없었습니다. 대략 3 분 안에 나는 그것을 해결하고 파이썬으로 스크립트를 작성했습니다.

때로는 컴퓨터 앞에 앉아있는 동안 문제를 해결할 수 있지만 약간의 어려움이 있습니다. 그 확인은?


6
나에게 이것은 문제가 너무 나쁘지 않으며 실제로 많은 사람들이 컴퓨터를 너무 많이 쳐다보고 결국이 문제가 더 적다는 것을 깨닫지 못합니다. 많은 전문 프로그래밍은 일반적으로 숙제 과제로 주어진 까다로운 논리 공식 대신 매우 썩은 변화를 수반 할 것입니다. 적어도 그것을 달성 할 수 있다면 큰 문제는 아닙니다.
Katana314

2
프로그래밍에 대해 더 이해하기 쉽게 질문을 다시 작성하고 싶을 수도 있습니다.
Snoop

8
이것은 완전히 주관적입니다. 모두가 다르게 배우고 일합니다. 당신을 위해 일하는 것을하십시오.

7
컴퓨터 앞에는 문제를 해결하기 위해 최악의 장소가 될 수 있습니다. 생각할 때 타이핑을 시작하기에 너무 유혹 적이기 때문입니다. 종종이 당신을 강제하기 때문에 컴퓨터에서 방법은 더 나은 점점 생각 하지 행동 . 가장 어려운 문제는 대부분 아침에 사무실로 걸어서 해결되었습니다.
로봇 고트

2
또한 문제가 얼마나 어려운지에 대한 질문도 있습니다. 더 많은 경험을 얻으면 이제 어려운 일부 문제가 쉬워집니다. 그러나 그것은 당신이 훨씬 더 어려운 것을 해결한다는 것을 의미합니다. 나 자신을 위해 하이킹이나 크로스 컨트리 스키를 타면서 정말 어려운 것들을 많이 풀었다.
jamesqf

답변:


34

가장 어려운 문제를 해결하는 경향이 있습니다.

  • 화이트 보드 앞에서 (때로는 아무 것도 그리지 않고 문제를 시각화하는 방법에 대한 생각만으로도 때때로 해결책이 생길 수 있음)
  • 동료에게 설명하면서
  • 창 밖을 보면서
  • 산책하는 동안
  • 샤워 중
  • 화장실에서

모니터에서 벗어나는 것은 구현을 입력하는 것이 아니라 문제 자체에 집중하는 데 종종 도움이됩니다.

문제 해결은 머리에서 발생합니다. 프로그램 코드를 입력하면 솔루션을 컴퓨터에 설명하는 방법 일뿐입니다.


1
감사합니다! 당신이 옳습니다. 컴퓨터에서 멀어 질수록 문제에 더 집중할 수 있습니다.
Mahmood Muhammad Nageeb

2
책상에 고무 오리를 두는 것을 제안한 책을 읽은 것을 기억합니다 (불행히도 기억이 나지 않습니다).
로봇 고트

7
@StevenBurnap 이것은 고무 오리 디버깅 이라고 하며 Addison Wesley 의 Pragmatic Programmer 에서 읽을 수 있습니다 .
Philipp

2
"프로그램 코드를 입력하면 솔루션을 컴퓨터에 설명하는 방법 일뿐입니다." – Alan Perlis는 다음과 같이 말했다. 코드를 입력하는 것은 동료 에게 솔루션을 설명하는 방법 일뿐 입니다. 모든 사람 (자신을 포함하여 6 개월 후)이 이해할 수있는 방식으로 솔루션을 모호하지 않게 설명한다는 사실은 기계에 의해 실행 가능해지며 엄격하게 기술 된 것의 부작용 일뿐입니다. 모호성이 없을 정도로 충분합니다. …
Jörg W Mittag

4
다시 : 고무 더킹. 테디 베어와 비슷한 이야기가 있습니다. MIT의 교사들은 사무실 밖에서 곰 인형을 앉 히곤했습니다. 곰에게 문제를 설명한 후에 만 ​​노크가 허용되었습니다. 학생들의 절반은 문을 두드리지 않았으며, 문제를 곰에게 설명하면서 문제를 알아 냈습니다. StackExchange에 대해 잘 작성되고, 연구가 잘되고, 형식이 지정되고, 상세하고, 고품질의 질문을 구성 하는 것은 동일한 효과를 가질 수 있습니다 .
Jörg W Mittag 1

7

나는 이것이 좋은 질문이라고 생각합니다. 내가 이것을 해석하는 방법에서, 당신이 묻는 것은 "컴퓨터에서 주기적으로 물러나도 괜찮습니까?"

나는 일어나서 다른 사람에게 다른 사람들이 생각하는 것을 물어볼 필요가없는 날이 있다고 생각하지 않는다. 또한 프로그래밍에 더 익숙해지면 미리 다이어그램 / 아키텍처를 만들 때까지 코드 작성을 시작하지 않을 수도 있습니다.

대학에있을 때 데이터 구조 과정을 수강하고 정렬 알고리즘을 설계하는 데 문제가있었습니다. 교수님에게 도움을 요청했을 때, 나는 그 문제에 대해 미리 생각하지 않았다는 것을 알았습니다. 그가 저에게 처음으로 말한 것은 아직 코드 작성을 시작할 준비가되지 않았다는 것입니다. 그래서 그는 종이 한 장을 꺼내서 두 정사각형을 그리고 배열에서 숫자를 넣었습니다. 다음으로 그는 사각형을 움직일 때 몇 장 더 그림을 그리고 정렬 알고리즘이 어떻게 작동하는지 시각적으로 보여주었습니다.

마음을 정리하고 문제를 해결하기 위해 할 수있는 일 :

  • 휴식을 취하다
  • 동료와 대화
  • 문제 / 개념 화이트 보드
  • 잠 들어!

한밤중에 해결책으로 일어나더라도 놀라지 마십시오.


1

가능하다면 효율적인 전문 프로그래머 / 개발자가 되려면 반드시 도움이 될 것입니다. 그러나 솔루션을 프로그램 논리로 변환하는 동안 문제에 대해 생각하면 IMHO에는 교육이 필요하므로 이러한 작업을 직렬화해도 아무런 문제가 없습니다. 두 가지를 모두 성공적으로 완료해야합니다. 코드를 작성 하기 전에 처음부터 끝까지 솔루션을 생각 하면 장점이 있지만,이를 위해서는 다소 인내심이 있어야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.