지원의 백과사전

코딩

현대 프로그래머들은 GOTO문이 나쁜 코딩이라는 것을 잘 알고있다. 초심자를 위한 프로그래밍 튜토리얼들은 GOTO문을 아예 생략하거나 금기시한다. 스파게티 코드를 향한 지름길이어서 그런데, 왜 그럴까?

1968년 3월에 저명한 컴퓨터 과학자 Edsger W. Dijkstra는 Communications of the ACM에 “GOTO문은 해롭다 (Go To Statement Considered Harmful)“이란 제목의 독자 투고를 했다.

Read more...

고레벨 언어로 타이머를 코딩하기는 쉽다. 자바를 사용할 경우 내장된 System.currentTimeMillis() 함수를 사용하면 된다. 허나 입력 크기가 큰 알고리즘의 계산 시간을 최적화하기 위해 C언어를 사용해야 할 경우가 많다.

C언어의 내장된 타이머는 1초 단위로 시간을 기록하기에 UNIX 시스템을 위한 sys/time.h 라이브러리를 사용해야 한다. (나는 윈도우 PC에서 WSL을 사용하고 있다.) gettimeofday(struct timeval *, void *) 함수는 현재 시간을 마이크로세컨드 단위의 timeval이라는 구조체로 저장한다.

Read more...