코딩할 때 문법을 외워서 하는게 아니라 필요할 때마다 인터넷에서 찾아서 쓰는 편인데, 프로그래밍 관련 검색을 할 때는 주로 google이나 yahoo!를 쓴다. Firefox 우상단의 검색창을 이용해 빠르게 필요한 걸 Google이나 Yahoo!에서 검색한다. 그런데 Google은 쓰면 쓸수록 감탄하게 된다. 오늘 겪었던 실제 사례 두 가지를 정리.
사례 1. 평생 처음 php 코딩을 하게 돼서 간단한 문법도 모르는 것 투성이라 PHP의 for 형식을 찾고자 했다. Google로 찾았더니 "PHP for loop"으로 질의 확장을 한 후 검색을 하여 두번째 섹션에 보여준다. 적절한 질의 확장과 적절한 presentation에 감탄 감탄.
for 같은 어휘는 일반적인 분야의 문서에서 전치사로 자주 나오는 단어이다. PHP같은 프로그래밍 언어이름과는 바로 붙어 문서에서 나오는 일이 적기 때문에 'PHP for'를 붙은 두 단어라고 고려하고 키워드간 거리를 고려하여 검색을 하면 적절한 결과를 보여주기 힘든 질의.
이는 실제 Yahoo!의 결과를 보면 알 수 있다. -_-;
Yahoo!는 소심하게 "Also Try"로 "php for loop"을 보여주지만 검색 결과를 보려면 다시 한번 클릭해야 한다. 이 경우 실제로는 클릭이 단지 한번 더 느는게 아니라 처음 나온 검색 결과를 다 훑은 다음에 클릭을 하고, 다시 페이지를 훑어야 하기 때문에 원하는 검색 결과를 얻기까지는 적지 않은 시간이 걸린다.
사례2: 오전에는 php로 아장아장 프로그래밍을 하다가 오후에는 Perl로 코딩을 하게 됐다. 잘 안쓰는 ` (역따옴표?)의 리턴값이 있는지 알고 싶어서 google에서 검색을 해봤다. 이 ` 역시 질의 normalization같은 것을 할 때 잘 무시되는 기호라 과연 검색이 잘될까 의심을 하면서 Google에 넣어봤는데...
대단한 Google. `를 'backtick'이라고 표현하며 검색 결과를 보여준다. 솔직히 이 결과가 제대로 나올 거라곤 상상도 못했다.
혹시나 싶어 Yahoo!에서 검색해봤더니 기대 했던대로 `가 무시된 결과가 나온다. 이번엔 Also Try도 없다.
가려운 곳을 제대로 긁어주는 검색이 제대로 된 검색이라고 생각하는데 Google은 제대로 해준다는 생각. 저걸 일일이 사람이 만들어 넣은 정보를 바탕으로 하는지, 데이터마이닝을 통해 하는지는 몰라도.