전산학 전공자 내지 IT 분야 종사자에게는 상식으로 통용되는 당연한 개념이다만..
오늘날 범용(generic-purpose) 컴퓨터에서 돌아가는 소프트웨어는 크게 세 가지 형태로 나뉜다.

1. 로컬

흔히들 PC로 대표되는 컴퓨터에서 stand-alone으로 동작하는 전통적인 프로그램이다. Windows야 그렇다 치더라도 오피스, 비주얼 스튜디오 같은 업무용 프로그램은 아직 로컬 프로그램의 아성을 무너뜨릴 영역이 없다.
가장 역사가 길고, 가장 빠르고 효율적으로 동작하며, 특정 컴퓨터 아키텍처(기계어)와 운영체제의 실행 파일 포맷에 종속적이다. 그래서 이쪽 개발 환경은 전통적으로 C/C++ 같은 저수준 최적화 언어가 강세이다.

물론 클라이언트가 아닌 서버 프로그램은 성격이 약간 다르긴 하나, 서버 프로그램 자체는 역시 서버라는 로컬 컴퓨터 자신의 자원만을 이용하여 동작한다. 여객 운송과 화물 수송의 차이와 비슷한 맥락이다. 그리고 사실은, 다음에 설명할 2.웹 프로그램을 돌려 주는 기반도, 클라이언트든 서버든 1.로컬 프로그램들이 다 마련해 주고 있다. 그러니 로컬 프로그램은 앞으로도 없어질 수는 없다. 단지 전체 소프트웨어에서 차지하는 비중이 줄어들 뿐이다.

옛날에는 불특정 개인 사용자를 대상으로 하는 상업용 제품은 패키지 형태로 발매되곤 했지만, 오늘날은 인터넷의 발달과 극심한 불법 복제로 인해 이런 전통적인 형태의 배포의 비중이 굉장히 줄어들었다. 오늘날 국산 패키지 소프트웨어는 아래아한글과 V3 말고 있나? -_-;; 또한 보안 위협으로 인해 이런 프로그램 역시 한번 설치하고 끝이 아니라 끊임없는 보안 패치와 업데이트의 필요성이 커져 있기도 하다.

2. 웹

개인용 컴퓨터의 성능이 굉장히 향상되고 그에 따라 웹 표준이 발달하면서 웹브라우저, 정확히 말해 WWW는 단순히 그림과 하이퍼링크가 동원된 문서라기보다는 거의 프로그래밍 플랫폼처럼 오래 전부터 바뀌었다.

웹 프로그래밍의 최대 매력은 로컬을 월등히 능가하는 범용성과 기계 독립성, 생산성이다. 브라우저에서 사이트 접속만 하면 바로 실행..;; 마치 게임처럼, 클라이언트와 서버, 코딩과 디자인 등을 두루 아우르는 종합 예술처럼 보이기도 한다. 가령, 옛날에는 GWBASIC이나 LOGO로 어린 학생들에게 그래픽 프로그래밍 교육을 시켰다면, 지금은 그냥 HTML5만 써도 될 것이다.

물론, 로컬 개발에 비해서는 혼자 독립적인 작품을 만든다는 느낌이 좀 덜 들며-_-, 기술이 아직까지 안정화해있지 않은 면모가 있고, 로컬 컴퓨터 자체를 세밀하게 제어할 수 없으며 성능이 떨어진다는 한계도 있다. 가령, 오피스 제품군이 웹 애플리케이션으로 완전히 대체될 날은 과연 글쎄?
그러나 앞으로 웹 프로그래밍의 비중은 절대 무시 못 할 것이고 수요도 없어지지 않을 것이다.

3. 앱

스마트폰에서 동작하는 '로컬' 프로그램이라고 볼 수 있지만, 그 성격이 역시 1과는 사뭇 다르다.
스마트폰 자체는 PC보다 성능이 떨어지기 때문에, 로컬에서 모든 처리를 마친다기보다는 서버에다 input을 보내서 받은 output을 보여주는 형태의 앱이 많다. 또한 스마트폰은 화면이 작고 PC 같은 빠른 문자 입력을 할 수 없기 때문에, PC와는 다른 독자적인 GUI가 필요하다. 터치스크린은 마우스와 완전히 동일한 포인팅 UI가 아니다. (대표적으로 hovering이란 게 없다) 다만, PC에는 없는 기울임, 흔들림, 방향, 현재 위치 같은 특수한 입력을 받아들일 수 있다.

스마트폰은 PC만치 사용자가 컴퓨터 내부를 완전히 손쉽게 제어할 수 있는 물건은 아니다. 그래서 PC용 프로그램보다는 더 엄격한 과금 체계를 갖추고 프로그램을 배포하여 수익을 낼 수 있다.
스마트폰 앱은 역사가 짧기 때문에 PC 같은 지저분한 호환성 잔재 같은 게 덜하고, 일찍부터 자바든 C#이든 객체지향 언어와 가상 기계 바이트코드 기반의 프로그래밍 환경이 잘 구축돼 있다. 깔끔한 최신 프로그래밍 인프라가 기본으로 제공된다는 뜻이다.

오늘날 스마트폰 CPU는 ARM 아키텍처밖에 없지만, 그래도 커널 말고 다른 응용 프로그램들은 네이티브 코드가 아니다. 그런 .NET이나 자바 같은 가상 기계 자체가, 1~3(로컬, 웹, 앱) 사이의 이질감을 낮추고자 만들어진 것이기도 하고 말이다.
아울러, CPU의 성능이 좋아졌을 뿐만 아니라 LCD 디스플레이 소자가 보편화하고 통신 기술이 발달하면서 스마트폰 같은 물건도 대중화될 수 있었다.

20세기 중반까지만 해도 컴퓨터는 곧 메인프레임-단말기 모델이었다.
컴퓨터라는 게 무진장 비싼 물건이고 자원이 귀하다 보니, 모든 처리는 중앙 컴퓨터에다 맡기고 각 사용자는 단말기로 서버에 접속해서 명령 프롬프트에서 서버의 기능을 사용하곤 했다. 그때는 컴퓨터는 대학, 연구소, 정부 기관, 군대의 전유물이었고, 개인용 컴퓨터라는 개념을 감히 떠올리기조차 쉽지 않았었다. (알파넷이 미국이 아닌 소련에서 발명되었다고 생각해 보자. 그게 오늘날의 인터넷으로 발전할 수 있었을까? -_-)

그러다가 20세기 말에는 PC가 대세가 되었다. 개인용 컴퓨터 하나만으로 어지간한 일은 다 할 수 있게 되었다. 비유하자면, 만원버스에 시달리면서 출퇴근하다가 번듯한 자가용이 생긴 셈.
PC의 사고방식으로는 소위 PC 통신은 어쩌다 한 번씩만 다른 컴퓨터에 접속하는 특별한 작업이며, 웹브라우저 역시 오피스 패키지처럼 별도로 구입해서 사용하는 특수한 프로그램일 뿐이다.

그 후 오늘날 대세라고 회자되고 있는 건 일명 클라우드 컴퓨팅이다. 개인용 컴퓨터가 무진장 작아지고 통신 인프라가 발달한 덕분에, 예전처럼 부족한 자원을 공유하려고 컴퓨터들을 연결하는 게 아니라 진짜 유비쿼터스 세상이 돼서 컴퓨터들을 연결한다. PC 통신 시절에만 해도 하이텔 단말기가 있었는데 오늘날의 스마트폰에 비하면 얼마나 격세지감인가!

전세계 컴퓨터가 다 인터넷에 연결되고 클라이언트와 서버의 구분이 무의미해지고, 궁극적으로는 (거의) 모든 작업이 웹 프로그램만으로 해결되고 모든 자료가 웹에 저장되는 세상이 온다. 예전에는 PC끼리 자료 전송을 위해서 플로피 디스켓이나 USB 메모리를 썼는데, 이제는 사용자의 로컬 컴퓨터나 스마트폰 그 자체가 플로피 디스켓이나 USB 메모리와 마찬가지가 된다는 뜻.

이걸 역시 자동차에다 비유하자면 이렇다. 사람이 직접 자가운전을 하니까 교통사고가 발생하고 도로가 막히고 여러 문제가 생기다 보니, 전세계 도로가 한데 통제되고 지능형 임대 자가용이나 궤도 교통수단이 생겨서 모든 사람들이 그걸 간단히 이용하는 형태가 된 셈이다.
물론 이게 온전히 실현되려면 시스템적으로나, 보안 쪽으로나 해결해야 할 문제가 많다.

Posted by 사무엘

2011/10/14 08:26 2011/10/14 08:26
, ,
Response
No Trackback , 5 Comments
RSS :
http://moogi.new21.org/tc/rss/response/584

Trackback URL : http://moogi.new21.org/tc/trackback/584

Comments List

  1. 삼각형 2011/10/15 00:56 # M/D Reply Permalink

    프로그램은 1에서 3으로 점점 변하고 있죠. PC환경에서도 .net, 파이썬 같이 framework에서 돌아가는 녀석은 3이라고 할 수 있지 않을까 합니다. 윈도우가 버전이 올라갈 수록 3의 비중을 올리려고 하고 있죠. 하지만 개인 컴퓨팅 환경은 몰라도 기업용이나 서버 시장은 가망 없는 이야기일 겁니다.

    컴퓨팅 환경의 변화에 대해서는 통합과 분리를 반복한다고 이야기 합니다. 통합 환경이 나오다가 통합 환경에 부족함을 느낀 사람들이 새로운 기기를 선택하고, 또 기술이 발달해 새로운 기기의 기능이 통합 기기에 들어가고 이런 식으로요.

    전 개인적으로 앞으로는 PC가 사라지고 스마트폰이 모든 기능을 흡수해 개인 PC은 고성능이 필요한 마니아층만 사용하는 기기로 변할거라고 생각합니다. 그러니까 가정에서는 거치대 같은 곳에 놓으면 모니터와 연결이 되는, 아니면 더 나아가 무선으로 영상 출력이 가능한 환경이 올 겁니다. 무선 출력이나 무선 충전은 아직 에너지 손실 때문에 여러가지 이론만 나와있는 상황이죠. 지금만 해도 스마트폰이 HDMI 출력이 지원되고, 블루투스 키보드를 사용할 수 만큼 가능성이 없는 이야기는 아니지만 아직 네트워크 속도나 스마트폰의 성능이 부족한 감이 있습니다.

    1. 사무엘 2011/10/15 04:24 # M/D Permalink

      삼각형 님, 오랜만입니다. ^^;;
      아무래도 PC는 이제 게임이라든가 하드코어한 작업을 하는 사람이 아닌 이상, 단순 문서· 인터넷 작업용으로는 더 업그레이드가 필요하지 않은 경지에 가 버렸고, 복제도 너무 쉬운 환경이 되었다 보니 일종의 정체 상태이죠. 그래서 IT 업계에서는 기를 쓰고 스마트폰이라는 블루오션을 개척하고 소비자들에게 밀어붙이는 것 같습니다.

      하지만 수백 페이지짜리 논문 작성이나 스마트폰 앱 개발을 스마트폰으로 할 수는 없는 노릇이죠. 그런 productive 작업을 위한 로컬 환경의 최소 크기는 아무래도 노트북 PC가 마지노선이 아닌가 생각됩니다. 위의 세 패러다임은 어느 하나가 다른 녀석을 일방적으로 잡아먹고 대체하기보다는, 아무래도 공존하는 구도가 유지되겠죠.

  2. 소범준 2011/10/18 15:46 # M/D Reply Permalink

    1. 기존 컴퓨터 기반의 로컬 프로그램에는 아직 이렇다 할 맞수가 없군요.
    원색적으로 문서 작성이나 컨텐츠 제작 및 개발 환경은 PC 환경만이 유일할 수밖에 없음에 공감합니다.
    다만 컴퓨터 환경에서 가능한 기능을 배제한 글쓰기는 스마트폰에서도 충분히 가능하죠.

    2. 프로그램 작성 언어와 작성 과정에 대해 많이 궁금했었는데, 언어로 코드를 작성한 뒤에는
    외관을 어떻게 짜는지 궁금합니다.(물론 귀찮아하실 수도 있겠지만.)

    3. 저는 PC 통신을 직접 경험해본 적은 없지만, 간접적으로 '하이텔, 나우누리, ....' 등의 이름만큼은 익히 들어 알고 있었던 세대입니다. 근데 제가 초등학교 시절에는 컴퓨터에 PC 통신이 설치되어 있어서 전화선으로 실험적으로 해 볼 기회가 생겼는데, 정말 저사양이군요.

    1. 사무엘 2011/10/18 22:36 # M/D Permalink

      1. (1) 각종 컨텐츠를 생산하는 productive 업무, (2) 소프트웨어 개발이 아니면 (3) 완전 고사양 게임들..
      저는 적어도 이 세 분야는 앞으로도 PC가 자기 지위를 더 작은 기기에게 빼앗길 거라고 생각하지 않습니다.
      스마트 세대가 아니어서 그런지 저는 PC보다 작은 기기는 근본적으로 글자 입력이 너무 불편하게 느껴지며, 이는 그 틀 안에서 제아무리 기가 막힌 문자 입력 방식이 나온다고 해서 개선될 거라고 생각하지 않습니다.

      2. 프로그램 외관이라는 게 각종 대화상자라든가 도구모음줄, 아이콘 같은 걸 말씀하시는 거라면,
      그런 건 어느 플랫폼의 개발툴이든 C/C++ 같은 프로그램 코드와는 별개로 편집하는 인터페이스가 있습니다. 거기서 작업한 데이터가 실행 파일에 같이 포함되어 들어가죠. 윈도우 프로그래밍에서는 리소스라고 불리는 개념인데, 프로그램 코드에서 이들 리소스를 식별하여 가져오는 방법이 응당 마련되어 있으며 심지어 그런 리소스를 실행 시점에서 프로그램을 통해 생성하는 방법도 존재합니다.

      3. 모뎀으로 접속하는 PC 통신은 거의 90년대 말에 사라졌지만, 텔넷 터미널을 통한 접속은 그래도 2000년대 초중반까지는 존속했기 때문에 범준 형제 정도의 연배라면 그런 것들의 끝물을 접할 기회는 있었을 것 같습니다. 컴퓨터를 접하는 시기도 제 때보다 더욱 일렀을 테니까.

    2. 소범준 2011/10/19 00:48 # M/D Permalink

      1. 하기사.. 스마트폰은 휴대하기엔 좋지만 그대신 사무용으로는 비적합한 형태로 남게 될것 같군요. 특히, 스마트폰 자판으론 글자가 원하지 않는 것이 잘 입력되는 현상을 겪죠.

      2. 리소스라면... 이름은 얼핏 들어봤는데, 뭐 하는 건지 잘 몰랐었군요. 답변 감사드립니다.

      3. 텔넷은 윈도 3.1 환경 및 윈도 9x 환경에서 쉽게 접할 수 있었습니다. 그런데 문제는 텔넷은 그 당시 어떻게 연결하고 어떻게 사용하는지조차 가물가물했다는 점이죠..흐흑..안습.

Leave a comment
« Previous : 1 : ... 1701 : 1702 : 1703 : 1704 : 1705 : 1706 : 1707 : 1708 : 1709 : ... 2204 : Next »

블로그 이미지

그런즉 이제 애호박, 단호박, 늙은호박 이 셋은 항상 있으나, 그 중에 제일은 늙은호박이니라.

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

Site Stats

Total hits:
3049698
Today:
718
Yesterday:
2142