저는 Peter Seibel의 직장에서 코더를 읽고 있으며, 글을 쓸 수없는 프로그래머가 일반적으로 가난한 프로그래머를 만든다고 언급 한 적이 있습니다. Douglas Crockford, Joshua Bloch, Joe Armstrong, Dijkstra가 주장했습니다. 책의 절반 만 읽습니다).
이것에 대한 당신의 견해는 무엇입니까? 영어와 같은 자연 언어로 글을 쓰지 못하는 것이 좋은 코드를 작성하는 데 방해가됩니까?
답변
‘코드 작성’보다 프로그래밍에 더 많은 것이 있습니다. 성공적인 프로그래머가되기 위해서는 대부분 의사 소통이 필요합니다. 고객과 연결하고, 고객의 요구를 이해하고, 기술 영역으로 변환하고, 코드로 표현한 다음, 고객에게 결과를 설명 할 수 있습니다.
글로 자신을 명확하게 표현하는 데 어려움을 겪는 프로그래머는 일반적으로 의사 소통을 잘하지 못할 수 있지만, 언어와 글을 잘 이해하는 사람은 일반적으로 해당 기술을 자신이 작성한 코드로 번역 할 수 있습니다.
글을 잘 쓸 수 없어서 의사 소통을 잘하면 아주 좋은 프로그래머가되지 않을 것입니다.
Jason Fried와 David Heinemeier Hansson (37 신호)은 그들의 저서 Rework에서 다음과 같이 말합니다.
몇 사람 중에서 입장을 정하기로 결정하려는 경우 최고의 작가를 고용하십시오.
훌륭한 작가가되는 것은 글쓰기 이상의 것입니다. 명확한 글쓰기는 명확한 생각의 표시입니다. 위대한 작가들은 의사 소통하는 방법을 알고 있습니다.
답변
- 충분히 설명 할 수 없다면 충분히 이해하지 못할 수도 있습니다
. 똑똑한 사람이된다는 것은 다른 똑똑한 사람들과 함께 일하고 효과적으로 의사 소통해야한다는 것을 의미합니다. - 당신의 머리 속에 만 있다면 당신이 가진 어떤 좋은 아이디어도 쓸모가 없습니다.
당신의 아이디어를 효과적으로 전달할 수 있다는 것은 큰 이해의 표시입니다. 이것은 프로그래밍 분야 이상의 분야에 적용됩니다.
답변
질문을 검토하면 직접 답변을 얻습니다.
영어와 같은 자연 언어로 글을 쓰지 못하는 것이 좋은 코드를 작성하는 데 방해가됩니까?
좋은 코드를 작성한다는 것은 실제로 무엇을 의미합니까?
사람들이 읽을 수 있도록, 그리고 기계가 실행할 수 있도록 프로그램을 작성해야합니다.
-Abelson & Sussman, 컴퓨터 프로그램의 구조 및 해석
그것은 프로그래밍 언어로 자신을 명확하고 간결하게 정확하고 우아하게 표현하는 것을 의미합니다.
영어 나 프로그래밍 언어로 자신을 능숙하게 표현하는 것의 유일한 차이점은 영어가 훨씬 관대하다는 것입니다.
답변
나는 그것이 코드 원숭이에게 큰 장애라고 생각하지 않습니다 (나는 자신의 모국어로 자신을 표현할 수있는 특정 기본 수준 / 능력을 가정하고 있습니다). 그러나 나는 당신 (개발자)이 비 기술적 청중에게 디자인 / 아치 / 계획을 더 잘 설명하기 시작함에 따라 그것이 큰 장애가 될 수 있다고 생각합니다. 저와 거의 같은 기술 수준에있는 다른 사람에게 무언가를 가져 오는 경험에서, 저는 더 쉽고 (자연적인) 언어 기술을 덜 사용하여 고객 및 / 또는 관리자에게 무언가를 분명히 표현합니다. 주제가 덜 구체적이되기 때문에 기술적 인 대상이더라도 기술 토큰을 사용하는 사람도 그와 관련하여 글을 쓰는 사람 (또는 그 문제에 대해 이야기하는 사람)은 상당히 명료해야합니다.
답변
그것은 “좋은 코드”의 의미에 달려 있습니다.
작동하는 코드를 의미한다면 사람과 의사 소통 할 수있는 것과 컴퓨터와 의사 소통 할 수있는 것 사이에는 아무런 관계가 없습니다.
작동하고 유지 보수가 가능하며 코드의 의도를 명확하게 표현하는 코드를 의미한다면 좋은 코드를 작성하는 것과 인간을위한 언어로 작성하는 것 사이에는 절대적인 관계가 있습니다.
이해할 수있는 코드를 작성하는 데 훌륭한 작가가되기 위해 필요한 모든 기술이 필요하지는 않지만, 인간이 읽을 수있는 몇 가지 요소가 여전히 있습니다. 어떤면에서는 컴퓨터가 실행하는 동안 성능이 좋지 않은 구문을 사용하지 않으면 서 코드로 의도를 설명해야하므로 좋은 코드를 작성하기가 더 어려워집니다.
답변
문제는 코딩도 의사 소통 기술입니다. Jack Manssle은 Embedded Muse e-newsletter에서 최근 Doug Abbott를 인용했습니다.
프로그램을 작성할 때 실제로하고있는 일은 다른 사람에게 컴퓨터가 원하는 것을 전달하는 것입니다. 프로그래밍은 다른 형태의 글쓰기와 마찬가지로 의사 소통에 관한 것입니다. 그렇습니다. 컴퓨터 공학 학생들은 작문에 잘 노출되어야합니다. 그러나 컴퓨터 과학에는 그다지 귀중한 것이 거의 없기 때문에 기본 창작 작문 수업이 필요할 수도 있습니다.
산문 작성 방법을 모르는 프로그래머도 코드 작성 방법을 모릅니다.
이 흥미로운 기사에 대한 추가 정보 :
답변
이것은 모두 일화이지만,
내가 함께 일한 최고의 “록 스타”프로그래머 중 하나는 매우 가난한 작가였습니다. 그리고 내가 “매우 가난하다”고 할 때, 나는 당신이 그의 이메일을 보았을 때, 그가 매우 취하거나 거의 문맹이었던 것처럼 온 유형을 의미합니다. 오타, 구두점 부족, 아이디어를 명확하게 표현하는 데 어려움 및 일반적인 철자 실수 ( “그들 / 그들”등)는 거의 모든 경우에 매우 많았습니다. 그의 이메일 중 일부를 읽는 것-나는 그에게 클라이언트에게 직접 이메일을 보내는 것에 대해 걱정했을 것입니다 (우리는 그 회사에서 그렇게 할 필요가 없었습니다)-회사가 나빠 보이게 만들 수 있기 때문입니다!
여전히 그는 슈퍼 스타 프로그래머였습니다. 평균보다 생산적이고 스위치가 많은 주문.
무엇을 만들어야할지 모르겠습니다. 나는 다른 사람들과 함께 이것을 여러 번 보았다. 일부는 앉아서 물건을 쓰는 요령이없는 것 같습니다. 그리고 종종 그것은 다른 영역에서 그들의 재능에 영향을 미치지 않는 것 같습니다 (프로그램과 같이 비교적 유사한 “지식 작업”재능). 당신은 그것이 연결될 것이라고 생각할 것이지만, 나는 그렇지 않은 곳에서 이와 같은 몇 가지 살아있는 예를 보았습니다. 나는 그들이 “임을 확실히 가능하다 생각하지만 규칙을 증명하는 예외 나는 아마 프로그래머가 아닌 나쁜 작가를 주목하는 생각도 못하고, 좋은 작가 -” 있다가 .