2021. 1. 10. 08:50ㆍ웹서비스
세계의 언어는 다양하게 존재한다. 옆 나라인 일본이나 중국과도 언어가 다르고, 멀리 조그마한 섬나라의 언어도 다르다. 국내에서도 제주도, 경상도, 전라도, 강원도, 충정도, 경기도 각 사람들이 모여서 정통 사투리로만 대화한다면 서로 못 알아들을 수 있다.
각 지방마다 사투리가 왜 틀릴까 의문이 든다. 지역 특성, 먼 과거에서부터 내려오는 역사적 특성, 산에서 사는지 해안가에서 사는지, 평야에서 사는지에 대한 지리적 특성 등이 혼합되어 오랜 시간이 흐르면서 말투와 단어, 의성어, 의태어 등이 지역만의 특색으로 정착된 것일지도 모른다.
언어학자가 아니기에 자세한 것은 알 수 없지만, 언어가 없던 원시인 시절에는 모두가 몸짓이나 ‘으구구, 우우..’ 같은 의성어를 사용했을 것이다. 몸짓, 발짓, 턱짓 등 온갖 몸으로 의사소통하는 행위가 지구 어디에나 통용됐을 것이다. -지금도 몸짓 하나로 세계 어디서나 의사소통이 가능한 이유가 우리의 선조 때문인 지도 모른다.-
수렵생활에서 벗어나 지금의 우리 사회 기반을 만든 농업혁명이 도래하면서 공동체의 언어가 자연스럽게 생겼을 수도 있다. 아마도 이때부터 하나의 언어에서 공동체 언어로 분리가 되지 않았을까. 공동체를 통해 문명이 생기면서 문자가 발명되고, 언어로서 발전되었을 것이다. 또한 하나의 큰 문명이 갈라져 다른 문명으로 파생되고, 각기 다른 문화로 발전을 거듭하다 지금의 다양한 언어와 문화가 형성되었을 것이다.
이렇듯 공동체가 다르면 언어도 다르다. 언어에는 그 사회의 고유한 문화와 전통이 있다. 같은 언어에서 파생되거나 분리되어 또 다른 언어로 변형되는 경우도 많이 볼 수 있다. 이런 언어에 대한 줄기를 찾아서 역사를 해석하는 분야도 있다.
언어를 이해하고 사용하는 것은 중요하다. 한국에서 사용하는 은어를 억지로 영어로 만들어서 사용해도 그 나라 사람은 알아듣지 못한다. 또한 한국 단어에는 있지만 영어는 해설을 해야 하는 것도 있다. 쉽지는 않겠지만, 다른 언어를 배우기 위해서는 그 언어의 사회성과 문화를 먼저 알아야 하지 않을까 생각한다.
가상의 세계 또한 실제 세계와 비슷하다. 컴퓨터라는 가상 세계가 있고, 그 세계에서 사용되는 언어도 다양하다. Objective C, Swift, Kotlin, React, Flutter, Vue, JAVA, C, C++, C#, PHP, Python, R, Go, Ruby, Node, Delphi, Pascal, Cobol, Assembler, Basic, Fortran, Javascript, ActionScript, Jsp, Asp, Lisp, Groovy, Perl, Scala 등이 있다.
언어 개발자들이 심심해서 다양하게 만든 것은 아니다. - 파이선은 ‘취미’로 시작된 언어이다. - 실제 세계와 같이 각 언어마다 특성이 있고, 개발된 배경 역사가 있다. 또한 같은 언어에서 분리되고 파생된 언어도 있다. 실제 세계와 거의 비슷하다.
실제 세계의 언어를 공부할 때 암기 위주로 공부한다고 생각해 보자. 이런 언어들을 언제 다 암기해야 할까? 암기하다 시간만 지나갈 수 있다. 그 언어를 왜 사용하고 어떤 특성이 있는지 조금이라도 알아야 이해하는데 도움이 된다.
어느 것이든 기본은 있다. 실세계 언어를 처음 접할 때도 ‘나’, ‘너’, ‘그들’, ‘남성’, ‘여성’, ‘가다’, ‘자다’, ‘뛰다’ 등 기본적인 지칭과 행동을 먼저 배운다. 처음부터 어려운 단어나 문장을 배우지는 않는다. 영어는 단어 100개로도 생활하는데 지장이 없다는 분석도 있다. 기본만 알면 그 나머지는 응용과 표현방식의 차이일 뿐이다. 응용과 표현방식은 그 나라의 문화, 사회성과 밀접한 관계가 있다.
컴퓨터 코딩도 기본은 존재한다. variable(변수), function(함수), if-else(조건), switch-case(선택), for(조건 반복), do-while(반복)만 알면 된다. 어느 언어든 기본을 바탕으로 만들어졌다. 나머지는 각 언어에 대한 특성과 표현방식이 다를 뿐이다.
모든 분야에는 기본과 기초가 있다. 건물도 기초가 튼튼해야 큰 건물을 만들 수 있고, 운동도 기초체력이 있어야 하고, 그림도 기본이 있어야 대작을 만들 수 있다. 음악 또한 기본이 있어야 좋은 음악을 만들 수 있고, 영화 또한 마찬가지이다. 프로그래밍(코딩) 역시 기초와 기본은 아주 중요하다.
쇼핑몰을 자주 이용한다고 개발할 수 있는 것이 아니다. 수많은 SNS를 자주 이용한다고 개발할 수 있는 것이 아니다. 다양한 게임을 많이 하고 달인이라고 해도 개발할 수 있는 것은 아니다. 기초와 기본이 없으면 모든 개발은 허황된 망상일 뿐이다.
기초와 기본 없이 다른 사람의 소스 코드를 카피와 붙여 넣기로 개발하다 보면 한계에 직면하게 된다.
응용은 기초를 기반으로 한다. 기초도 없이 응용을 한다는 것은 어불성설이다.
Background Photo by Patrick Tomasso on Unsplash
'웹서비스' 카테고리의 다른 글
프로그램 패턴 (0) | 2020.12.29 |
---|---|
프로그래밍 용어 (0) | 2020.12.20 |
프로그래밍 개발 방식 (0) | 2020.12.14 |
프로그램 언어의 번역과 통역 (0) | 2020.11.16 |
웹 프로젝트 - 시작편 (0) | 2020.11.08 |