수업시간 교수님께 들은 내용을 정리.

 

Dijkstra는

structured programming without GOTO 를 주장

 

Knuth는

structured programming with GOTO 를 주장

 

우리는 goto가 필요없이 프로그램을 짤 수 있다

하지만 goto가 있다면 매우 효율적 인 경우 가 있다.

 

예를 들자면

while(){

...

 while(){

 ...

  while(){

  ... 

}

}

}

등의 코드에서 (반복문을 깊숙히 내려갔을때)

goto 문을 사용가능하면  goto를 통해 이 반복문들을 쉽게 빠져 나올 수 있다.

없다면?

여러개 타고 들어온 반복문들에 빠져나오는 조건을 설정 해주어 나와야 할 것이다.

 

이러한 사항들이 있음을 Knuth는 주장을 했고 

지금 현재 우리는 여전히 goto문을 사용 할 수 있다.

이 자체가 필요성을 인정했기 때문에 남아 있는 것 일 것이다.

 

물론 goto 문을 남용 할 경우 ugly code가 될 수 있고 이는 잘 짠 코드가 아니다

(잘 짠 코드란? - 같은 기능을 하는 프로그램을 더 효율적이고 알아보기 쉽게 짠 코드)

 

그러므로 goto문을 남용 하지는 말되 정말 필요한 순간(goto문이 효율적인) 이 온다면 쓸 수 있다.

그 점을 기억해 두자.!

 

참고) 기억과 조사 그리고 기억해두어야 할 점을 위주로 정리 함으로 사이사이 약간의 오류들이 있을 수 있음.

 

'학부생 공부 > 생각들' 카테고리의 다른 글

abstract data type 어떤 이유?  (0) 2019.12.01
정적영역, 스택영역, 그리고 힙 영역  (0) 2019.11.09

+ Recent posts