Programmers.SE 또는 Stack Overflow에서 시간을 보내는 것이 초보자가 아닌 좋은 프로그래밍 책을 대신 할 수 있습니까? [닫은]


44

프로그래머에 시간을 보내고 적극적으로 참여할 수 있습니다 .SE 및 스택 오버플로를 통해 Code Complete 2와 같은 책을 읽는 데 소비하는 시간 (읽기 목록에서 다음에 올 수 있음)과 비슷한 프로그래밍 기술을 향상시킬 수 있습니다.

좋아, 프로그래밍으로 시작하는 사람에게는이 질문에 대한 답이 될 수 있습니다. 아니오, 나는 프로그래밍 언어에 익숙하지만 개선하고 싶을 때 문맥 상으로 묻는이 질문을 추가하고 싶습니다. 그의 프로그래밍 기술. 나는이 질문 을 SO 에서 읽고 있었고이 책은 많은 다른 사람들 ( JeffJoel 포함)에게 권장되었습니다 .

좀 더 구체적으로 말하면, C, Java, Python 등에서 프로그래밍을 수행하더라도 코딩 기술에 만족하지 않고 CC2에 대한 리뷰를 읽음에도 불구하고 여전히 많은 개선이 필요하다는 것을 깨달았습니다. .

따라서 기본적으로 프로그래밍 기술을 향상시키는 가장 좋은 방법을 알고 싶습니다. 여기 / SO에 더 많은 시간을 보내거나 CC2를 계속하고 시간이 허락 할 때와 여기에 올 수 있습니다.



1
초보자 프로그래머에게는 압도적입니다.
surfasb

답변:


102

아니요, 대체품이 아니라 완벽한 보완 물 입니다. 나는 둘의 조합이 많은 힘을 가지고 있다고 느낍니다.

좋은 강의가 단순히 책을 읽는 것 이상을 가르치는 이유는 무엇입니까? 상호 작용과 질문하는 능력.

책을 읽는 것만으로도 답을 찾을 수없는 몇 가지 질문이 나타날 수 있습니다. 여기에서 해당 질문을 찾거나 이전에 논의되지 않은 질문을하십시오.


완벽한 보완을 위해 +1. SE 나 SO가 주변에 있다면 80 년대가 어땠을 지 상상할 수 있습니다. 그들은 훌륭한 자원입니다.
마이클 라일리-AKA Gunny

1
완벽한 보완을위한 완벽한 칭찬으로 +1. 다만 "실제"질문에 읽기, 대답을 시도하는 (또는 기존 답변 '솔루션을 복제) 기술, 지식을 증가시키는 좋은 미니 katas가 있으며, 직관
데이브 뉴턴

이해하기 쉽고 접근하기 쉬운 채널에 문제와 솔루션을 표현하는 능력은 커뮤니케이션 기술을 향상시키는 것 외에도 개발자로서의 능력을 향상시킵니다.
surfasb

완벽한 칭찬을 위해 +1 (다시). 나는 매일 P.SE를 읽습니다. 나는 항상 모든 답을 읽지는 않지만 대부분의 질문과 답을 읽습니다. 그것은 당신이 달리 오지 않을 수있는 분야의 것들에 대해 스스로 생각하게하는 좋은 방법입니다. 때로는 Q & A에서 내가하고있는 일과 직접적으로 관련이없는 것을 보았습니다. 실제로도 유용합니다.
Andy Hunt

12

1 년 10 개월 동안 (현재) StackOverflow의 회원이었습니다. 이 기간 동안 저는 건축, 패턴, 디커플링, 단위 테스트 및 목록에 대한 인식을 인식 할 수있었습니다.하지만 어떤 역할을 했 습니까?

첫째, 그것은 나의 즉각적인 질문에 대답했다. 그러나 내가 탐구하기 시작하면서 나는 매우 나쁜 프로그래머라는 것을 알았습니다. 나는 공예에서 장인이되고 싶어서 책을 샀지 만, C # Unleashed, Learn C # Programming, 또는 내가 필요로하는 하위 표준 초급 텍스트 는 아니었다 . 나는 내가 발견 한 기술 분야를 목표로 하는 올바른 종류의 책을 샀다 . 물론 시간을내어 SO 전문가들이 추천 한 것을 보았습니다.

둘째, SO는 저에게 명성과 철학적으로 그들이하는 일을 실제로 알고있는 사람들로부터 계속 배우는 장소를주었습니다. SO, CodeReview 및 프로그래머에게는 책에서 얻을 수없는 통찰력이 있습니다.

분명히, SO는 책이나 다른 모든 웹 리소스를 대체 할 수 없습니다 (단, MSDN과 SO를 단일 콘텐츠 리소스로 결합 할 수는 있지만 ...). 대신 SO는 이러한 다른 리소스를 보완합니다. 그러나 최고의 교사는 경험으로 남아 있습니다 .


11

프로그래밍 기술을 향상시키는 가장 좋은 방법은 무엇입니까?

더 프로그래밍. 책과 웹 페이지를 읽는 것이 부차적입니다.

당신은 최선을 다해 학습합니다.


17
예 ... 아니요 더 배우지 않고도 더 많은 것을 할 수 있습니다. 해마다 특정 언어로 프로그램을 할 수 있었고 새로운 것을 배울 수 없었습니다. 읽기와 학교는 "편안 지대"밖에서 물건을 가르칩니다. 공감 비로는 충분하지 않지만 여전히 좋은 의견은 아닙니다.
WernerCD

1
사실, 나는 배우지 않고 많이 프로그래밍했습니다. 그래서 객체를 알거나 프레임 워크를 사용하지 않고 PHP로 웹 사이트를 만들었습니다. 코드에서 벗어나 배우고 배워야합니다
Bojan Kogoj

@ Werner— 매우 사실입니다. 나는 "새로운 것을 배우기 위해 이상적으로는 새로운 방식으로 만들고 싶은 것을 찾고"구축한다는 의미에서 "더 많은 프로그램"을 의미했습니다.
Humphrey Bogart

제가 인턴 시절을 기억합니다. 직장에서 "교사"는 때때로 우리에게 프로그래밍 과제를 주었을 때, 우리가 최선을 다해 배우기를 기대합니다. 문제는 문제가 무엇이든간에 우리는 종종 아직 그 수준에 있지 않다는 것입니다. 누군가 누군가 그녀에게 그것에 대해 질문을 할 때, 그녀는 계속해서 "아, 이건 너무 쉽다! 알아낼 필요가있다. 그런 식으로 가장 잘 배운다." 몇 시간은 그녀는 마침내 우리에게 답을 말할 것 때 우리가 ..., 물건을 시도, 문서를 통해 등을 탐독에 의해 갈 것
Panzercrisis

... 우리 가 알아내는 데 필요한 정보를 얻지 못한 것 입니다. 필요한 정보를 찾는 데, 시간이 없었을 때, 때로는 정보를 우리 나 일반 대중이 이용할 수 없었던 경우를 찾기까지 일주일 이상이 걸렸습니다. 말하기는 충분합니다. 수업은 매우 중요합니다. 누군가에게 스스로 물건을 알아 내라고 지시하면 단순히 준비가되어 있고 그 수준까지 올라갈 때만 좋습니다 .
Panzercrisis

5

학습에는 몇 가지 재료가 필요합니다.

  1. 학습자 (물론 당신입니다)
  2. 시간 (관리하고 헌신해야 함)
  3. 자원 (이로부터 SE 사이트는 적은 부분 ​​임)

당신은 좋은 학습자입니까? 당신은 학습에 충분한 시간을 보내고 있습니까? 이 두 질문에 대한 답이 yes 라면 거의 모든 자원에서 배울 수있는 충분한 잠재력이 있습니다.

그러나 귀하의 질문에 대답하기 위해, 나는 개인적으로 SE 사이트에서 많은 것을 배웠습니다. IMHO, 그들은 당신의 유일한 학습 소스 가되어서는 안되지만 유익합니다.


5

SO와 P.SE가 제공하는 두 가지 사항은 다른 책을 읽거나 직접 코드를 작성하는 것이 아니라 테스트와 교육입니다. 당신이 맹목적으로 같은 질문을한다면

왜 컴파일하지 않습니까?

wall
of
code
100
lines
long

그리고 누군가 "33 번 줄에서 쉼표는 세미콜론이어야합니다"라고 말하고 대답을 받아들이고 계속하며 같은 질문을 계속해서 계속하면 개선되지 않을 수 있습니다.

그러나 다른 사람들의 질문을 읽고 답변에 대해 생각하고 어떤 답변이 나오는지 보며 그들이 알고있는 것과 어떻게 비교되는지를 보면 정말 개선 될 것입니다. 좋아하는 편집기에 코드를 입력하고 몇 가지를 시도하여 답이 무엇인지 확인하면 실제로 향상됩니다. 그리고 당신이 개념을 설명하려고 시작할 때 (그리고 사람들은 당신이 말하는 것을 "명확하게하기 위해 기다리고 있습니다") 그것은 또한 당신을 향상시킬 것입니다.

약 30 년 동안 나는 주제를 언제도 잘 배우지 못한다는 것을 알게되었습니다. 저에게 그것은 * .se 사이트가 개발자로서의 기술에 크게 기여한 것입니다. 또한, 간단한 사실을 알고 싶을 때, 가장보기 좋은 곳이 있습니다.


3

웹 사이트 나 책을 읽지 않고 반복해서 프로그래밍 기술을 향상시킵니다.

  1. 현재 지식을 기반으로 코드 작성
  2. 결과 평가
  3. 해야 할 것과하지 말아야 할 것에 대해 평가에서 배우십시오.
  4. 1로 이동

연습은 완벽합니다. 블로그 나 책에서 좋아 보이는 것은 블로그 작성자가 이해할 수없는 이유로 사용하기에 번거 롭거나 책 작성자가 다루지 않은 것으로 판명 될 수 있습니다.


2
서적 (및 블로그 및 SO)은 사용자가 직접 생각해 보지 못한 개념에 노출 될 수 있지만 코드를 작성하면 더 나은 프로그래머가됩니다.
Annika Backstrom 2016 년

2
반면에, 외부 조언에 많은 관심을 기울이지 않으면 너무 멀리 가지 않을 것입니다. 다른 사람들은 어려운 길을 배웠으며, 그들의 경험에서 배우지 않는 것은 어리석은 일입니다. 물론, 읽기와 듣기에만 의존하지 말고 다른 사람들의 도움없이 배우려고하는 실수를 저 지르지 마십시오.
Phil

외부 독서는 # 2에 들어갑니다

특정 기술이나 프로그래밍 언어 또는 라이브러리에 대한 명백하지 않거나 독특하거나 고급 기능을 발견하려면 외부 읽기가 필요합니다. 그것들은 어떤 작업을 수행하는 데 꼭 필요한 것은 아니지만 메타 프로그래밍과 같이 수행 방식을 개선 할 수 있습니다. 그것들이 꼭 필요한 것은 아니기 때문에 사람들은 실험만으로 그들을 찾지 않습니다.
Lie Ryan

2

당신이 대답했듯이, 아닙니다. 그러나 여기서 시간을 보내는 것은보다 체계적인 학습에 유용한 보조물입니다. 다루지 않을 수있는 일부 개념에 차이가있을 수 있으므로 독립형에 의존하지 않습니다. 중간 수준의 사용자를 위해 코딩을 개선하는 가장 좋은 방법 중 하나는 GitHub 또는 기타 오픈 소스 저장소에서 시간을 보내 다른 우수한 개발자 코드를 읽는 것입니다.


1

비판적 사고와 분석은 여전히 ​​필요합니다

그 자체로는 아닙니다. 학습의 원천 (책, 블로그, 웹 사이트, SO 등)을 만드는 유일한 방법은 이해, 분석 및 반복적 통합에 의한 것입니다. 사람들이 이와 같은 포럼에서 글을 쓰는 것은 복음이 아니므로 얼마나 많은 표결이 있더라도 그렇게 취급해서는 안됩니다. 다음과 같은 경우 알아 내기 위해 제공된 의견에 대한 자체 분석을 수행해야합니다.

  1. 좋은 아이디어
  2. 상황에 맞는 아이디어

개선하는 가장 좋은 방법

종종 사람에 따라 다릅니다. 어떤 사람들은 독서와 연구를 통해 더 나아집니다. 어떤 사람들은 놀이와 실험을 통해 더 나아집니다. 다른 사람들은 자기 반성과 분석을 통해 더 나아질 수 있습니다. 당신에게 호소하는 것이 무엇이든 시도하고 그것이 당신에게 더 잘 맞는지보십시오.


0

Java를 배우는 것이 훨씬 더 쉬워졌습니다. 나는 질문하지 않았지만 매일 Java 질문을 읽기 시작했습니다. 많은 질문들이 내 이해에서 벗어 났지만, 매번 누군가가 초보자에게 질문을했습니다. 많은 사람들이 책에서 읽은 개념에 대해 질문하지만 이해하지 못하는 경우가 많으며 여기에는 문제를 더 설명하기 위해 작은 코드 샘플이 포함되어 훨씬 이해하기 쉽습니다.

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