인공지능과 C언어
프로그래밍언어 중 오랜 시간 사용된 것은 어떤 것이 있을까? 아마 어셈블리어와 C언어일 것이다. 그중 C언어는 현재도 많이 사용하고 있다. (물론 어셈블리어도 운영체제를 만들 때 미세한 부분을 설계할 때는 사용하지만 C언어에 비해서 많이 사용하는 것은 아니다) C언어와 비슷한 시기에 나온 언어나 심지어 그 이후에 나온 언어 중 C언어만큼 널리 사용되는 것은 없다. 이것은 C언어가 가지는 특성 때문이다.
흔히 C언어를 중급 언어라고 말을 한다. 이 말은 고읍 언어의 특징과 저급 언어의 특징을 모두 가지고 있기 때문이다. 대표적인 저급 언어의 특성은 하드웨어 제어가 가능하다는 것이다. 이 때문에 운영체제를 만들 때 C언어나 C언어에서 나온 C++를 사용하는 것이다. 이는 윈도우 운영체제의 제어판을 보면 알 수 있다. 제어판은 소프트웨어와 하드웨어를 제어할 수 있는데, 키보드, 마우스, 프린터 등을 제어하는 부분은 하드웨어를 제어하는 것이다.
C언어는 탄생 배경이 UNIX라는 운영체제를 만들기 위해서다. 지금 우리가 사용하는 Mac OS, iOS, LINUX, 안드로이드는 UNIX에서 파생된 것들이다. 여기에 마이크로 소프트의 윈도우즈 운영체제도 C언어를 기반으로 만들어졌다. C언어는 운영체제를 만들기 위해 탄생했기 때문에 태생적으로 하드웨어를 제어하는 기능을 가질 수밖에 없다. 이런 이유로 C언어는 오랫동안 사용할 수밖에 없는 것이다.
게다가 지금 우리가 사용하고 있는 인공지능도 C언어 또는 C++로 만든 운영체제에서 돌아간다. 참고로 C++도 벨 연구소에서 만들었고, 개발자인 비야네 스트롭스트룹이 처음 붙인 지름은 C With Class다. 이 말은 C++은 C언어를 기반으로 만들어졌다는 것이다.
지금 인공지능 프로그램을 실행시키는 환경은 PC와 모바일이고, 프로그램 코드와 데이터는 서버에서 저장되어 있다. 여기서 서버는 대부분 LINUX를 쓰고, PC는 윈도우나 Mac OS를 쓴다. 그리고 모바일의 대부분은 iOS나 안드로이드다. 이렇게 보면 지금의 인공지능이 구동되는 환경이나, 실행하는 환경은 예외 없이 C언어나 C++로 만든 운영체제를 기반으로 한다. 이 말은 지금 인공지능이 구동되고, 실행하는 환경은 획기적으로 발전된 것은 없다는 것이다. 이 때문에 영화에서 보는 인간처럼 사고하고 행동하는 인공지능이 나올 수 없는 것이다.
C언어와 인공지능의 관계는 역설적으로 현재 우리가 사용하고 있는 인공지능의 한계점을 보여주는 것이기도 하다. 인공지능이 구현되는 컴퓨터의 운영체제가 단순 연산에 최적화되어 있는데, 인간처럼 사고하고 행동하는 것을 구현하기는 힘든 것이 현실이다. 즉, C언어와 인공지능은 아주 밀접한 관련이 있다.
인공지능과 C언어 – 3(최종) (0) | 2024.01.18 |
---|---|
인공지능과 C언어 – 2 (0) | 2024.01.15 |
인공지능 관련 인물 열전 – 데니스 리치와 켄 톰슨 (0) | 2023.12.28 |
인공지능은 자료를 재해석 할 수 있을까? (0) | 2023.12.22 |
인공지능, 의미 부여를 할 수 있을까? (0) | 2023.12.07 |