구조적 프로그래밍: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
Addbot (토론 | 기여)
잔글 봇: 인터위키 링크 33 개가 위키데이터d:q223335 항목으로 옮겨짐
Asadal (토론 | 기여)
잔글편집 요약 없음
47번째 줄:
프로그램의 정확성뿐만 아니라 프로그램의 적응성과 관리성까지 내가 신경 쓰고 있다는 것이 더욱 명백해진다.<sup>[[#References|1]]</sup>}}
 
[[도널드 크누스커누스]](Donald Knuth)는 프로그램이 입증가능성을 염두에 두고 작성되어야 한다는 원리는 받아들였으나 GOTO문을 없애는 것은 받아들이지 않았고 지금도 받아들이지 않는다. [[1974년]], 그의 논문, "GOTO문이 포함된 구조적 프로그래밍"에서 직접적인 분기를 하여 입증가능성을 희생시키지 않으면서도 더 간결하고 효율적인 코드를 작성할 수 있는 몇 가지 예제를 보였다. 카누스는 좀 더 완화된 구조 제한을 제안했다. 그것은 프로그램의 [[순서도]]를 그린다면 왼쪽에는 아래쪽으로 가는 가지(branches)만, 오른쪽에는 위쪽으로 가는 가지만 그려야하며 그 가지들이 서로 교차하지 않아야 한다는 것이다. [[컴파일러]]와 [[그래프 이론]]에 정통해 있는 많은 사람들이 축소 가능한 흐름도(reducible flow graphs)만을 허용해야한다고 이 생각을 옹호했다.
 
구조적 프로그램 이론가들은 [[1970년대]] [[IBM]]의 연구원 [[할란 밀즈|밀즈]]가 구조적 프로그래밍 이론에 대한 그의 해석을 [[뉴욕타임즈]]의 인덱싱 시스템 개발자들에게 적용한 일이 있은 후에 대부분이 합의를 봤다. 이 계획은 공학적으로 크게 성공하였다. 데이크스트라가 밀즈의 해석이 출판된 것들과 다르다며 비판하였지만, 다른 회사의 관리자들까지도 구조적 프로그래밍의 채택을 지원하기 위하여 밀즈의 해석을 인용했다.