코드스테이츠 14주차 - '언어는 언어이다.'

Christy·2020년 9월 23일
2
post-thumbnail

소통 관계대상의 차이일뿐, 언어는 소통의 수단이다.

프로그래밍 언어

자바스크립트

단지 언어라는 생각을 하면, 재미있게 알아가며 배울 수 있을듯 하다.

언어의 순서대로 '주어-목적어-서술어' 순으로 익히면 된다.
'주어라는 주체자가 목적어를 한다.' 이렇게 단순히 받아들이면 어려운 언어라고 할지라도 배우고 익히는 것은 가능할듯하다.

다만, 익숙해 지는데 시간이 좀 걸릴뿐이다.

자바스크립트(프로그래밍언어)
자바스크립트 또한 언어수단이다. 소통의 관계가 컴퓨터라는 차이만 있을뿐이다. 사람과의 대화는 도치법을 쓰든, 가정법을 쓰든, 혹은 간단히 줄여서 생략을 해서 쓰든 말을 듣는 상대가 이해만 하면 그만이다. 하지만, 컴퓨터와의 대화는 말그대로 문법에 맞게 정확하게 서술하고 기술을 하여야 내가 말하고자 하는 언어를 제대로 알아차린다.

자바스크립트 문법

그래서 자바스크립트의 문법을 좀더 확실히 알고 컴퓨터와 대화를 시도해보려 한다.

자바스크립트는 객체지향언어라 한다.
자바스크립트 나라에선 객체라는 명사를 우선시 한다는 의미라고 할까? 그리고 어떠한 언어든 서술어 즉, 동사는 포함이 되므로 동사는 그대로 쓰면 된다. 자바스크립트 나라에선 동사는 함수를 표현하고자 할때 주로 쓰인다.
즉, 함수를 컴퓨터에 말하고자 할때, 그 함수의 이름은 무엇인지, 그리고 그 함수로 내가 무엇을 하려고 하는지를 정확하게 표현을 하면 내가 원하는 결과를 컴퓨터가 들어준다는 의미라고 할까?

함수네집에서 곱하기놀이를 할건데(100과 300이라는 숫자로) {
  컴퓨터 니가 위의 두숫자를 곱해줄래?
};//컴터 왈: ~넵!주인님!!!

그래, 그럼 답이 뭐야?//컴터 왈: ~모니터에 표시해 드리겠습니다!!

간단하다.ㅋ

위의 내용을 그대로 자바스크립트 문법으로 옮기면,

function isMultiplication(100, 300) {
  return 100 * 300;
  }
  console.log(isMultiplication)//30000

자바스크립트 '명사'

명사는 말그대로 이름을 가지고 있는 것, 그리고 것들이라고 하면 이해가 쉬울듯 하다. 그래서 자바스크립트에서 명사는 type, object, property 그리고 급이 다른 class(급이달라서인지 instance라는 부하들이 줄줄이 있음.)
위의 함수네 집, 곱셈놀이, 그리고 100과 300이 자바스크립트 나라의 '명사'에 속한다.

그리고 짝을 지어주면, property가 된다.
isMultiplication에 ({첫번째 숫자 : 100}, {두번째 숫자 : 300})라고 할때,

isMultiplication.첫번째 숫자 = 100;
isMultiplication.두번째 숫자 = 300;

이렇게 짝을 지어 주면 바로 'property'가 된다.

자바스크립트 '동사'

동사는 말그대로 움직임을 나타내는 단어이다. 명사의 움직임을 나타내는 단어이다.

바로 이 움직이는 행동을 컴퓨터가 우리 대신 해주는것이다.

즉,  컴터 니가 좀 곱해줄래? 라고 행동을 취하는 명령을 하면,
컴터가 "넵! 주인님!! 컴터 모니터에 표시해 드리겠습니다!!!"

이렇게 실행으로 바로 옮기며 말을 잘 듣는다.
그리고 얘를 자바스크립트 나라에서 메서드라고 한다.

급이 다른 'Class'

컴터에서 우리가 제일먼저 보는것이 아마도 'window'지 않을까?
Class는 급이 달라서, 노는 물이 레벨이 다르다. 'window'라는 곳이 얘 공간이다. 컴터라는 지구에 여러나라가 있다고 하면, C++, C., 자바, Php..뭐 이런나라들이 있다고 해보자. 그리고 공통적으로 이 'Class'라는 하나의 왕국의 언어를 조금씩 쓴다고 생각해 보자.
'Class'는 왕국이니까, 그 왕국에 종속된 부하들 'instance'들이 줄줄이 있나보다.
그리고 언어는 그나라의 문화이므로, 같은 말이라도 그나라로 가면 조금씩 변형이 되듯이 각기 프로그래밍 나라에서 이 'Class'의 언어를 조금씩 변형을 해서 쓰나보다.

결론 : 언어는 언어이다.

발음이 좋든 나쁘든, 문장력이 좋든 나쁘든, 표현력이 좋든 나쁘든, 듣는이가 알아듣기만 하면 된다. 그리고 그렇게 소통을 하다보면 좀더 효율적이고 능률적인? 좀더 간단히 말하고 빠르게 알아들을 수 있는 표현력을 다듬어 가면 된다.

요즘, 남의 나라말도 능숙하게 하랴...기계와의 대화도 원활하게 하랴...여튼 언어를 익히느라 나름 복잡하고 혼란스럽지만,

결론은 '언어는 언어이다.'

그리고, 언어는 그 언어로 소통을 할 상대가 분명히 존재해야 한다.

코드스테이츠의 페어프로그래밍에서 페어분과 함께 컴터와 어떻게 하면 더 친근하고 효율적으로 대화를 할 수 있을지에 대해 논의를 한다.
컴터에게 말을 걸기전에 페어분과 먼저 소통의 연습을 한다고 하는것도 맞을듯 하다.ㅋ

이렇게 유치하게라도 글로 정리를 하다보니, 혼란스러운 마음이 조금씩 안정화가 되어간다.

내가 열심을 다해 노력을 하는 시간동안, 컴터 또한 대화가 가능해질 수 있도록 노력할것이라 생각한다.
(많은 개발자분들의 노고로 참고할 수 있는 라이브러리도 많이 있고, 점점 실용적이고 멋진 프로그램들이 많이 개발이 되니까..)
요즘, AI인공지능로봇이 사람과 비슷한 감정을 느끼는것도 가능해진다라고 하던데...그 로봇이 영화의 주인공으로 출연해서 연기도 한다는데...

언젠간 내가 명령을 하는것도 알아들을것이라 생각하며, 이번주 학습에 대한 회고글을 마무리 한다.

0개의 댓글