좋은 프로그래밍 은유 란 무엇입니까? [닫은]


30

프로그래머가 아닌 사람에게 프로그래밍이 무엇인지 설명하는 것을 말합니다. 나는이 질문을 만들기 전에 비슷한 질문을 찾아야했지만, 찾은 몇 가지 질문은 질문을 피하는 것처럼 보였으며 특히 은유 또는 유추를보고 싶습니다. 나는 개인적으로 은유 나 유추를 사용하여 누군가에게 기술적 인 것을 설명하는 것이 더 쉽다는 것을 안다.

내가 관심이있는 이유는 많은 사람들이 매일 프로그래머의 작업에 직면하기 때문입니다. 그러나 보통 사람에게 프로그래머가 무엇인지 물어 보면 실제로 알지 못합니다. 이로 인해 특정 상황에서 오해가 발생할 수 있습니다 (예 : "[...]. 컴퓨터에 능숙하다고 생각했습니다!")

나는 정말로 가장 좋은 것을 찾고 싶습니다. 나는 나의 경력 선택이 무엇인지 누군가에게 쉽게 설명 할 수 있기를 원합니다. 물론 적어도 일반적인 아이디어입니다.

나는 개인적으로 확고한 것을 가지고 있지는 않지만 오랫동안 그것에 대해 생각해 왔으며 일반적으로 컴퓨터가 이해하는 언어를 알게되는 '언어'은유에 끌려 들었습니다. 우리의 문제를 해결하기 위해 그들을 가르치거나 "가르쳐"주세요.

예를 들면 다음과 같습니다.

대체 현실에서 인공 지능을 갖춘 휴머노이드 로봇이 존재하고 어떤 사람들은 영어의 변형 인 공통 언어를 통해 로봇과 통신 할 수 있다고 상상해보십시오. 로봇과 의사 소통 할 수있는 사람들은 집안일을하는 것과 같이 특정 문제를 해결하거나 특정 작업을 수행하는 방법을 가르 칠 수 있습니다.

글쎄, 그런 로봇은 아직 존재하지 않지만, 우리 시대의 프로그래머는 그 사람들과 비슷하지만 로봇과 통신하는 대신 컴퓨터와 통신합니다. 프로그래머는 이 "공통 언어"를 사용하여 만든 소프트웨어 를 통해 특정 작업을 수행하거나 특정 문제를 해결하는 방법을 컴퓨터에 "교육"합니다 .

프로그래머와이 "공통 언어"는 이메일, 웹 사이트, 비디오 게임, 워드 프로세서, 스마트 폰 ( 간단히 말해서 ) 및 우리가 매일 사용하는 다른 많은 것들을 제공합니다.

나는 왕좌 나 다른 것에 프로그래밍을하려는 것이 아니라 내가 얻을 수있는 최고의 은유 일 뿐이다.

나는 누군가이 문제에 대해 어떤 문제를 발견 할 것이라고 확신합니다. 아마도 조금 생각이 들었습니다. 그러나 다시이 질문을하는 이유입니다.


프로그래밍 언어를 배우는 것이 외국어를 배우는 것과 다소 유사하다고 생각합니다. 그러나 컴퓨터 프로그래밍 행위는 일반적인 말하기 / 쓰기 행위와는 매우 다릅니다. 컴퓨터 프로그래밍에는 최소한 정밀성, 혁신 성, 집중력, 창의성, 조직 성, 지속성 및 엄격한 논리가 필요합니다.
Ami

나는 잘 알려진 "그러나 나는 당신이 컴퓨터에 능숙하다고 생각했다"고 반박 할 것이라고 생각합니다. 예를 들어 누군가가 경찰이 범죄를 저지르는 데 능숙하다고 생각할 수 있습니다. 범죄 현장 "또는 무언가.
deltreme

왜 프로그래머가하는 일을 설명하지 않습니까? 도로와 로봇, 빌딩 블록에 대한이 모든 이야기는 어리석은 짓 입니다. 제가 주식 브로커에게 무엇을하는지 물어 보면 도박 일화를 듣고 싶지 않습니다. 성형 외과 의사에게 그들이 무엇을하는지 물어 보면 예술적 감각 (또는 무엇이든)에 대해 듣고 싶지 않습니다. 사실 만 밝히십시오!
Kirk Broadhurst

답변:


43

어딘가에서 운전하는 방법에 대한 단계별 지침을 작성하는 것과 같습니다. 그러나 일반적으로 '교통 체증이있는 경우'또는 '차선에서 트럭이 고장 나는 경우'와 같은 상황에 대한 비상 계획을 추가해야합니다.

그리고 때로는 더 깊숙히 뛰어 들어 어느 쪽을 타야하는지 또는 빨간 불에서해야 할 일과 같은 도로 규칙을 설명해야합니다. 때로는 스티어링 휠 또는 가스 페달의 작동 방식을 정확하게 설명해야 할 수도 있습니다.

일반적으로 모든 정보를 정확하게 설명하면 고객은 "호버 크래프트를 운전하는 사람을 위해 일해야한다는 점을 제외하면 완벽합니다"라고 말합니다.


하하, 나는 이것을 정말로 좋아한다.
Jorge Israel Peña

14
나의 호버 크래프트는 뱀장어들로 가득합니다!

3
또는 당신은 그냥 그것을 PROLOG 할 수 있습니다 : 이것은 차에 당신입니다, 이것은 당신의 목적지입니다, 이것은 사고입니다, 지금 말해, 당신은 사고없이 목적지에 갈 수 있습니까?
biziclop

아니요, 일반적으로 "완벽하지만 집을 원했습니다 ..."로 바뀝니다. 그래도 당신의 비유를 사랑하십시오 :)
jmq

3
훌륭한 비유. 또한 자동차는 사용자가 말한대로 정확하게 행동하지만 상식이나 의사 결정 능력이없는 사람이 운전합니다.
밥 머피

20

나는 매우 멍청한 기계에 대한 매우 자세한 지침을 작성합니다.


17

나는 할머니에게 친숙한 비법 인 " 뜨개질 법을 쓴다"를 사용합니다 .

이론적 해석:

  • 뜨개질은 기본적으로 자세한 지시 사항을 따라 정확하게 꺼내야하는 간단한 기계 프로세스입니다.
  • 대부분의 편직 지침은 여러 크기를위한 것입니다. 이것은 당신에게 if진술과 수학 및 루프를 제공합니다 .
  • 화난 할머니의 군대에 버기 스웨터가 붙어있을 때 레시피에서 오류를 발견하게됩니다!

제 생각에는 아주 좋은 은유입니다.
Paul Nathan

뜨개질 같은 소리가
튀는

14

아주 좋은 비유는 아니지만 사람들이 기계를 고치라고하면 "저는 자동차를 디자인하는 사람입니다. 기계공이 아닙니다!"라고 말합니다.


4
"나는로드 리가 아니라 음악 가야!"
EricSchaefer

@Eric : 더 시적 :)
Matthieu M.

1
@Eric-more "난 작곡가가 아닌 작곡가"입니다.
Steve314

나는 원래 전자 제품 라인을 따라 무언가를 생각하고있었습니다. "신디사이저를 납땜 할 수는 있지만 음악을 재생할 수는 없습니다."그러나 아마도 더 광범위하게 유용 할 것입니다. "
naught101

12

어렸을 때 저는 프로그래밍에 대한 정말 좋은 설명을 읽었습니다. 로봇에게 학교에가는 것과 같이 일상적인 일상적인 일을하는 방법을 말하는 것과 같습니다. 그래서 당신은 "학교에 가라!"라고 말할 수는 있지만, 방법을 모릅니다. 그래서 당신은 "외출하고, 왼쪽으로 가십시오. 학교에 올 때까지 계속 걸어 가고, 왼쪽으로 가서 들어가서 앉으십시오"라고 말합니다. 그러나 길이 있습니다! 따라서 중간에 어딘가에 "도로에서 멈추고, 교통이 없는지 확인하고, 길을 건너, 계속 걸으십시오"라고 지시해야합니다. 그리고 문은 어떻습니까? "학교 문이 열려 있는지 확인하십시오. 열려 있지 않으면 문을여십시오." 거기에. 결국 로봇에게 스스로 학교에가는 방법을 알려주는 프로그램이 있습니다.

이것은 로고와 매우 깔끔하게 조화를 이루며 복잡한 모양을 만들기 위해 거북이에게 정확하게 이런 식으로 지시합니다.


10

프로그래밍은 초콜릿 상자 와 같습니다 . 때로는 원하는 것을 즉시 찾을 수 있지만 대부분의 경우 많은 시행 착오가 필요합니다. 때때로 당신은 코코넛을 얻습니다.

신호등 . 자동차가 움직이거나 정지 중입니다. 하나의 신호등은 설정하기가 쉽지만 다른 신호등을 추가하면 어떻게됩니까? 3 분의 1은 어때요? 도시 전체는 어떻습니까? 대중 교통 시스템은 수천 개의 정지 등으로 구성되어 있으며 각각 하나만으로 간단하지만 전체적으로 볼 때 복잡한 시스템이됩니다. 이러한 신호등 중 하나가 오작동하거나 몇 초만 지나면 전체 시스템이 혼란에 빠집니다. 모든 것이 동기화되면 그냥 즐기십시오.

동기 스피커는 사람의 동기, 꿈, 아이디어의 퍼즐을 잠금 해제 키를 찾습니다. 상황마다 사람마다 다릅니다. 과거에 효과가 있었던 것은 현재 적절하지 않을 수 있습니다. 때로는 키를 재사용 할 수 있지만 개인에게 맞게 조정해야합니다. 다른 경우에는 열쇠를 새로 만들어야합니다. 가장 보람있는 것은 그 사람이 잠금 해제되고 그들이 나가서 세상을 정복하는 것을 볼 때입니다. 가장 치명적인 것은 당신이 가까이에 있다고 느낄 때지만 잠재력을 열 수는 없습니다.

형사 가 단서를 찾고 증거를 수집하여 자신의 사건을 서서히 구축 하는 형사 이야기 . 체계적이고 똑똑하며 정확한 날이 이길 것입니다. 부주의하고 무지하며 게으른 사람은 그 사건을 종식시킬 것입니다. 결국, 작품은 동료 배심원 앞에 서거나 떨어질 것입니다.

슬롯 머신 . 모든 동전을 넣고 레버를 당기십시오. 때때로 당신은 큰 승리, 때로는 몇 시간 동안 거기에 앉아 아무 일도 일어나지 않습니다. 때로는 누군가 다른 사람이 부담없이 걸어 가서 레버를 한 번 잡아 당겨 대박을 이깁니다.

음악 . 하나의 메모는 충분히 간단하지만 측정이 더 복잡합니다. 완전한 노래에는 많은 음표가 있습니다. 하나의 음표가 꺼져 있으면 전체 연주를 망칠 수 있습니다. 모든 음표가 완벽하게 전달되면 연주가 배경으로 사라지고 음악 만 존재합니다.


누가. 당신은 누가 얻는다.
Tim Williscroft 2016 년

6

가장 좋은 은유는 그 자체입니다. 다른 것이 있으면 정확도가 떨어집니다. 따라서 최고의 은유를 고르는 것은 특히 프로그래밍에 대해 무엇을 포착하고자 하는가에 달려 있습니다. 여기에는 은유를 코딩하는 것에 대한 많은 답변이 있기 때문에 개발 프로세스에 대한 고전적인 은유로 전체적으로 대답 할 것입니다.

건축

이 은유의 가장 일반적인 측면은 물리적 설계자가 소프트웨어 설계자와 다소 유사하다는 것입니다. 다른 몇 가지 유사점이 있습니다.

  • 변경 사항이 빠를수록 더 저렴하고 저렴합니다. 즉, 지금은 종이에서 한 줄을 이동하거나 나중에 시멘트에서 10 톤을 이동할 수 있습니다.
  • 적절한 계획이없는 건물은 무너지는 경향이 있습니다
  • 빌더는 클라이언트가 원하는 것을 구현하려고 시도합니다. 고객이 건물의 모습을 정확하게 설명하지 못하면 (또는 의사 소통에 다른 오류가있는 경우) 변경하는 데 많은 비용이 듭니다.
  • 구부릴 수없는 물리 법칙이 있습니다. 폭이 100 피트 인 2 층 스토리를 100 피트 폭의 1 층 스토리에 구축 할 수없는 것처럼, 기능 X는 강력한 하위 시스템 Y 없이는 구축 할 수 없습니다.

물론 어떤 은유와 마찬가지로 한계도 있습니다. 그것에 몇 가지 결함이 있습니다.

  • 건물은 1 회 사용됩니다. 당신은 어딘가에 그것을 빌드하고 거기에 남아 있습니다. 증분 비용없이 백만 가지 요구를 가진 백만 명의 사용자를 위해 백만 번 복사 할 수 없습니다.
  • 건물은 소프트웨어보다 훨씬 더 불변입니다.
  • 건축 자재 비용과 명확한 비유는 없습니다. 한 줄의 코드는 비용이 들지 않습니다. 코드를 만드는 데 걸리는 시간 만 걸립니다.
  • 소프트웨어를 사용하여 (요청한 사람에 따라) 증분 아키텍처는 한 번 설계 한 다음 구축 할 수 없습니다.

따라서 다른 비유와 마찬가지로 설명하려는 내용에 따라 다릅니다. 하나의 은유에 지나치게 의존하지 않도록주의하십시오. 그렇지 않으면 고객이 새 급여 시스템의 재산세가 무엇인지 궁금해하기 시작할 것입니다.


부엌 문을 잘못 정렬하면 지붕이 폭발하지 않습니다. 집은 견고하지만 소프트웨어는 카드 집만큼 견고합니다. 암시적이고 명시적인 규칙 (모델)이 조만간 극도로 복잡해지기 때문에 피할 수 없습니다.
KarlP

청사진을 복사 할 수 있습니다! 새 자쿠지에 25m ^ 2를 추가하는 등 항상 건물을 확장 할 수 있습니다!
Zolomon

유추의 결함은 실제로 재료 / 위치의 1 배 사용 및 실제 / 가상 특성이 아닙니다 (각 빌드는 고유합니다). 건물 비유의 실제 결함은 건물의 문제에 대한 역동적 인 행동이 장벽이라는 점입니다. 활동이 공간과 외부 활동으로부터 보호되는 공간을 제공합니다. 소프트웨어의 "문제"에 대한 동적 동작은 데이터를 처리하는 것입니다.
Huperniketes

이 블로그 게시물의 시작 부분에 좋은 그림이 있습니다 : orestis.gr/blog/2010/11/06/why-i-bill-hourly 나는 내 자신의 "유"질문을 쓰려고했지만이 질문을 찾아서 답을 찾았습니다. 내가 줄 것을 가장 좋아합니다.
Todd Williamson

6

저는 Chris McMahon의 소프트웨어 개발 비유가 음악, 특히 재즈 음악과 같은 것을 좋아합니다.

Ella Fitzgerald와 Basie 백작이 One O'Clock Jump 노래를하고 있습니다. 노래는 열두 개의 파란색으로 UI가있는 데이터베이스 앱과 동일한 재즈입니다. 즉, 모든 프로그래머가 UI를 사용하여 데이터베이스 앱을 구축 한 것처럼 모든 미국 음악가는 12 바의 블루스를 연주했습니다. 베이시 백작에서 지미 헨드릭스, 라몬 즈에 이르기까지 많은 노래가 걸려있는 틀입니다.

이 특정 비디오는 민첩한 연습의 훌륭한 예입니다. 음색과 피아노가 서로 어떻게 영향을 미치는지 들어보십시오. 이것은 페어 프로그래밍과 매우 비슷하며 TDD와 매우 비슷합니다. 피아노가 응답합니다. 피아노는 무언가를한다; 음성이 응답합니다. 그리고 눈 접촉을 확인하십시오. 이 사람들은 즉각적인 상황에 대해 강렬하게 알고 있습니다. 그들은 악보 (BDUF)가 없습니다. 그들은 훌륭한 소프트웨어 개발처럼 집중력과 기술을 필요로하는 활동에 참여합니다. 또한 훌륭한 소프트웨어 개발이 청구서를 지불하는 사람들의 요구를 인식해야하는 것처럼 청중이 있다는 것을 분명히 알고 있습니다.

블로그 게시물에 대한 링크는 다음과 같습니다. http://chrismcmahonsblog.blogspot.com/2007/05/example-of-analogy-monks-vs-music.html


1
음악 은유를 게시하려고했지만 (작곡 석사 학위를 소지하고 있음) Chris의 이야기는 내가 할 수있는 것보다 더 잘 다룹니다.
Alan

5

때로는 마음이없는 좀비제어 하는 프로그래밍을 말합니다. . 내 블로그 게시물을 요약 하면 다음과 같습니다.

  • 좀비처럼 우리가 작업하는 컴퓨터는 매우 바보입니다. 지시 사항이 자세하지 않으면 지시를 내리기가 어렵습니다.
  • 좀비는 공격적이며 지시 사항에서 작은 세부 사항을 놓치면 생물을 처리하지 않은 채로두면 자신 주위의 모든 것을 분쇄 할 수 있습니다. 컴퓨터와 동일 : 자세한 지침이 없으면 프로그램이 중단되고 데이터가 손상 될 수 있습니다.
  • 좀비를 제어하려면 마법을 알아야합니다. 프로그래밍과 동일합니다.
  • 뇌를 가진 사람들이 한곳에 모 일수록 더 많은 컴퓨터를 가질 수 있습니다. 두뇌는 좀비를 끌어들이는 것과 같은 방식으로 컴퓨터를 끌어들이는 것 같습니다.

나는 작은 LED가 나를 바라 보면서 잠을
잘까

5

프로그래밍은 레고로 물건을 만드는 것과 같습니다 .

  • 더 큰 것을 만들기 위해 많은 작은 비트를 함께 붙어 있습니다.
  • 작은 비트는 모양과 크기가 제한되어 있습니다.
  • 작은 것들은 특정한 방식으로 만 맞을 수 있습니다
  • 이 물건을 가지고 노는 것은 많은 재미가 될 수 있습니다

5

컴퓨터 프로그래밍은 아이를 키우는 것과 같습니다 ...

  • 모두가 올바른 방법으로 동의하지 않습니다
  • 밤에 당신을 유지
  • 그것은 당신이 말한 것을 결코하지 않습니다.
  • 주제에 대해 책을 몇 권이나 읽든 상관없이 무엇을하고 있는지 전혀 모른다고 느끼게됩니다
  • 잠시 후 게으른 경향이 있습니다
  • 앞으로 큰 수익을 기대할 수 있지만 수명이 다할 때까지 유지해야합니다.
  • 원하는만큼 깨끗하고 영리하거나 안전하지 않습니다.
  • 나중에 다시 살펴보면, 도대체 무슨 생각을했는지 궁금해합니다
  • 그것이 당신을 일으키는 모든 스트레스에도 불구하고, 당신은 어쨌든 그것을 좋아합니다.

가장 큰 차이점은 누군가가 소스 코드를 훔치면 화를 낸다는 것입니다. 그러나 종종 누군가가 우리 아이들을 우리의 손에서 떼어 놓게되어서 기쁩니다.


4

프로그래밍은 공장 또는 조립 라인을 구축하는 것과 같습니다.

자동화 된 생산 라인

소프트웨어는 컴퓨터 내부에 존재하는 기계 또는 조립 라인으로 생각하십시오. 일부 원자재와 구성품은 기계에 공급되며 일련의 절차에 따라 최종 제품으로 가공합니다. 절차는 특정 원료 또는 구성 요소에 대해 특정 순서로 특정 파라미터 세트 (예를 들어, 시간, 온도, 거리 등)에 대해 특정 작업을 수행하도록 설정된다. 수행 할 작업의 세부 사항이 잘못되었거나 기계의 센서가 올바르게 보정되지 않았거나 일부 원자재 또는 구성 요소가 예상 품질 표준에 포함되지 않은 경우 작업 결과가 변경되어 제품이 나오지 않을 수 있습니다 예상대로.

이러한 기계는 작동 및 허용되는 입력이 매우 견고합니다. 기계는 설계자의 지능이나 현재 운영 환경에 의문을 제기하지 않습니다. 지시가있는 한 계속 절차를 따릅니다. 원자재 나 구성품의 변경이 이후 작업에서 발생한 일에 큰 영향을 줄 수 있더라도 기계는 여전히 절차를 수행합니다. 원하는 결과를 보상하고 생산하기 위해 절차에 어떤 변화가 필요한지 확인하려면 프로세스를 검토해야합니다. 제품의 디자인 또는 구성을 변경하면 수행 된 작업이나 순서가 크게 변경 될 수도 있습니다. 생산 담당자는 작업 간 원하지 않는 영향을 줄이기 위해 가능한 한 많은 작업을 분리하는 것의 중요성을 빨리 알게되었지만, 구성 요소가 처리 될 때의 상태에 대해 많은 가정이 이루어집니다. 일부 다른 운영 환경에서 최종 제품이 사용자에게 제공 될 때까지 감지되지 않을 수있는 가정.


3

빠른 바보가 필기 에세이가 필요한 수학 수업을 통과하도록 돕습니다.


2

컴퓨터 프로그래밍은 보드의 크기, 플레이하는 조각의 수 및 그 조각을 지배하는 규칙이 게임이 진행됨에 따라 크기와 복잡성이 커지는 체스 게임과 같습니다.



1

CS / 프로그래밍 수업을 처음 접하는 학생들은 비 프로그래밍 사용자와 같습니다. 로봇 예제가 좋습니다.

80 년대에는 로고, Karel (또는 유사한 프로그래밍 환경)을 사용하여 사용자가 프로그래밍하는 법을 배우고 컴퓨터를 로봇처럼 보는 대신 타자기가있는 TV 세트를 사용하여 많은 도움을 받았습니다. 중학교와 고등학교에서 일반적으로 사용되는 도구.

이 실용적인 프로그래밍은 학생들이 컴퓨터와 관련이 없더라도 문제 해결 기술을 습득하는 데 도움이되었습니다.

또는 학생들이 프로그래머가되지 않았더라도.

일부 Collegues and Universities는 1 학년 과정에서도 이러한 도구를 적용했습니다.

많은 고등학교에서 로고와 카렐을 가르치는 이유가 궁금합니다.


1

나는 Mythical Man-Month의 Fred Brooks 유추를 좋아합니다. 프로그래밍은 마술과 같습니다.

(The) 프로그램 구성은 시인의 말과 달리 이동하고 작동한다는 의미에서 실제적이며, 구성 자체와 분리 된 가시적 인 출력을 생성합니다. 결과를 인쇄하고, 그림을 그리고, 소리를 내고, 팔을 움직입니다. 신화와 전설의 마법은 우리 시대에 실현되었습니다. 하나는 키보드에서 정확한 주문을 입력하고, 디스플레이 화면은 생생하게 생겨나지 않았거나 할 수 없었던 것들을 보여줍니다. ...

(하나) 올바르게 수행해야합니다. 컴퓨터는 이런 점에서 신화와 전설의 마술과 비슷합니다. 하나의 캐릭터, 한 번의 주문을 잠시 멈추지 않으면 마법이 제대로 작동하지 않습니다. 인간은 완벽하기에 익숙하지 않으며, 인간 활동의 일부 영역이 그것을 요구합니다. 완벽에 대한 요구 사항을 조정하는 것은 프로그래밍 학습의 가장 어려운 부분이라고 생각합니다.


1

"[...] 그러나 당신이 컴퓨터에 능숙하다고 생각했습니다!"

이것은 일반적으로 괴짜가 컴퓨터를 고치도록 속이는 시도입니다 (잘못 증명해야한다는 느낌이 들까 요?). 내 표준 답변 :
저는 프로그래머입니다. 그것은 자동차 엔지니어와도 같습니다. 그는 아마도 72 번 Trabant의 브레이크를 고치는 방법을 모를 것입니다. 정비공이 그렇게 할 것입니다!



0

프로그래밍은 엄청난 양의 힘을 사용하는 것과 같습니다. 컴퓨터가 원하는대로 할 수 있습니다. 당신은 당신의 상상력과 투자하고자하는 시간에 의해서만 제한됩니다.

프로그래머는 집을 만드는 것과 같습니다. 우리는 우리가 만든 집에 대한 모든 것을 말할 수 있습니다. 그러나 당신이 우리에게 길을 지나가는 임의의 집을 요청하면 아마도 우리가 잘 알지 못할 가능성이 있습니다. 그러나 그 집에 추가되거나 변경된 것이 필요한 경우, 소유자가 우리에게 허락 한 경우에 가능하게 할 수 있습니다.


0

Chris Crawford의 프로그래밍에 관한 오래된 기사 중 하나에서 그는 복잡한 프로그램을 관료주의에 비유했으며 여러 기관이 메모를 앞뒤로 전달하여 통신합니다. 소프트웨어 개발을 설명 할 때 매우 유용한 은유라는 것을 알았습니다.


0

나는 일반적으로 프로그래밍을 직소 퍼즐과 동일시한다.

새 프로젝트를 만들려면 수많은 조각이 있으며이 중 일부는이 이미지에 속하지 않으며 퍼즐이 완성되었을 때의 모습을 미리 볼 수 없습니다. 그러나 크기와 일반적인 색상을 알고 있으므로 추정이 가능하지만 반드시 정확한 것은 아닙니다.

이미 존재하는 프로젝트를 수정하기 위해-고양이가 와서 완성 된 퍼즐 덩어리를 두 드렸습니다. 시간이 걸리지 만 프레임 워크는 이미 존재하므로 변경해야하는 양에 따라 너무 나쁘지 않아야합니다.

또한 진행 상황을 설명하는 데 도움이됩니다. 최근의 프로젝트 중 하나 인 한 시점에서 기술 전문가가 아닌 사람이 내가 얼마나 더 오래 알지 못하는지 이해할 수 있도록 설명하는 방법이 궁금했습니다. 내부 조각의 경우 반 이상이 약간 인 것처럼 테두리 조각이 수행됩니다. 남은 것은 모두 서로 분리되어 있습니다. 지금해야 할 일은 차이를 메우는 것입니다.


-1

슬프지만 프로그래밍은 그것을 배우는 방법을 통해서만 이해할 수있는 일입니다.

프로그래밍에는 여러 가지 인식 수준이 있으며 측면마다 다릅니다.

낮은 수준에서는 "매우 멍청한 기계에 대한 매우 자세한 지침을 작성합니다"

다음 단계에서는 복잡성을 다루고 있습니다. 작업을 단순화하기 위해 새로운 은유를 구축합니다. 더 높은 수학처럼.

다른 측면에서 버전 관리, 자체 문서화 된 코드, 프로젝트 구축 및 테스트와 같은 보조 기술의 사용.

다른 측면에서 건물의 "사용자"인터페이스 (말 그대로, API도 UI를 의미 함)는 가능한 오류를 예측하고 (사용자, 데이터 또는 자체적으로 수행) 오류에 대한 올바른 대응을합니다.

그리고 마지막으로.

프로그래밍에 대한 은유는 문학입니다. 먼저 알파벳을 배워야합니다. 그러나 이것에 소설을 쓰는 것조차 시작되지 않습니다.

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