Computer Science

FrontPage|FindPage|TitleIndex|RecentChanges| UserPreferences P RSS

FrontPagePrincipiaCybernetica ComputerScience

ComputerScience란,
이 세상의 무엇이 계산가능한 것인지를 가리고,
그렇게 밝혀진 계산가능한 모든 것들에 대해서, 사용할 수 있을만한 결과를 얻을 수 있는 가장 훌륭한 계산 방법을 찾고
그렇게 알려진 계산 방법을 수행할 수 있는 도구를 고안하고 만드는 것이다. 이를 통해 계산의 본질과 우주의 구성 원리를 슬쩍 엿볼 수도 있다.


"컴퓨터 과학"보다는 "정보과학" 쪽의 번역이 마음에 드는 것은, CS는 컴퓨터라는 기계 장치와는 직접적인 연관이 없다고 생각하기 때문입니다. 알고리즘의 시간복잡도는 실제 컴퓨터 CPU가 없어도 알 수 있습니다. --서상현
DeleteMe 비슷한 이유로 제가 정보과학 > 컴퓨터 과학 > 전산학 순으로 선호한다는 사실을 제 글에서 눈치채실수 있으리라 생각합니다. :) -- gracky
컴퓨터 과학에서 알고리즘은 '튜링머쉰'이라는 존재를 반드시 염두에 두고 정의됩니다. 컴퓨터 과학이란 용어가 마음에 안들 수 있지만, 컴퓨터 과학은 컴퓨터라는 기계와 매우 직접적인 연관이 있음에 틀림없습니다. 만일 양자컴퓨터나 DNA 컴퓨터가 나온다면, 지금까지 알려져 있던 대부분의 알고리즘에 관한 연구는 별 쓸모가 없을 거 같네요. --naya
저도 "컴퓨터 과학" 같은 직역은 마음에 안 들지만, 정보과학은 전혀 다른 분야같이 들리네요. (informative science?) --PuzzletChung


언젠가 누군가가 컴퓨터 과학이 뭐냐라는 질문에 컴퓨터를 이용해 인간생활을 편리하게 하고자 하는 것이라고 말하는 것을 들었다. 이러니까 우리나라는 컴퓨터 과학에 한계가 있다고 말하는 것이다. 컴퓨터 과학을 공부하면서도, 자기가 뭐하고 있는지 이해못하는 것이나 마찬가지인 거다. 적어도 자신이 하고 있는 일의 역사적인 흐름과 탄생 배경 및 목적 정도는 알고 있어야 하는 것이 아닐까.
Computer Scientist가 하는 일은 주어진 문제를 '기계적으로' 푸는 방법을 찾는 것과 그 방법을 최적화 하기. 그것이 겉으로 보이는 가장 대표적인 일이라고 생각한다.

왜 Computer Science 그런 목적을 가지고 있을까? 그것은 바로 컴퓨터라는 것이 수리철학의 모든 것들이 구체화된 실체이기 때문이다. 그것이 바로 Computer Science의 매력이자, 이 세상에 Computer가 널리 퍼진 가장 큰 이유아닐까.

국내 Computer 개론에는 죽으나 사나 에니악이 맨 처음에 나온다. 정말 최고로 답답한 일이다. 개론책에서 에니악좀 치워버렸으면 좋겠다. ComputerScience는 결코 컴퓨터를 만드는 곳이 아니다. ComputerScience는 계산하는 곳이다. Computer에서 에니악이 중요하지 않기 때문에 하는 소리가 아니다. 그러한 Computer 개론 과목들 때문에, Computer Science가 마치 전기(전자)공학인 것처럼 여겨지는 것이다.

Computer는 오랜 인간의 염원인 완벽한 지성을 꿈꾸던 사람들의 철학이 빚어낸 실체물이며, 그렇기 때문에 지금 우리는 이러한 눈부신 문명의 발전을 이룩할 수 있었던 것이다. 의식이 형식을 따르는 속도가 느린 것은 이해하겠지만 우리나라처럼 이토록 괴리에 싸인 나라도 없을 것 같다. IT 강국을 꿈꾼다는 이 나라에서, 그것도 컴퓨터 전공자라는 사람들이 컴퓨터 과학이 뭐냐 이런 질문에 컴퓨터를 이용해 인간생활이 어쩌구.. 따위의 얘기나 떠들고 있는 걸 보면, 정말 괴롭지 않을 수 없는 것이다.


주어진 문제를 '기계적으로' 푸는 방법을 찾는 것과 그 방법을 최적화하는 이유에 대해 생각해보면 인간생활을 편리하게...라는 답도 틀린 것이라고 생각하지는 않습니다. 저도 누군가가 컴퓨터 과학이 뭐냐고 묻는다면 비슷한 답을 할 것 같습니다 :) --아무개

공돌이시기 때문에 별 쓸모 없는 글을 추가합니다. 컴퓨터는 "전기"공학보다는 "전자"공학이랑 훨씬! 가깝습니다. --Gravi

컴퓨터라는 기계를 만드는 것이 ComputerScience라는 학문은 아니지요. --naya

천문학이 망원경 만드는 학문은 아니어도 개론시간에 망원경 얘기가 좀 나오겠지요? --SKJK
좀 나오는 것이라면 제가 저런 식으로 말할까요. --naya

저는 컴퓨터를 만드는 것도 ComputerScience로 생각하는 사람입니다. 컴퓨터를 만드는 분야도 ComputerScience의 한 분야로 볼 수 없을까요? 예를 들어 ComputerScience에 있는 커리큘럼을 보아도 운영체제라는 과목이 있고, 그런식으로 계속 이어지다보면, 디바이스 드라이버가 나오고, 거기서 컴퓨터의 하드웨어와도 연결될 수 있는 식으로 말입니다. 또 그냥 머릿속 생각입니다만, 컴퓨터 하드웨어의 개선(또는 변경)을 통해 알고리즘의 개선 혹은 수정도 있을 것 같고요. 전기공학과 ComputerScience의 경계가 모호해지는 부분이 있잖습니까? --tgthr


Computer Scientist가 유저인터페이스도 만들지요. 그렇다면, 이건 '기계적'으로 푸는 겁니까, '최적화'하는 겁니까?

유저인터페이스어포던스와 같은 디자인 패턴 이론이나 심리학을 이용하여 유저인터페이스를 설계하고, 그것을 구현하는 방법론을 연구하는 것은 기계적으로 풀어서 최적화하고자 하는 것이지요. 어포던스라던가 디자인 패턴과 같은 개념 자체를 연구하는 일은 ComputerScience가 아니라고 생각합니다. 컴퓨터 과학을 하는 사람들은 그것을 이해해서 이용하는 것일 뿐이죠. --naya

CUI에서 GUI로의 전환, OOP, 개발방법론, 인터넷 등의 컴퓨터계의 혁명은 기계적인 구현 방법에 있는 것이 아니라, 철학 그 자체에 있는 듯 싶습니다. 컴퓨터라는 것이 수리철학의 모든 것들이 구체화된 실체라는 말이 맞듯이요. naya씨께서 말씀하셨던 기계적 풀이법최적화ComputerScience 중에서도 구체화하는 부분에 국한되지 않나 싶습니다. -- 최종욱
개발방법론, OOP, CUI에서 GUI로의 전환 등은 최적의 기계적 풀이법을 찾기 위한 문제공간의 변화, 혹은 최적의 기계적 풀이법을 찾는 또다른 기계적 풀이법일 뿐입니다. 그러한 문제공간의 변화는 외부적인 NEEDS에 의해 결정되는 것이고, 실제로 ComputerScience의 영역은 아닙니다. 그것을 알 필요가 없다는 것이 아니라, ComputerScience의 영역이라고 말할 수 없다는 것입니다. --naya

  • 적어도 자신이 하고 있는 일의 역사적인 흐름과 탄생 배경 및 목적 정도는 알고 있어야 하는 것이 아닐까.개론책에서 에니악좀 치워버렸으면 좋겠다. : 없애야 하나요, 말아야 하나요?

    • Computer Scientist가 하는 일은 주어진 문제를 '기계적으로' 푸는 방법을 찾는 것과 그 방법을 최적화 하기. 그것이 겉으로 보이는 가장 대표적인 일이라고 생각한다.컴퓨터라는 것이 수리철학의 모든 것들이 구체화된 실체 : 수리철학과 실세계의 만남이라면 기계적인 풀이보다는 폭넓은 철학과 관련되는게 더 자연스럽다고 생각합니다.

    -- 최종욱





    "; if (isset($options[timer])) print $menu.$banner."
    ".$options[timer]->Write()."
    "; else print $menu.$banner."
    ".$timer; ?> # # ?>