아빠는 프로그램을 배우는 속도에 초조합니다. 어떻게해야합니까? [닫은]


200

그래서 아빠는 한 달 전에 프로그래밍 (C ++, Java, PHP, Javascript, Android)에 관한 5 권의 책을 샀습니다. 그는 건축가이며 프로그래밍에 대해 전혀 아는 것이 없습니다. 프로그래밍이 재미 있었고 배우고 싶었 기 때문에 저를 사주었습니다.

아시다시피, 아이가되고 (14 세) 둔한 책에서 프로그래밍을 배우라는 말을 듣는 것이 가장 쉬운 방법은 아닙니다. 나는 항상주의가 산만 해지고있다. 나는 그에게 책을 살 필요가없고 온라인 자습서를 볼 수 있다고 전에 그에게 말했다. 그러나 그는 너무 구식이다. 그는 단지 책을 사용하게 해주었습니다.

최근에 그는 내가 한 일을 묻기 시작했으며, 내가 입력 한 것을 가져 와서 각 문자에 값을 할당하는 C ++ 프로그램을 보여주었습니다 (A는 알파벳의 첫 번째 문자이므로 값을 얻습니다) 1) .. 등등. 그런 다음 모든 값을 합산하여 알려줍니다. 따라서 "add"라는 단어의 값은 9입니다.

^^ 그에게는 그다지 인상적이지 않았습니다. 그는 나에게 소리를 지르며 내가하고있는 모든 일이 망치고 있다고 말했다. 그건 사실이 아니야. 그는 매우 전통적이고 완고하며 내가해야 할 말을 듣지 않습니다. 그에게 무엇을 말해야합니까?

추신 : 책에 구역 설정에 대한 팁이 있으면 알려주십시오.

편집 : 모두에게 감사합니다. 내 상황을 이해하는 사람들이 있다는 것을 아는 것이 얼마나 큰 의미인지 전혀 모릅니다. 나는 모든 것을 읽었으며 모든 사람의 의견을 고려할 것입니다. 그라시아 스!


15
해설자 : 의견은 설명을 확대하기위한 것이지 확장 된 토론을위한 것이 아닙니다. 해결책이 있다면 답을 남기십시오. 솔루션이 이미 게시 된 경우 투표하십시오. 이 질문에 대해 다른 사람들과 논의하고 싶다면 chat을 사용하십시오 . 자세한 내용 은 FAQ 를 참조하십시오.

7
그건 그렇고, 당신은 그 에게이 실을 보여 주어야합니다. 그가 당신의 진보에 대한 전문 프로그래머의 의견을 본다면, 그와 함께 갈 수 있습니다.
수집가

15
@David 그것은 전통적이지 않습니다. 그것은 끔찍한 부모이자 이기적인 사람입니다. 이 시점에서 그는 실제로 당신이 성공하기를 원하지 않거나, 당신과 함께 구덩이에있을 것입니다. 그는 정말 성공적인 아이의 아빠가되고 싶어합니다. 불행히도 당신의 아버지이기 때문에 당신이 할 수있는 일은 거의 없습니다. 당신은 무례 할 수 없습니다. 내가 말하고 싶은 것은 얼굴을 찡그리며 견뎌낸 다음, 학업을 시작할 때가되면 멀리서 아이비 리그를 선택하십시오.
리 루비 에르

15
나는 이것이 주제가 아닌 것이 놀랍지 않지만, "비 주제이지만 어쨌든 지키기"에 대한 태그 / 플래그를 갖고 자하는 질문 중 하나입니다. :)
Cyclops

12
아빠에게 14 살 때 무슨 일이 있었는지 물어보세요
CodeART

답변:


197

나는 내가 만든 C ++ 프로그램을 보여 주었고 입력 한 것을 취한 다음 각 문자에 값을 할당했습니다 (A는 알파벳의 첫 번째 문자이므로 1의 값을 얻습니다). 그런 다음 모든 값을 합산하여 알려줍니다. 따라서 "add"라는 단어의 값은 9입니다.

아빠와 어떻게해야할지 모르겠습니다. 그러나:

당신이 혼자서 이런 짓을하면, 책에서 학습, 처음부터 시작 한 달 , 그것의 빌어 먹을 인상적. 그리고 가장 무서운 프로그래밍 언어 중 하나 인 C ++에서이 작업을 수행했습니다.

인터뷰를하면서 프로그래밍 작업을 진지하게 시도하는 사람들이 상당히 많습니다. 참조 이야기를.

나는 단지 당신이 즐기는 것을 계속하고 제안 할 수 있습니다. 이런 맥락에서 아빠를 무시하십시오. 그는 자신이 무슨 말을하는지 모른다. 프로그래밍에 능숙하고 배우려는 의지가 있습니다. 훌륭한 프로그래머가되기위한 주요 요소입니다.


8
예, 나는 애매하게 배우고 있습니다 (특정 프로그램은 약 60 개의 두통을주었습니다).
David

8
@ 데이비드 : 그가 건축가 감안할 때, 그가 가지 방법에 대해 관심이 있음을 이해할 . 그러나 프로그래밍에 대해 전혀 모른다면 비판해서는 안됩니다. 소프트웨어의 그래픽, 모양 및 느낌은 빙산최고입니다 .
Joonas Pulakka

12
진심이야? "Fatbooth"에는 몇 가지 털이 많은 그래픽 조작 알고리즘이 있습니다. 당신의 아버지가 당신이 얼굴 인식을 습득하기를 원한다면, 그는 그것에 관한 책을 구입해야합니다. 사용하기 쉽기 때문에 쉬워 보일 수 있지만 생각보다 달성하기가 더 어려워 60여 개의 두통이 합쳐집니다. "Fatbooth"와 같은 응용 프로그램이 수행하기 쉽다고 가정하면 프로그래머에게는 심각한 (비밀) 모욕이됩니다.
Spoike

121
빌어 먹을 인상 +1 . 특히 당신이 어디에서 왔는지 고려하고 있습니다. 아빠가 공예품을 처음부터 배우고 나서 한 달 후에 아빠가 얼마나 많은 건물에 참여했는지, 혼자서 일하는 것이 훨씬 적은지 물어보십시오. 그가 관련시킬 수있는 용어를 넣으십시오.
CVn

13
@Joonas : 그래픽 디자인, 사용성 및 인터페이스 디자인은 일반적으로 프로그래밍 과 거의 관련이없는 모든 분야입니다 .
Toby

88

Peter Norvig 의이 게시물 을 보여 주세요 . Norvig는 Google의 R & D 책임자이며 Stanford, 특히 인공 지능을 가르치며 AI에 대한 표준 입문 책 을 썼습니다 . 얼마나 오래 일했습니까? 나는 C ++과 같이 가시가 많은 추가 지침이없는 초보자가 한 달 동안 일한 후에 그 이상을 기대하지 않습니다. 배울 가치가있는 것은 잘 배울 가치가 있습니다.


83
  1. 아빠는 아마도 당신이 세상에서 가장 똑똑한 아이라고 생각할 수도 있고, 당신이 좋아한다고 말한 것을 배우도록 돕기 위해 노력하고 있습니다.

  2. 아빠가 의심 할 여지없이 잘못하더라도 (5 가지 완전히 다른 주제가 아이를 한꺼번에 던질 수있는 것은 많음), 그는 또한 어느 정도 옳습니다. 많은 사람들이 웹에서 찾은 "자습서"를 모방하여 프로그래밍을 선택하려고합니다. 항상 나쁜 것은 아니지만 IMO는 일반적으로 확실한 이해를 이끌어 내지 않습니다. 올바른 책은 기초를 먼저 가르쳐 줄 것입니다. 화려하게 완성되는 튜토리얼을 따르는 것만 큼 재미 있지는 않지만 장기적인 성공의 기회는 길어지고 stackoverflow.com에 대한 질문의 수는 줄어들 것입니다.

  3. 적어도 지금은 책 중 하나를 제외한 모든 것을 잊어 버리십시오. 이미 C ++로 시작한 것처럼 들리므로 원하는 경우 계속하십시오.

  4. 때때로 낙담 할 것입니다. 때로는 프로그래밍의 절반이 멈추고 다른 절반이 멈추지 않는 것처럼 느껴집니다. 방해를받지 않는 것은 귀중한 기술이며, 연습을 많이할수록 더 나아질 것입니다. (처음에 갇히는 것을 피하는 것도 귀중한 기술이므로 연습하십시오.)

  5. 첫 번째 컴퓨터 언어를 배우는 것은 건물을 설계하는 것이 무엇인지 배우는 소프트웨어 개발입니다. 가장 흥미로운 부분은 아니지만 필요한 기술입니다.

  6. 그가들을 수있게한다면, 작은 프로그램을 작성하기 위해 배워야했던 모든 것들을 분석하십시오. 도구 사용법을 배우는 데 시간이 걸리며 모든 도구가 어떻게 작동하는지 반드시 이해하지는 못합니다.

  7. 이제 간단한 프로그램을 실행하는 시점에 도달했고, 약간의 C ++을 배웠습니다. 어떤 재미있는 작은 프로그램을 작성할 수 있습니까? 이자율, 대출 금액 및 대출 기간을 수락하고 지불 일정을 인쇄하는 대출 계산기는 어떻습니까? 또는 "H2SO4"또는 "C6H12O6"과 같은 분자식을 읽고 분자의 무게를 인쇄하는 계산기? 이미 작성한 프로그램보다 그렇게 복잡하지 않습니다.


47
+1 "책 중 하나만 빼고"
PA.

9
훌륭하고 실용적인 아이디어를 위해 +1 학습 할 때 가장 어려운 부분은 종종 새로운 정보에 질식되는 동시에 프로젝트에 대한 아이디어를 내놓는 것입니다.
Morgan Herlocker

5
+1 "아버지 기억하십시오 ..."아버지의 견해를 갖고 있기를 좋아합니다. 다윗의 열정을 돕고 자하는 그의 열의를 질식시키는 경우에도 마찬가지입니다.
John MacIntyre

7
아빠를 참여 시켜서 작은 건축 문제 해결 / 계산 도구를 만드십시오!
Vaibhav Garg

3
첫 번째 포인트에 +1 부모가 자녀를 세상에서 가장 똑똑하다고 생각하는 것이 매우 중요 하다고 생각합니다 . 결국 그러한 태도가 아니라면 한 달 만에 OP가 그다지 많지 않았을 것입니다. 그러나 OP에 많은 두통을 주면 오버 헤드 일 수 있습니다.
Anton Strogonoff

53

프로그래밍이 재미 있었고 배우고 싶었 기 때문에 저를 사주었습니다 . ... 그에게 무엇을 말해야합니까?

"아빠, 이것에 대한 당신의 접근은 절대적으로 재미있게 프로그램하는 법을 배우는 입니다.


4
최선의 조언이 아닙니다. 아빠는 그런 식으로 다시 대답하고
싶지 않아

1
그렇다. 그러나 OP가 단지 거기에 앉아서 가져 간다면 아빠는 그가 옳은 것처럼 느낀다. 그의 아이는 결국 열심히 일하지 않았습니다. 아이는 어느 시점에서 발언해야하므로 아버지는 자신이 얼마나 열심히 일하는지 알게 될 것입니다.
Kevin

1
@CyprUS True, 그러나 나는 robotics라는 단어를 울부 짖습니다. 일년 전 내 인생의 사랑이었습니다. 레고 마인드 스톰 키트에는 RobotC가 설치되어있었습니다. 아빠가 "진짜"기어와 모터를 얻어 로봇 팔처럼 "진짜"무언가를 만들라고했을 때까지 그것을 좋아했습니다. 열정으로 로봇 공학을 싫어하십시오.
chandsie

48

건축가로서 그는 반드시 다리를 당기거나 무례해야합니다.

그가 시작했을 때 그에 대해 조사해보십시오. 자세한 배관 계획으로 고층 빌딩을 그리고 재료에 대한 힘과 스트레스를 계산하고 한 달을 보낸 후 재난 위험 평가 (뱀이있는 비행기에 부딪 치는 등)를했는지 물어보십시오. 그가 당신만큼 어렸을 때 책. 아마 그를 진정시킬 것입니다.

부모님과 대화를 나눌 수있는 최선의 조언이 아닐 수도 있습니다. 장려 대신 진척을 가하는 아빠를 갖는 것은 어린 아이에게는 약간의 세금이 부과되지만 더 나은 일을 장려하는 것으로 받아들이는 것을 이해할 수 있습니다. 그는 태도에 문제가있을 수 있지만, 의도가 나쁜 것은 아닙니다.


44
또한 아빠에게 조언하십시오 (질문의 범위를 벗어 났지만) : Gordon Ramsay 태도를 버려라 . 경쟁자에게는 자신의 식당에서 요리하고 완벽하게 요리하는 법을 알아야하는 성인이 있고 고든은 기한 내에 크레딧을 제공하기 때문에 헬스 키친에서만 작동합니다. 초보자 또는 어린이 에게이 작업을 수행하면 연습을 배우는 것만 두려워 할 것입니다. Ramsay는 자신의 사업이 아니기 때문에 다른 TV 시리즈에서 더 훌륭하다는 점에 주목할 가치가 있습니다.
Spoike

30

어떤 책을 사용하고 있는지 궁금합니다. 그들 모두가 실제로 좋은 것은 아닙니다. 또한 모든 책이 모든 사람에게 적합한 것은 아닙니다.

나이를 지정하지 않았으므로 18 세 미만이라고 가정하겠습니다. 저는 약 8 살 때 배우기 시작했습니다.

내가 어렸을 때, 나는 프로그래밍하는 법을 배울 때 많은 자원을 이용했습니다. TI 99 / 4A와 함께 제공되는 설명서가 있는데, 여기에는 이미지를 그리고 그림을 애니메이션으로 만드는 많은 재미있는 프로그램이 포함되어 있습니다. 인터넷을 사용할 수 없었지만, 아이들을 대상으로 한 컴퓨터 잡지, 심지어 입력하고 즉시 피드백을받을 수있는 프로그램과 다른 종류의 문제를 해결하는 방법에 대한 기사가있었습니다. 나는 이야기의 일부로 포함 된 프로그램을 입력하고 디버깅 할 수있는 스파이 소설 시리즈를 매우 좋아했습니다. 불행히도, 나는 이런 종류의 리소스가 여전히 있다고 생각하지 않지만 Python에 대한 Hello World book 및 Land of Lisp와 같이 젊은 사람들을 대상으로하는 프로그래밍 서적이 있습니다 (성인도 재미 있습니다).

나는 당신에 대해 잘 모르지만, 방금 설명한 것과 매우 비슷한 일을하는 프로그램을 작성하는 데 상당한 시간이 걸렸습니다. 결국 나는 더 발전된 것들로 넘어 갔다. 나는 몇 가지 평범한 게임, 키 스트로크에 반응하여 다양한 사운드와 애니메이션을 연주하는 데모 및 일부 학습 보조를 작성했습니다. 10 살이나 11 살쯤되었을 때 나는 반복적으로 퀴즈를 내면서 원소 주기율표를 외우는데 도움이되는 프로그램을 썼습니다. (당시, 암기 기술이 지금보다 더 좋았으므로 퀴즈를 처음 쳤을 때 데이터를 거의 입력하지 않아도되었지만 요점은 진전이었습니다.)

아버지는 그것을 깨닫지 못할 수도 있지만 책은 프로그램을 배우는 과정의 일부일뿐입니다. 약간의 문제를 찾아서 해결하는 방법을 찾는 것은 방정식의 나머지 절반입니다. 한 번에 조금씩 가르치고 기계에서 재미있는 일을 할 수있는 책을 찾는 것은 나머지 절반입니다. 제 경우에는 그래픽과 애니메이션을 강조한 책이 저를 이겼습니다.

어렸을 때, 정렬 알고리즘과 복잡한 데이터 구조에 관한 책을 읽었을 때 그들이 실제로 돌보는 문제에 어떻게 적용되는지 알 때까지 눈이 번쩍 거 렸습니다. 당신이 읽을 책의 모든 단어가 답답하지는 않습니다. 괜찮아. 필요할 때 그 물건을 얻을 수 있습니다. 해결하고자하는 문제는 3 주, 3 개월 또는 3 년 전에는 흥미롭지 않다고 생각했던 기술을 상기시켜 주며 다시 검토하여 알아낼 것입니다.

한 달은 프로그래밍을 배우는 데 오랜 시간이 아닙니다. 나는 어린 시절을 포함하여 약 30 년 동안 한 형태 또는 다른 형태로 코드를 작성 해 왔으며 매일 새로운 것을 배우고 있습니다. 나는 첫 달에 첫 번째 컴퓨터를 가지고 있다고 확신합니다. Munch Man을 연주하는 데 많은 시간을 보냈으며 참조 서적의 샘플 프로그램을 이해하기 위해 훨씬 적은 시간을 보냈습니다. 자신에게 맞는 속도로 학습하십시오. 지금은 압박감이 없습니다.

"스크루 링"은 프로그래밍을 처음 배울 때해야 할 일입니다. 해커 (Paul Graham 종류)는 시스템 작동 방식, 프로그래밍 언어 작동 방식, 도구 작동 방식을 이해하려고 노력합니다. 당신은 무언가를 시도하고, 실패하고, 당신이 직면하고있는 문제를 통해 추론하고, 무언가를 얻을 때까지 다른 것을 시도합니다. 그것에 대해 너무 걱정하지 마십시오.

당신의 아버지가 같은 책을 연구하지 않는 한, 아마 당신이 지금까지 배운 것을 이해하지 못할 것입니다. 나는 한 달 동안 건축에 관한 책을 읽은 후, 특히 십대로서 집이나 초고층 빌딩을 설계 할 수있을 것으로 기대하지 않습니다.

지난 4 주 동안 상황을 파악하기 위해 Ruby on Rails 프레임 워크 엔진 기능의 난해한 부분에서 작업했습니다. 오늘은 마침내 사용자의 관점에서 보여줄 것이 있습니다. 나는 그 당시 많은 것을 배웠고 꽤 잘 작동하는 중요한 기초 코드를 많이 개발했지만 사용자가 일부 물건을 입력하고 다른 것을 다시 얻을 수있게하는 것과 동등한 전문가입니다. 그러나 많은 작업이 진행되었습니다. 누군가 내가 4 주 동안 망쳐 놓았다고 말하면 꽤 실망 할 것입니다. 그러나 그들이 "단순"하게 만드는 것에 대해 조금이라도 이해하고 있다는 것도 알고 있습니다.


2
TI 99 / 4A에서 치아 절단시 +1 나에게 프로그래밍과 비슷한 이야기가 재미 있었고 시작하기가 훨씬 쉬워졌습니다 (또는 아마도 그렇게 보였습니다). 내 딸 (10)은 프로그램 학습에 관심을 보이고 있으며, 그녀를 시작시키는 재미 있지만 반복적 인 방법을 생각하는 데 가장 어려운 시간을 보내고 있습니다. 제로 지식에서 1 개월까지 OP에 당신이 말한 것을 PAR에서 제대로 들립니다.
Ominus

Ominus (및 David)는 Processing을 살펴보고 Manning.manning.com/pearson
JasonTrue

4
모든 책이 좋은 것은 아닙니다. 내 경험에 따르면 대부분의 책은 이미 프로그래밍을 이해하는 사람들을 대상으로합니다. 이 이민자에 지시 많은 사람들이 아니지만, 내가 추천 이 하나 및 / 또는 이 하나 .
David

링크에 대한 @David 감사합니다. 오늘 아침 딸을위한 책을 주문했다.
Ominus

@Jason : 그는 14 살의 아이라고 언급했습니다.
CyprUS

19

이런 상황에서 아빠는 당신이하고있는 일을 긍정적으로 강화하고 지원하는 사람이 아닙니다. 간단한 해결책 : 그를 사용하지 마십시오.

자신이나 다른 사람이 당신이하기를 원하지 않기 때문에 자신의 프로젝트를 수행하고 재미 있기 때문에 수행하십시오. 당신에게 재미있는 것을 선택하십시오. 책에서 언어 / 기술 전체를 배울 필요는 없습니다. 대신 사물을 다루기 시작하십시오. 결국 일이 쉬워지면서 새로운 개념 / 도전을 찾을 것입니다. 그리고 오늘 지루하다고 생각되는 책 (또는 적어도 특정 섹션)을 읽고 자하는 자신을 발견하게 될 것입니다.

문제가 발생하여 코딩 작업에 도움이 필요한 경우 stackexchange는 이미 알고 있듯이 훌륭한 리소스입니다.


16

아빠가 비현실적인 기대에 부딪 치거나 아마도 당신은 일을 시작하고 따르지 않거나, 또는 둘 다 시작한 역사를 가지고 있다는 것이 나에게 들린다. 실현하기 위해 중요한 것은 그 어느 것도 정말 중요하지 모든 문제는 당신이 무슨 일을하는지 즐기고 그 일에서 더 얻을 것입니다, 여기.

나는 나를 즐겁게하지 않는 책 으로 매우 어려운 시간을 보내고 있습니다. 나는 다른 사람들이 일을하는 것을보고, 무언가의 목적을 이해하지 못할 때 질문을하고, 알아낼 때까지 고군분투하면서 가장 잘 배웁니다. 고군분투는 우리를 더 강하게 만들고 궁극적 인 업적에 대한 소유권을 부여합니다. 아마도 자궁에서 벗어나기가 너무 어려운 이유 일 것입니다.

즉, 툴박스에서 가장 날카로운 도구 중 하나는 개방 상태를 유지하고 비판 속에서 생산적으로 작업하며 소스를 기반으로 한 조언을 배제하지 않는 능력입니다. 좋은 프로그래밍 서적은 당신을 사로 잡는 경향이 있으며, 영감을주고 벽에 부딪 치면 다시 돌아올 것으로 기대합니다. 그것들이 없으면, 당신이하고있는 일을 정확히 이해하지 않고 많은 놀라운 일들을하게 될 것입니다. 프로그래밍은 매우 신중한 기술이므로 이해하기 쉬운 방식으로 작성된 책을 찾아 보는 것이 좋습니다.

나는 꽤 오랫동안 전문적으로 프로그래밍을 해왔고, 나의 만족은 진정으로 내 자신이라고 말할 수 있습니다. 내 상사는 왜 내가 쓴 것들이 정말 대단한지 이해하지 못합니다. 제 아내는 제 일에 대해 이야기 할 때 잠이 들었고 친구들은 제 일에 대해 묻지 않기 위해 길을 떠납니다. 나는 내 승리와 가끔 동료들과 공유 할 수있는 기회를 좋아합니다. 이 경우 아빠는 동료 중 하나가 아닙니다.

계속 발전하고 개선하십시오. 프로그래머가 아닌 사람들은 감동을 받기 전에 시각적으로 인상적인 것을 볼 필요가 있다는 사실에 익숙해 지십시오. Mandelbrot / Julia set generator 와 같은 것을 작성하는 데 행운을 빌어보십시오 . 그에게 그가 찾고있는 진전의 종류를 보여 주어 잠시 동안 사건에서 벗어날 수 있습니다. 10 년 후에는 기술이 아닌 관리자를 퇴사 시켜서 실질적인 작업을 수행 할 수 있도록 매우 유사한 작업을 수행하게됩니다.

즐기기 때문에하고 있다는 것을 기억하십시오.


1
이 사람의 말을 들어라. 그는 자신이 무엇을 말하는지 알고있다;)
drxzcl

2
그는 프로그래머가 아닌 사람들이 감동을 받기 전에 시각적으로 인상적인 것을 볼 필요가 있다는 사실을 좋아한다. 프랙탈 생성기를 작성하는 것은 컴퓨터 과학 학교에서 처음으로 한 프로젝트 중 하나였습니다. 그리고 나는 나 자신에게 깊은 인상을 받았다 :)
Guillaume

아마이 모든 스레드에서 가장 좋은 대답은 ...
Venki

15

이 질문이 육아 포럼 또는 프로그래밍 포럼에 가장 적합한 지 말하기는 어렵습니다. 이 질문에 얽힌 것이 잠재적 인 많은 아버지와 아들 관계 "문제"라는 것을 느끼기 때문에 나의 충고가 나의 목표가되지 않기를 두려워한다.

즉, 내가 중점을 두는 것은 두 분이 어떤 식 으로든 열정을 공유 할 수있는 주제에 대해 당신과 당신의 아버지가 연결할 수있는 큰 기회입니다. 나 자신이 아버지이자 내 아버지를 알면서 나는 우리 자녀들이 우리의 말을 듣고, 지시를 따르고, 우리에게서 배우기를 얼마나 간절히 원하는지 알고 있습니다. 우리 아이들은 종종 반대의 행동을하게됩니다. 두 사람이이 공통 관심사를 공유한다는 사실은 훌륭합니다.

아버지는 확실히 고집을 부릴 수 있지만, 여전히이 운동을 통해 자신의 개성과 선택을 조정할 수있는 기회가 있다고 생각합니다. 반항 의식이 아니라 프로그래밍의 주제를 잘 알고 자하는 자신의 노력과 야심에서 비롯된 것입니다. 개인적으로, 그것은 당신의 아버지가 프로그래밍에 관해서 당신을 깊은 곳으로 던진 것처럼 들립니다. MIPS 어셈블리 언어 또는 LISP가 아니지만 여전히 C ++입니까? 자바? Yikes. 나는 프로그래밍을 좋아하지만, 그것들을 일찍 읽으면 나를 완전히 끌었을 것입니다. 키딩. :)

제가 물어볼 것은 이것입니다 : 당신 에게 영감 주는 것은 무엇 입니까? 어떤 것들을 만들고 싶습니까? 그 질문에 대답 한 다음, 해당 주제에 대한 자신의 책과 자습서를 찾아보십시오. 여기로 와서 질문하십시오. 무언가를 만드십시오. 그런 다음 아빠에게 당신이 만든 것을 보여주십시오. 배운 것을 말해 당신과 함께 해주셔서 감사합니다. 감사합니다. 나는 결국 이것이 모든 것이기 때문이라고 말합니다. 그는 당신을 사랑하기 때문에 당신과 무언가를 나누고 싶어합니다. 때때로 아버지는 전통적인 방식으로 표현하기가 어려워서 같은 말을하는 간접적 인 방법을 찾습니다. 때때로 우리는 심지어 그 일에 짜증이납니다. 그러나이 모든 것이 당신과 더 가까워지고 싶다는 것을 잊지 마십시오.


15

아무도 이것을 아직 제안하지 않은 것 같습니다.

최근에 그는 내가 한 일을 묻기 시작했으며, 내가 입력 한 것을 가져 와서 각 문자에 값을 할당하는 C ++ 프로그램을 보여주었습니다 (A는 알파벳의 첫 번째 문자이므로 값을 얻습니다) 1) .. 등등. 그런 다음 모든 값을 합산하여 알려줍니다. 따라서 "add"라는 단어의 값은 9입니다.

^^ 그에게는 그다지 인상적이지 않았습니다. 그는 나에게 소리를 지르며 내가하고있는 모든 일이 망치고 있다고 말했다. 그건 사실이 아니야. 그는 매우 전통적이고 완고하며 내가해야 할 말을 듣지 않습니다. 그에게 무엇을 말해야합니까?

당신이 그것에 대해 생각한다면, 그 프로그램은 컴퓨터를 사용하고 프로그래밍에 대해 아무것도 모르는 누군가에게 그리 인상적이지 않습니다.

아빠에게 어떻게했는지 보여주세요. 소스 코드를 통해 그를 안내하십시오. 그는 아마 (확실히) 그것을 이해하지 못하지만, 당신이 그것에 얼마나 많은 일을했는지, 얼마나 많이 이해했는지를 전달할 것이며, 당신이 실제로 얼마나 많은 일을했는지 ​​더 긍정적 인 인상을받을 것입니다.


3
이것은 더 많은 인정을받을 가치가 있습니다. 아빠가 아들의 취미를 좀 더 이해하게 할 수있는 좋은 대립 솔루션.
퍼거스 인 런던

@FergusMorrow 동의합니다. 이 답변은 너무 적은 공감을 얻었습니다.
stommestack 2016 년

12

너가 원하는 것을해라

당신의 인생입니다. 당신이 원하는대로 할 수 있습니다. 다른 사람 (아빠도)이 당신의 삶을 통제하지 못하게하십시오.

나는 당신이 프로그래밍을 어느 정도 즐기거나 성공적인 전문가가되기를 원한다고 가정합니다. 그러나 문제는 자신이하고있는 일을 알지 않고 마음에 들지 않는 한 성공하지 못할 것 입니다.

모든 분야를 마스터하는 것은 어렵습니다. 누군가의 영향을받는 경우에만이를 수행 할 수 없습니다. 그리고 당신보다 당신이 무엇을 더 잘해야할지 아무도 모른다 . 오늘 쉬고 하루 종일 게임을하고 싶습니까? 그게 당신의 결정이고 당신은 그것을 책임집니다. 당신은 당신의 결정과 삶에 책임을지는 법을 배워야합니다. 모든 성공적인 전문가에게는 결정에 대한 책임이 필수적입니다.

그렇다면 그 상황에서 무엇을하십니까? 자신의 입장을 고수하고 다른 사람의 말을 듣지 말고 가치있는 일을하십시오.


3
OP는 합법적 인 미성년자입니다 (14 명). 그의 부모는 자신의 삶을 통제 할 것으로 예상되며, 앞으로 4 년 동안 맹목적으로 싸우는 것은 모든 사람을 비참하게 만들 것입니다.
jwodder

1
@jwodder : 부모가 자유 시간에 자녀가 배우는 것을 통제해야한다고 느끼면 최대한 빨리 싸우기 시작하는 것이 최선일 것입니다. 나도 데이빗만큼 나이 많은 아이를 낳았습니다. 내 아이가 내가 생각했을 때 내가 틀렸다고 말할 수 없다면, 그녀의 미래에 대해 두려워 할 것입니다. 14 세인 사람은 7 세가 아니며, 세상에 대해 한두 가지를 알고 있으며 부모님이하지 않는 몇 가지를 알고 있습니다. 그리고 그가 원하는 것이 아닌 것으로 판명되면, 그들은 몇 년 전에 실패했고 , 적어도 14 년 동안 그들이 한 일을 계속함으로써 더 이상 따라 잡을 기회없었 습니다.
sbi

10

책을 요청했습니다. 솔직히, 당신은 책을 읽는 것보다 더 나은 문제 해결을 할 것입니다. 열정이있는 퍼즐이나 문제를 찾으십시오. 프로젝트 오일러 는 훌륭한 소스이며 CodeGolf 는 때때로 흥미로운 질문을 제공 할 수 있습니다. 첫 번째 프로그래밍 프로젝트는 소수를 발견 한 C ++ 앱이었습니다. 당시에 사용했던 교재는 다음과 같은 간단한 구현을 제공했습니다.

bool isPrime(int x){
    int c = 1;
    while(c < x){
        if(x%c == 0){
            return False;
        }
        c=c+1
        /*c+=1 if compiler is set to '98 or more recent*/
    }
    return True;
}

이는 비효율적입니다. 나는 그 기능이 느린 처음 500 개의 프라임을 발견했다. 아빠와 나는 위의 최적화를 시도하는 데 즐거운 시간을 보냈으며 파일에 출력을 쓰지 않는 간단한 앱 이었지만 재미 있었고 결과물이 멋졌습니다.

책을 읽으면서 배울 수 있습니까? 예,하지만 프로그래밍 언어를 사용하고 시행 착오를 통해 배우는 것의 가치를 강조 할 수는 없습니다.

아빠를 위한 프로그래밍 배우고 있다면 그만하고 자신의 이유를 찾으십시오. 광산은 여전히 ​​그에게 대량의 자동 거래 시스템을 구축하도록 귀환합니다. 나는 당신 이 할 일 을 찾아야한다고 말할 때 치명적입니다. 그렇지 않으면 취미 나 스포츠가 아닌 집안일로 볼 수 있기 때문에 프로그래밍을 완전히 포기할 것입니다.

Linus Torvalds의 저서 "Just For Fun"을 읽고 Linux 운영 체제의 기원을 이야기하십시오. 제목이 다 나와 있습니다.

진심으로. 몇 가지 문제를 해킹하십시오. 고착되면 노인을 참여 시키십시오.

아빠가 당신의 일을 좋아하지 않는다면 실망하지 않기 때문입니다. 그는 건축가이고 어떤 일이 얼마나 복잡한 지 모릅니다. 논리만으로 코드를 안내하고 작성하여 배운 논리에 대해 감사하게 생각하십시오.


TL; DR


  1. 무언가를 엉망으로 만드십시오. 문제를 해결하다. 문제를 해결할 수 없으면 다른 사람의 솔루션을 찾아서 이해하십시오.
  2. # 1과 즐거운 시간 보내세요
  3. 무언가를 배우거나 전진 할 때마다 노인에게 이야기하십시오.
  4. 너 자신을 속도. 모두 자신의 방식으로 자신의 속도로 학습합니다. 그냥 지키면 결국 원하는대로 할 수있는 기술을 갖게됩니다.

1
사실, 그는 구체적으로 그가 책을 요구하지 않았다고 말합니다 .... 이것의 나머지 부분에 동의합니다
Paul

6

초보자를위한 프로그래밍을 소개하는 책을 찾아보십시오. 어쩌면 Hello World 와 같은 것 ! Warren Sande의 어린이 및 기타 초보자위한 컴퓨터 프로그래밍 .

당신은 또한 당신의 서재에 무엇을 가지고 있는지 확인해야합니다. 대부분의 도서관에는 초보자 도서가 몇 권 있어야합니다.


5

내 마음에는 두 가지 문제가 있습니다.

  1. 프로그래밍을 배우고 재미있게 유지하고 싶습니다 (재미는 필수적이며 모든 것이 더 쉬워집니다)
  2. 프로그래밍에 대해 이해하지 못하지만 원하는 것을 알고있는 고객이 있습니다. (당신의 아빠는 당신의 경우에)

이모 :

  1. 첫 번째 문제는 이와 같은 사이트를 방문하여 귀하가 한 것처럼 질문하는 것입니다. https://softwareengineering.stackexchange.com/questions/62224/how-to-become-a-professional-programmer/62263#62263 과 같은 리소스를 찾으십시오 . 만들고 싶은 것 (게임,해야할 일 목록, 영화 수집 관리 시스템, 차세대 소셜 플랫폼)을 생각하고 코딩을 시작하십시오. 또는 퍼즐 해결으로 시작 프로그래밍 퍼즐과 과제를 어디서 찾을 수 있습니까?

  2. 두 번째 문제는 더 어려우므로 아빠를 기꺼이 교육해야합니다 (아기가 기꺼이 보이지는 않지만) 배우는 동안 프로그래밍에 대해 어려운 점을 더 잘 설명 할 수 있습니다. 그녀에게 설명 된 것처럼 은유를 사용하려고 할 수 있습니다 . 좋은 프로그래밍 은유 란 무엇입니까? . 또 다른 팁은 일반적으로 프로그래머가 아닌 사람은 훌륭한 알고리즘의 복잡성을 얻지 못하지만 멋진 인터페이스로 쉽게 어려움을 겪는다는 것입니다. 선택한 플랫폼에 따라 아빠에게 깊은 인상을주기 위해 예쁘게 보이는 인터페이스를 생성 할 수 있습니다. 예를 들어 사용하십시오.

도움이 되었기를 바랍니다.


+1 나는 당신의 게시물을 좋아하지만, 나는이 아이가 그의 아버지의 기대가 무엇인지 알아낼 것을 제안하지 않았다고 생각합니다. 아버지의 기대가 무엇인지 모른 채 배제하는 것은 다소 시기상조입니다.
user179700

5

나는 내 인생에서 한 번에 매우 비슷한 위치에 있었다고 덧붙이고 싶습니다. 아빠는 긍정적 인 강화의 의미를 실제로 이해하지 못했습니다. 그러나 때때로 그의 가혹한 비 승인에 대해 끈기 있고 탄력적 인 것을 보았을 때 나는 그것을 유지했습니다. 약 20 년 후 아빠와의 관계가 많이 바뀌었고, 개선되었지만 당시의 미묘한 뉘앙스가 여전히 남아 있습니다.

이것은 당신의 인생에서 어려운 시간이며 여기서 중요한 것은 다른 무엇보다도 이것을하는 것이 재미 있다는 것입니다.


5

프로그래밍 언어와 관련하여, 나는 당신이 하나에 만 집중해야한다는 데 동의합니다.

실제로, 나는 당신이 아직 가지고 있지 않은 것을 추천합니다 : Python. 파이썬은 배우기 쉽지만 매우 강력한 언어입니다. C ++, Java, PHP 및 Javascript는 훨씬 더 복잡합니다.

Python을 사용하여 프로그래밍을 가르치는 Manning의 여러 책이 있습니다. 조금 더 젊은 인구 통계를 목표로하더라도 "Hello, World!"를 강력히 고려합니다.

C ++을 계속하려면이 책을 추천합니다.

그것은 "참조"에 대한 것이지 "튜토리얼"에 대한 것이 아닙니다. 좋은 C ++ 튜토리얼을 알지 못합니다. 많은 "C ++ 빨리 가르쳐"책이 많이 있지만 그다지 유용하지는 않습니다. (C ++은 먼저 배우기가 매우 어려운 언어입니다 . 대부분의 C ++ 프로그래머는 더 쉬운 언어로 시작했습니다).


동의합니다, 파이썬은 모국어로서 더 나은 선택입니다. C ++는 훌륭하지만 매우 강력하고 사용하기가 어렵습니다. 걷기를 배우기 전에 비행기를 타는 법을 배우는 것과 같습니다. 파이썬으로 방금 라이브러리를 사용하고 재미있는 일을 할 수 있습니다. string_add 함수는 5 줄의 읽을 수있는 코드입니다. 예를 들어 def string_add(a_string): \n\t sum = 0 \n\t for letter in a_string:\n\t\t sum += ord(letter) - ord('a')+1 \n\t return sum(\ n-새 줄 \ t -tab) 또는 고급 기능 프로그래밍을 사용하면 하나의 라이너입니다. string_add = lambda a_string: sum(map(lambda ch: ord(ch)-ord('a')+1, a_string))
jimbob 박사

+1 C ++을 배우는 데 약 1 년이 걸렸지 만 Python을 배우는 데 10 분 밖에 걸리지 않았습니다.
rightfold

+1 파이썬을 사용하는 Head First Programming 도 추천 합니다.
David

4

C ++, Java, PHP, JavaScript 및 Android 정보 (한 번에 모두 마스터하려고하면 실패 할 수 있으므로 둘 중에서 선택할 수 있음) :

  • C ++ : 매우 강력한 언어입니다. 그러나 너무 강력하고, 용서하지 않으며, 시작하기에는 너무 비밀 스럽습니다. 가려면 많은 것들을 이해해야합니다. 프로그램을 시작할 때 언어를 잘못 선택했다고 생각합니다.
  • Java : 초보자에게 인기있는 선택입니다. 어떤 의미에서는 C ++의 반대입니다. C ++은 상상할 수있는 상상할 수있는 방법을 제시하지만 Java는 통제 할 수없는 것을 허용하지 않습니다. 많은 프로그래밍을 보여주기에는 너무 단순하고 사소하고 제한적입니다. 그리고 많은 표준 API와 여러 프레임 워크를 알지 못하면 Java로 많은 것을 할 수 없습니다. 기술로서의 Java는 제공해야 할 것이 많지만 언어로서의 단점이 있습니다.
  • PHP : 입구 장벽이 낮아 매우 인기있는 언어입니다. 언어로서의 PHP는 성숙해졌으며 이제는 현대 언어에서 기대하는 기능이 풍부합니다. 그러나 PHP는 역사적인 이유로 많은 수하물을 운반합니다. 따라서 실제로 좋은 프로그램을 작성할 수는 있지만 소수의 사람 만 할 수 있으며 그렇게하는 방법에 대한 정보는 그리 많지 않습니다. 그리고 표준 라이브러리는 엉망입니다. PHP를 작성하기로 결정했다면 필자는 일반적으로 일반적인 문제에 대한 강력한 솔루션을 장려하기 때문에 처음부터 프레임 워크 작업을 시작하는 것이 좋습니다. 개인적으로 symfony , flow3CakePHP를 권장 합니다. 그러나 내 충고는 : 시작하지 마십시오.
  • JavaScript : 일단 알게되면 놀랍도록 강력한 언어입니다. 그것은 "몇 가지"단점 이 있지만 실제로는 그와 함께 살 수 있어야합니다. 처음에는 HTML 페이지에 대화 형 기능을 추가하는 데 사용되었지만 이제 여러 필드에서 JavaScript를 사용할 수 있습니다. 일반적인 사용 외에도 Appcelerator , PhoneGapAIR 플랫폼을 사용하여 데스크탑 및 모바일 앱 개발에 사용하고 node.js를 사용하여 서버를 만들 수 있습니다 .
    많은 JavaScript 라이브러리와 프레임 워크가 있습니다. qooxdooext.js 뿐만 아니라 녹아웃jQuery 를 확인하는 것이 좋습니다.본격적인 무언가를 찾고 있다면. 또한 서버 측 개발의 경우 express.js를 확인해야합니다 .
    또한 JavaScript로 컴파일되지만 약간의 추가 기능이있는 CoffeeScript 를 지적하고 싶습니다 .
  • Android : 다른 네 가지와 달리이 플랫폼입니다. 원하는 작업에 따라 플랫폼을 선택해야합니다. Android 기기를위한 모바일 앱 개발 인 경우 계속 진행하십시오. 이것이 가장 좋은 방법인지는 확실하지 않지만 궁극적으로 멋지다고 생각하는 것을 만들어야합니다.

어쨌든, 정말로 중요한 것은 이것이 즐겁다는 것입니다. 당신이 물건을 만들면 멋지다고 생각합니다. 그것은 당신의 일부 요구를 해결하거나 재미있게 놀 수 있습니다. 프로그래밍은 그것을 즐기는 사람들을위한 것입니다. 몇 줄의 코드로 앱을 빌드 할 수있는 툴셋이 필요합니다. JavaScript / CoffeeScript가 좋은 출발점이 될 수 있습니다.
개인적으로, 나는 당신에게 루비를 지적하고 싶습니다. 그것은 나에게 프로그래밍에 대해 많은 것을 가르쳐 왔으며 프로그래밍을 시작할 때 그것을 알지 못해서 불행하다고 느낍니다. 기본적으로 두 가지 강력한 책이 있습니다 (둘 다 무료로 제공됨).

  • 왜 불쾌한 안내서 -개인적으로, 그것은 저를 위해 그 책에서 약간의 산만 (농담, 만화 등) 이었지만 당신은 그것을 즐길 수 있습니다.
  • Pragmatic Ruby- 나를 위해 완벽하게 일했습니다. 그것은 약간 건조하지만 단순히 필수 사항을 처리합니다.

그것과 함께 나는 신발 을 확인하는 것이 좋습니다 . 참조, 튜토리얼 및 데모를 포함하여 멋진 통합 도움말이있는 훌륭한 도구입니다. 며칠 내에 첫 번째 작업을 시작하고 실행할 수 있습니다.

그리고 아마도 나중에는 haXe 를 가리키고 싶습니다 . 나는 그것이 훌륭한 언어라고 생각하고 (최선의 언어) 새로운 초보자 안내서 가 최근에 발행되었습니다. 그러나 haXe에는 사용 가능한 도구가 없으므로 JavaScript 및 Ruby와 마찬가지로 응용 프로그램을 작성하는 것이 간단합니다. 따라서 시작하기가 지루하거나 실망 할 수도 있습니다.


나는 그가 C / C ++에서 그의 이빨을 자르라고 제안 할 것이다. 거의 모든 현대 언어가 C / C ++에서 무언가를 파생시키기 때문에 나는 똑같이하고 모든 언어를 배우는 것이 놀랍게 쉽다는 것을 알았습니다.
CyprUS

@ Cyprus : 동의하지만 둘 다 배울 가치가 있지만 프로그래밍 학습을 시작 하기에 좋은 선택이라고 생각하지 않습니다 . 또한 LISP 또는 Smalltalk 제품군이 두 가지 중 어느 하나에서 필수적인 것을 어떻게 이끌어 낼지 알 수 없습니다.
back2dos

소년이하고 싶은 일을 결정하게해야한다고 생각합니다. 즉, LISP / SmallTalk는 너무 유용하여 일반적으로 유용하지 않습니다 (제 의견)
CyprUS

@ Cyprus : 나는 조언을 제공했다. 결국 그는 선택해야합니다. 나는 LISP 또는 SmallTalk를 의미하지는 않았지만 루비, 스 퀴크, 오브젝티브 -C, 루아, 스칼라, 얼랭, 클로저, 자바 스크립트, F #, Nemerle, Scheme과 같이 (부분적으로) 겹치는 현대 언어 클래스를 의미했습니다. 모든 언어 가 실제로 사용되고 일부는 심지어 가장 인기있는 언어 중 하나 입니다.
back2dos

3

한 달 안에 예상하려고 시도하는 것은 꽤 쉽습니다. 오히려 한 번에 하나의 언어 나 패러다임을 배우는 데 집중해야합니다. 그렇지 않으면 압도적 일 수 있습니다. 한 번에 너무 많이 밀어 넣는 것도 끄는 좋은 방법입니다. 관심있는 특정 프로그램에서 작업하면 더 잘 배울 수 있습니다. 안드로이드 폰이 관심있는 곳에 있다면 아마도 C ++보다는 Java를 사용하는 것이 좋습니다. 그는 전형적인 고객으로서 약간의 위즈 뱅 UI를 기대했을지도 모른다. 그의 실망에 실망하지 않을 것이다. :)

헤드 퍼스트 책 중 일부는 책을 고집하는 데 제약이있는 경우 학습을 약간 덜 건조하게 만들 수 있습니다.


3

- 당신이 떨어져 지금의 형식적인 물건을 넣어 스크래치 살펴해야한다고 생각 http://scratch.mit.edu/을 여전히 당신에게 물건을 배우는 동안 당신이 쉬운 방법으로 대부분의 프로그래밍 구조를 처리 할 수 있습니다 - 루프 등이 필요합니다.

또한 수작업으로 수행하기 가장 어려운 부분이며 오늘날 세계에서 흥미로운 결과를 제공하는 데 필요한 완벽한 멀티 스레딩을 허용합니다.

프로그래밍 방식과 같은 색상과 레고 브릭을 사용하므로 과소 평가하지 마십시오. 기술적 세부 사항을 잃지 않고 많은 것을 할 수 있습니다.


+1-스크래치는 배울 수있는 훌륭하고 재미있는 방법입니다. 실제로 연령대를 염두에두고 설계되었지만 여전히 Turing Complete입니다. 또한 스크래치에 대한 객체 지향 확장에 대해서는 BYOB (Build Your Own Blocks)를 확인하십시오.
Morgan Herlocker

3

아빠가 당신의 나이에 고층 건물을 설계 할 수 있는지 물어보십시오. 이것이 바로 프로그래밍입니다. 배울 것이 너무 많아서 배우는 데 시간이 걸립니다. 자전거를 타는 것과 같습니다. 페달, 기어, 손잡이, 손잡이는 수천 개 뿐이며 어떤 시간에 사용할 자전거를 고르거나 선택할 수 없습니다. 연습이 필요합니다.

나는 당신을 의심하지 않습니다. 프로그래머가 되겠다는 목표에서 C ++을 처음 접했다. 그것은 나에게 인상적 이다.

거기에 매달아 프로그래머로서의 경력에 ​​행운을 빕니다!


3

이미 많은 답변이 있다는 것을 알고 있습니다. 그러나 나는이 충고를 보지 못했습니다 : 당신의 아버지가 당신을 도울 수 있도록 노력하십시오. C ++ 책에서 털이 많은 것을 골라 이해하고 도움을 청하십시오.
그에게 책을주고 C ++로 크롤링하십시오. 나는 이것이 코드 작성이 얼마나 힘든지를 깨닫게 할 것이라고 확신합니다.


3

이 상황을 자신의 이익으로 돌리십시오. 지금까지 성취 한 것이 충분하지 않다는 사실 만 받아들이고 더 잘하려고 노력하십시오 ... 극복하기 시작하고 지금부터 개선하지 않으면 상사를 위해 일할 때 이와 같은 힘든시기를 겪게 될 것입니다. .

네 나이에 두 배나 열심히 일했다면 ...


3

아버지의 의견은 학습 과정에 도움이되지 않습니다. 예, 다른 사람들이 언급했듯이 학습 프로그래밍을 거치는 방법에는 여러 가지가 있습니다. 그러나 내 의견으로는 C ++에서 놀라운 발전을 보였습니다. 귀하의 추가 프로그램은 Java 프로그래밍의 첫 학기 후에 거의 처리 할 수 ​​없었습니다.

계속하려면 두 가지를 해결해야합니다.

1) 아버지를 처리하십시오.

모든 아빠는 아이들에게 사치스러운 꿈을 가지고 있습니다. 그러나 그들의 기대는 매우 높을 수 있으며 결국 일부 동화에서는 불가능한 것으로 이어질 것입니다. 진행 상황을 더 잘 평가하고 아버지를 땅으로 데려 가기 위해 상황에 외부 사람을 데려가는 것이 좋습니다. 프로그래밍 경험이있는 가족 / 친구와 대화하거나이 커뮤니티의 사람들이 자신의 경험과 지식을 대신하여 이메일을 보낼 수도 있습니다. 아빠가 식지 않으면 함께 관심을 잃을 수 있기 때문에 이것은 가장 중요한 단계입니다.

2) 초점을 찾으십시오.

한 번에 모든 것을 배우는 것은 도움이되지 않습니다. 언어를 고르세요. 특정 언어로 된 책을 읽을 때 이 책의 예를 따르는 것은 완전하게 진행되는 방법이 아닙니다. 역류는 일부 (특히 자신)를위한 학습 과정입니다. 가능한 한 많은 각도에서 관심을 가지고있는 각도에서 공격하는 것이 중요합니다. 같은 언어로 다른 저자의 책을 프로그래밍하지만 다른 용도로 사용하면 언어를 사용하려는 방법과 통찰력에 대한 호기심이 커질 수 있습니다 프로그래밍 (게임 만들기, 응용 프로그램 디자인, 테스트, 요법 등)에 대한 자신의 요구 프로그램을 만드는 데 개인적인 모험을 할 수도 있습니다. 현재 알고있는 것과 상관없이 원하는 것을 파악한 다음 프로그래밍 할 때 조사하십시오. 시간이 지날수록 당신은 결국 관련된 다른 프로그래밍 언어를 시도해보고 싶을 것이다. 또한 프로그래밍을 함께하고 싶지 않다는 것을 깨달을 수도 있습니다.

무엇보다 중요한 것은 최종 결과가 아니라 여행이라는 것을 기억하십시오. 재미를 잊지 마세요!


3

상황의 프로그래밍 측면에 대한 좋은 피드백과 조언을 받았습니다. 그러나 다른 관점에서 무언가를 추가하고 싶습니다 ...

나는 당신이 당신의 아빠에 대해 약간의 부정적인 생각을 겪고 있다는 인상을 받았습니다. 그는 당신에게 압력을 가하고 당신을 슬프게하고 걱정하게 만드는 몇 가지 의견을 제시했습니다. 그것은 부끄러운 일이며 대부분의 사람들은 프로그래밍이 재미 있다는 데 동의 할 것입니다. 저는 30 년 이상 프로그래밍을 해왔지만 여전히 재미 있습니다.

하지만 네 아빠가 네 편이라고 생각해 그는 자신이 옳다고 생각한 것을 돕고, 도움을 주려고 노력했습니다. 그러나 그는 틀렸다 (그리고 나는 아빠로서 말한다, 우리는 때때로 문제를 얻는다!). 그에게 책은 아마도 그가 건축 경력을 쌓기 시작한 곳일 것입니다 (인터넷이 시작되기 전에이 책이 시작되었다고 가정하고 www는 거의 사용 가능할 것입니다). 그의 사고 방식에 따라 책은 시작하는 곳입니다.

따라서 아빠가 당신 편에 있다고 가정하면 (그리고 그가 확신합니다) 문제는 처음 프로그래밍을 시작할 때 얼마나 어려운지 이해하지 못한다는 것입니다. 여기에 게시-나는 당신의 아빠가 좋은 사람이라고 확신하고 그는 이해하고 그는 당신을 지원할 것입니다.

그리고 당신의 프로그래밍에 행운을 빕니다-당신이 시작을 시작한 것처럼 보입니다.


어쩌면 '프로디지'를 추가하면 너무 어려울까요? 이와 같은 프로그램을 만들면 많은 친구들에게 힘들 것입니다.
안심할

@CyprUS-나는 그의 특정 능력에 대해 아무런 언급도하지 않았다. 그의 아빠와 정말 관련이있었습니다.
Simon Knights

3

다른 답변에서 언급되지 않은 것 :

아시다시피, 아이가되고 (14 세) 둔한 책에서 프로그래밍을 배우라는 말을 듣는 것이 가장 쉬운 방법은 아닙니다. 나는 항상주의가 산만 해지고있다. 나는 그에게 책을 살 필요가없고 온라인 자습서를 볼 수 있다고 전에 그에게 말했다. 그러나 그는 너무 구식이다. 그는 단지 책을 사용하게 해주었습니다.

당신은 분명히 그 부분에서 일해야합니다. 인터넷은 모든 프로그래머의 중요한 도구 이며이를 사용하여 작업해야합니다.

첫째, 프로그래밍은 문제 해결에 관한 것입니다. 언어 XYZ에서 X를 수행하는 방법을 모르면 Google에서 X를 수행하고 솔루션을 찾으십시오. * 빠른 솔루션 찾기 키보드를 사용하는 것만 큼 프로그래머에게 중요합니다.

둘째, 또 다른 중요한 기술은 documentation을 사용하는 것 입니다. 책은 일반적으로 튜토리얼과 같습니다. 지침을 제공하지만 완전한 지식을 제공하지는 않습니다. 여기에서 설명서가 도움이됩니다. 예를 들어, C ++로 프로그래밍 중이며 한 달의 경험이 있습니다. 조만간 (곧 말하면) 표준 라이브러리를 사용해야하거나 이미 사용 했습니까? 그렇다면, 그것은 좋은 징조입니다.이 경우 귀하의 책은 아마도 나쁘지 않을 것입니다. 어쨌든-이미 C ++ 표준 라이브러리에 무엇이 있는지, 무엇이 없는지 아는 것이 유용 할 것입니다. 이를 위해 프로그래밍 중에 항상 http://cplusplus.com/ open 과 같은 참조를 유지하는 것이 좋습니다 .


인터넷은 코딩에 중요 하며 코딩 학습에 더 중요합니다. 아빠가 이해하지 못하고 책만 사용 하여 프로그래밍을 배우기를 기대한다면 , 그의 접근 방식은 비생산적이며 진행 속도가 느려집니다 (아마도 나쁜 습관을 들이게됩니다).


2

그는 프로그램에 집중하는 과정에 대해 전혀 모른다. 가장 오래 걸리는 것은 당신이 할 수있는 일과 그 접근 방법에 대한 진정한 이해이기 때문에 모든 책을 읽을 수는 있지만 괜찮은 것을 쓸 수는 없습니다.

당신은 아빠에게 당신이 프로그래밍을 즐긴다 고 말 했어요. 그리고 적어도 지금은 5 가지 프로그래밍 언어를 배우려고하지 마십시오. Java와 같이 비교적 간단한 것을 고수하면 일단 마스터하면 다른 사람에게 전송할 수 있습니다.

그건 그렇고, 책에 관해서는, 올바른 방법으로 언어를 배우기 때문에 그것을하는 올바른 방법입니다. 튜토리얼을 따르는 것은 종종 나쁜 습관 등을 선택하게합니다.

행운을 빕니다; 그리고 당신이 제대로하고 있다는 것을 그에게 알려주십시오. 진행은 느리지 만 당신이하는 동안 너무 많이 배우고 있습니다.


2

25-35 세 이상의 프로그래머들이 닌텐도와 세가에서 자랐다 고 생각합니다. 그들 중 좋은 부분은 우리 자신이 만들 수있을 때 왜 게임을하는 지에 대한 정신적 전환을 만들었습니다. 그것은 당신이 더 나은 프로그래머가 될 수있는 매우 자기 봉사 동기 부여입니다. 시작입니다. 나중에 인생은 비디오 게임 작성 (가상 문제)에서 더 큰 이해 관계가있는 게임 (실제 문제)으로 전환 할 수 있습니다. 이 환자에 대한 처방전이 다른 처방약과 부작용을 일으키지 않는 것처럼,이 트럭은 오염을 줄이기 위해 최소량의 가스로 가장 많은 양의 배송을 할 수 있습니까? 1000의 다른 사람이 동시에 그것을 구입할 때 원하는 가격으로.


1

건축은 당신이 태어나면서 배우고있는 물리적 세계에 뿌리를두고 있습니다. 건축 대학생에게는 레고를 가지고 노는 것이 시간 낭비입니다. 아빠는 수학을 알고 있기 때문에 기초에 익숙하고 물건을 생산할 수 있어야한다고 가정합니다. 사실이 아닙니다. 그는 프로그래밍에 관한 첫 번째 사실을 알지 못합니다. 왜냐하면 그것이 수학의 한 분야 가 아님을 깨닫지 못하기 때문 입니다.

프로그래밍은 새로운 세상입니다. 그것에 적응하는 가장 좋은 방법은 실제 세계를 배운 것처럼 배우는 것입니다 : 자신을 몰입하고 실험하십시오. 한마디로 연주하십시오. 레고 시간입니다.

비교를 위해 우주 비행사를 고려하십시오. 그들도 완전히 준비되지 않은 새로운 세계를 가지고 있습니다. 그들은 방을 가로 질러 움직이는 법과 같은 기초부터 시작해야합니다.

다음 단계로, 컴퓨터가 임의의 숫자를 고르고 추측하려고 시도하는 게임을 만드는 것이 좋습니다.

다른 언어도 많이 사용해보십시오! 한 번에 모두가 아니라 한 번에 일주일 동안은 가능합니다.

경험이 쌓이면 본격적인 비디오 게임을 만드는 것이 여행사 프로그래머로서 가장 큰 도전 중 하나입니다. 비디오 게임은 우리 분야의 거의 모든 구석에 닿아 있으며, 하나를 만드는 것이 기술을 구축하는 좋은 방법입니다. 또한 더 높은 수준의 기술을 실험하고 배우기에 완벽한 장소입니다.


0

프로그래밍에 익숙해 질수록 프로그래밍 언어를 배우는 데 시간을 할애하십시오. 이번에는 초보자에게 매우 귀여운 매우 간단한 프로그램을 만들었지 만 진행하면서 아빠가 실제로 사용할 수있는 좋은 프로그램입니다. 저에게 물어 보면 아빠가 그의 일에 도움이 된 방법입니다.

아빠와 한 마디 만하고 그에 대해 설명해 주시면 그가 진정으로 이해하고 언젠가는 훌륭한 개발자가 될 것이라고 확신합니다.


0

저는 소프트웨어 엔지니어로 공부하고 있으며 교육에서 프로그래밍 학습의 진보는 단순히 책을 읽는 것 이상이었습니다.

우선 C는 쉬운 언어이고 C ++, objective-c와 같은 많은 다른 언어가 C를 기반으로하기 때문에 C를 배우는 것이 좋습니다. 우리가하는 방식은 마이크로 칩을 구입해야한다는 것입니다. 우리의 경우에는 STK 500 키트가 장착 된 Atmel Mega16 (LED와 버튼이있는 보드 임)을 프로그래밍 한 다음 프로그램 된 프로그램을 사용하여 게임을 시작했습니다. Hello World 프로그램 IMO를 읽고 쓰는 것보다 재미 있습니다.

C가 당신을 위해 공원에서 산책이되면 C ++ 및 객체 지향 프로그래밍 (OOP)으로 이동하십시오. OOP는 프로그래밍을 생각할 수있는 여러 언어와 방법의 핵심 개념이므로 프로그래밍에 진지한 경우 필수입니다. 다이빙하기 전에 OOP의 이론을 이해해야합니다. 그렇지 않으면 어려운 과정이 될 수 있습니다 :-)

마지막으로, 스택, 큐, 힙 등과 같은 다른 데이터 유형을 연구하여 새로운 언어에 대해 프로그래밍하고 읽을 때 이해하는 것이 좋습니다.

행운을 빌어 친구 야!


OOP를 배우기 위해 C ++ 이외의 것을 추천합니다. 파이썬은 좋은 것입니다. C ++는 OO 개념을 배우려고 애쓰는 매우 복잡한 언어입니다. 일단 실제로 배운 후에는 불투명하게 보이는 많은 기능으로 무엇을해야하는지 알게 될 것입니다.
nmichaels
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.