프로그래밍이 반복적이지 않다는 것을 비 프로그래머에게 설명하는 방법? [닫은]


11

어떤 사람들은 키보드를 반복해서 타이핑한다는 프로그래밍 관점을 가지고 있습니다. 이 중 어느 것도 사실이 아닙니다. 우선 디자인 아키텍처 등과 같은 코드를 실제로 입력하는 것보다 훨씬 더 많은 일을해야합니다. 두 번째로, 새로운 도전 과제가 항상 나타나면서 매우 다양하고 반복되지 않는 작업이 될 수 있습니다.

어떻게 프로그래밍이 있음을 설명해야 하지 에 대한 반복적 인 작업 프로그래머가 아닌 ?


5
그들의 일이 반복적 인 일입니까? 그렇다면 그것이 그들을 위해 짜증 나면, 그들은 창조적이고 다양한 직업의 기쁨을 모를 것입니다. 그렇지 않다면 정확히 같다고 말합니다.
Mark Canlas

4
@Mark Canlas : 좋은 지적입니다. 이 사람들은 프로그래밍을 반복 타이핑으로 볼 때 어떤 직업을 가지고 있습니까? 아마도 일상적인 작업에서 피상적 인 반복성을 지적하고 자신의 작업을 "반복적 인 무언가로"축소 한 다음 어떻게 그렇지 않은지 를 설명하도록 요청할 수 있습니다 .
FrustratedWithFormsDesigner

14
그것이 반복적이라면, 잘못하고있는 것입니다.

1
그 말은 일반적으로 의미되었습니다. 같은 일을 반복해서 반복 할 때 많은 작업이 잘못되었습니다. 그냥 자동차 부품을 고집하고 있습니까? 로봇을 설계하십시오 (물론 가능하지 않다면 실직하게 될 것입니다.) 로봇 부품을 집어 넣는 것입니까? 로봇을 빌드하기 위해 로봇을 빌드하십시오;) 기본적으로 프로그래밍 입니다. 무한 반복성을 위해 더 많은 레이어를 추가하십시오.

2
축구가 반복적 인 스포츠라고 말하십시오 (모두가 같은 일을 계속하고 공을 차는 경우).
apoorv020

답변:


31

그들과 관련이있는 예를 들어보십시오.

테니스는 반복적입니다. 당신은 그물의 반대쪽으로 항상 공을 계속 때립니다.

축구는 반복적입니다. 골 포스트를 찾을 때까지 매번 공을 차는 것입니다.

피아노 연주는 반복적입니다. 당신은 계속해서 보드에서 손가락을 움직입니다.

젠장, 너무 지루해 !!!


3
테니스, 축구 및 피아노 연주 프로그래밍이 아닌 방식으로 지루합니다. 이러한 모든 추구에서 동일한 상황에 반복적으로 직면하게되며 같은 일을해야합니다. 그러나 프로그래밍에서 다른 답변이 지적했듯이 동일한 상황에 두 번 도달하면 잘못하고 있습니다.
Avi

1
동일한 정맥 프로그래밍의 @Avi는 테니스 나 피아노가 아닌 방식으로 지루하므로 실제로 논쟁의 여지가 있습니다.
Maurycy

18

산문을 작성하는 것이 반복적 인 타이핑과 동일한 정도로 프로그래밍이 반복적 인 타이핑이라고 말할 수 있습니다. 앉아서 신중하게 편지를 모아서 훌륭한 (또는 평범한) 소설을 쓸 것인가?


18

글쎄, 그것은 방법입니다. 같은 문자 (AZ, az, 0-9)를 반복해서 반복해서 입력합니다. 다른 조합으로.

나는 보통 그러한 사람들과 그러한 토론을 피하려고 노력합니다.


1
@ 루크-좋은 조언.
John Shaft

4
+1. 책과 알파벳 의 좋은 비교를 생각하게합니다 . (느슨하게 번역됨 : 알파벳은 구조와 내용 모두에서 책을 능가하는 문자 모음입니다. 책에서 문자가 모두 섞여 있지만 알파벳의 문자는 연속적으로 오름차순으로 작성됩니다. )
back2dos

1
나는 당신이 당신에게 관심이있는 모든 사람들을 피하지 않기를 바랍니다.

3
@Rook : 누군가 프로그래밍 세계에 관해 질문하는 것은 축복입니다. 피하지 마십시오. 그들과 대화하십시오. 네가 할 수있는만큼.

4
문장 부호를 사용하여 여러 가지를 섞어 봅니다. AZ는 저에게는 흥미롭지 않습니다.
MJB

13

프로그래밍은 음악 작곡과 거의 비슷 합니다. 반복적 인 과정과는 거리가 멀다.

  • 달성해야 할 것에 대한 전반적인 관점에 대해 생각하기 시작합니다.
  • 작곡의 작은 덩어리에 대해 생각하고 작성합니다.
  • 완료되면 재생합니다 (Visual Studio의 F5).
  • 필요에 따라 프로세스를 반복
  • 때때로 당신은 아이디어를 빌리거나 다른 컴포 지터로부터 영감을 얻습니다
  • 때로는 부품을 이동하거나 재 작업하여 노래를 리팩터링

때때로, 당신은 당신이 원하는 것을 알지 못하고 놀아요. 아마도 가장 흥미로운 작곡을 얻는 가장 좋은 방법은 ...


1
Haha ... +1 (Visual Studio의 경우 F5). 이제 기타에 F5 키만 추가 할 수 있다면 ...
JasCav

3
Visual Studio의 경우 -1;)
Jordan

Pierre는 OP에 대한 전반적인 반응에 동의하지 않지만 음악 구성이 프로그래밍과 유사하다는 것에 동의하지 않습니다. 구성이 더 어렵다-나는이 포스트에서 그것을 합리적으로 잘 생각한다 : linkedin.com/…
azheglov

1
@ azheglov : 더 열심히 무엇을 기반으로? 누구나 작성할 수 있습니다. 우리의 거의 같은 MTV에있을 것입니다 이제 거의 CNN 인터뷰됩니다

예를 들어 음악을 작곡하는 것이 "더 어렵다"고해도 CS의 문제는 보상하기 위해 확장됩니다. 각 코드 줄은 단일 노트보다 작성하기 쉬울 수 있으므로 문자 그대로 수백만 개 (더 많지 않은 경우)의 코드 줄을 가진 프로젝트가 있습니다. 따라서 각 원자 동작이 더 단순하더라도 최고의 프로그래머는 더 어려운 문제를 해결할 것으로 기대됩니다.
Tikhon Jelvis

4

나는 보통 프로그래밍이 창조적 인 문제 해결이라고 설명한다. 당신은 문제가 있습니다-당신은 제품의 기능을 원합니다 (그리고 나는 잘 알려진 제품, Amazon.com, MS Word 등을 선택합니다). 그것은 전에 한 번도 이루어지지 않았으며, 당신은 첫 번째이기 때문에 이것은 어떤 예술 프로젝트와도 같습니다. 비전이 있지만 길을 찾아야합니다.

또한 문제를 해결하는 방법, 여러 가지 나쁜 방법 및 여러 가지 좋은 방법이 있다는 사실에 중점을 둡니다. 장기적으로는 최선의 방법 이있을 수 있지만, 그 최선의 방법은 오랫동안 (확장 성, 재사용 성 등) 분명하지 않으므로 개발시에는 많은 중요한 판단이 필요합니다.

마지막으로, 수령인은 최종 제품을 사랑하거나 미워할 수 있습니다. 어떤 사람들은 피카소를 좋아하고 어떤 사람들은 현대 미술의 머리 나 꼬리를 만들 수없는 것처럼 – 어떤 사람들은 특징을 좋아할 수도 있고, 어떤 사람들은 그것을 싫어할 수도 있습니다. 당신은 대부분의 사람들을 위해 최선을 다하며 모든 사람을 기쁘게 할 수 없다고 생각합니다.

에 초점을 맞추고:

  • 알 수없는 영토
  • 아무도 대답하지 않았다
  • 해석 대상

이 작품은 예술과 훨씬 흡사하고 반복적 인 지루한 작품과 훨씬 비슷하다는 것을 보여줍니다.

나는 이것을 예술가들과 자주 이야기한다. (그리고 그들은 컴퓨터 작업이 독창적이지 않다는 본능적 인 신념을 갖고있는 것 같다. 일반적으로 나는 그것을 예술가가 좋아하는 예술 형식과 관련시킬 수있다. , 춤, 음악 만들기 및 기타 예술-모두 새롭고 독창적이며 창의적인 무언가를 수행 할 수있는 일련의 반복적 인 활동이 필요합니다. 이렇게하면 아티스트는 일반적으로 반복적 인 활동으로 이어질 수 있다고 거부하는 데 문제가 있습니다 영감과 아름다움의 작품.

그 시점에서, 그들은 일반적으로 나의 "예술"이 기괴한 구문 구문과 엉뚱한 UML 다이어그램을 포함하고 있다고해서 그것이 그 코드 라인에서 독창적이지 않다는 것을 의미하지는 않습니다. 시스템의 모델은 결국 부품의 합과는 상당히 다른 것을 만듭니다.


2
나는 예술가이기 때문에 나는이 비교를 좋아한다. 대부분의 예술가, 모든 유형의 예술가 및 예술 활동과 관련된 사람들에게 의미가 있습니다. (아티스트가 아닌지 잘 모르겠습니다.)
DarenW

3

프로그래밍은 추상화에 관한 것입니다. 많이 쓸수록 더 많은 유사점을 볼 수 있습니다. 그러나 그때는 추상화 할 시간입니다. 리팩토링을 통해 프레임 워크가 발전하여 중복이 제거됩니다. 이는 문제 도메인 코드의 복잡성을 줄입니다.

반복적 인 프로그래밍이 가능합니다. 그러나 비효율적입니다.


코딩이 매우 반복적으로 증가하면 +1은 "잘못하고있다"는 신호일 수 있습니다.
FrustratedWithFormsDesigner

3

실제로 있었다면 복사하여 붙여 넣기를 사용하면됩니다. : D

프로그래밍의 주요 과제 중 하나는 고품질의 빌딩 블록을 만드는 것입니다.

  • 이를 사용하여 견고한 구성 요소의 건물 (예 : 빌드중인 소프트웨어)을 구축 할 수 있습니다. 안정성이 향상됩니다.
  • 동일한 반복 또는 다른 반복에서 여러 번 재사용 할 수 있으므로 (반복을 줄이기 위해) 생산성 높일 수 있습니다
  • 건물 전체를 무너 뜨리지 않고 블록을 변경할 수있어 로컬 유연성이 향상됩니다.
  • 블록의 모든 인스턴스를 한 번에 변경할 수 있으므로 글로벌 유연성이 향상됩니다.

본질적 으로이 도전은 당신이 자신을 반복하지 않아야합니다 .

결론 : 프로그래머로서 자신을 반복한다면, 소프트웨어를 만드는 데 시간을 낭비 할 수 있습니다.


1

반복성 또는 타이핑 / 클릭이 피상적 인 방법을 지적하는 다른 답변 외에도 프로그래밍이 타이핑보다 문제 해결에 훨씬 더 많은 것을 지적 할 수 있습니다 (컴퓨터 과학은 천문학은 망원경에 관한 입니다.

타이핑은 솔루션을 구현하는 한 가지 방법 일 뿐이며 현재 가장 널리 사용되는 방법이지만 다음과 같은 다른 방법이 있습니다.

  • 화이트 보드의 의사 코드 (솔루션을 보여 주지만 실제로 실행하거나 아무것도하지는 않습니다)
  • 펀치 카드 (현재는 사용되지 않음)
  • 프로그래머블 로직 어레이 일 수도 있고 솔루션을 하드웨어에서 직접 구현하기를 원한다면 (대부분 뇌에서 PLA로 솔루션을 가져 오기 위해 약간의 타이핑 이있을 수 있지만 , 이러한 코드를 "코딩"하는 것이 얼마나 일반적인지 모르겠습니다. 직접적으로-나는 그들과 함께 일하지 않고 단지 다른 사람들로부터 알고 있습니다).
  • 사람들 (최근에 분류 알고리즘을 춤으로 구현 한 그룹에 대해 들었습니다)
  • 사막에서 바위입니다 . ;)

0

프로그래밍 행위의 대부분은 타이핑입니다. 그림은 붓으로 쓰다듬는 것을 포함하지만 반복적으로 부르는 것은 피상적입니다.

그들이 그 논리를 다음에 적용 할 것인가 :-영업 사원은 전화로 많은 대화를 나눕니다. -관리자는 많은 회의에 참석합니다. -가수들은 노래 만 해요. -액터가 스크립트를 반복합니다.

그렇다면 프로그래머가 아닌 이유입니다.


-2

프로그래밍을 잘하고 싶다면 반복적이지만 무엇이든 동일하게 말할 수 있습니다. 반복은 모든 기술을 습득하는 핵심입니다.


-2

글쎄, 프로그래밍은 정말 반복적 인 작업이 될 수 있습니다. 특히 인프라가 구축되면 동일한 대화 / 비즈니스 소프트웨어를 구축하는 지루한 프로세스 ( 약간 다름)가 반복해서 시작됩니다. 마감일을 지키기 위해 참여할 필요가 없거나 그런 종류의 일을 할 수있는 후배가 충분하다면 운이 좋습니다.


1
종류의 당신이 할 일, 내 생각에 따라 달라집니다
ANTO
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.