요즘 자바 대신 C계열 언어를 익히고 있는데 배우면서 드는 생각은
프로그래밍에서도 등가교환의 법칙이 있구나 하는 생각입니다.

 

자바는 가비지컬렉션이라는 넘이 있습니다. 개발자를 편하게 해주는 거죠~
그 반면에 C계열에는 가비지컬렉션이 없습니다.

 

프로그램을 돌리기 위해서는 메모리에 올리고 지우고 올리고 지우고 올리고 지우고를 반복하면서

 실행되게끔합니다. 모바일에서 지우지 않고 계속 올리기만 하면 강제종료됩니다. 올리고 지우고..

이게 말이 쉽지 "도대체 언제 지워서 없애야지 하는지"라는 고민을 하게 됩니다. 프로그래밍에서

고민이 하나 늘어난다는 것은 그 고민이 다른 고민들과 엮이게 되어서 고민들이 더더더 커질 수도

있습니다. 때에 따라서 멘붕도 찾아옵니다.
---여기서 포인트는 프로그래머의 고민증가

 

그럼 가비지컬렉션이 멀까요. 말 그대로 쓰레기를 수집하는 넘입니다. 내가 메모리에 올리고 지우지

않아도 지울때 되면 알아서 버려줍니다. 오토인거죠. 완전 편합니다. 메모리 지우는 걸 까먹고 있어도

 쓰레기 수집가가 수집해가서 앞에서 말한 강제종료를 어느정도 막아줍니다. 하지만 쓰레기 수집가도

하나의 큰 작업입니다. 쓰레기를 수집하기 위해서는 그게 쓰레기인지 아닌지 cpu가 체크를 계속 해줘야합니다.
---여기서 포인트는 가비지컬렉션는 또하나의 큰 작업임~

 

말을 종합해보면 자바는 개발자를 편하게 해주지만 퍼포먼스는 C계열보다 못합니다.(기기가 월등해야지 비슷함)
하지만 자바는 개발자의 고민을 덜어주죠..

반대로 C계열은 퍼포먼스는 좋지만 가끔 개발자를 힘들게 합니다.

 

여기서 내가 얻는 그 가치에 맞게 다른 것(대가)을 교환하는 등가교환이 생깁니다.

편하고 쉬울 것을 선택하면 그만큼 불이익이 생길 수도 있는 거죠.

 

간단한 예를 하나 더 들자면 자동차를 볼 수 있습니다. 수동과 오토, 앞에서 말한 가비지컬렉션의 유무와 비슷한 조건입니다.

수동은 배우기 어렵고 힘들지만 연비효율이 좋아집니다.

오토는 배우기 쉽고 다루기 쉽지만 그만큼 연비효율은 떨어집니다.

 

말이 너무 길었네요. 제가 하고 싶은 말은 배우는 게 힘든 만큼 그 만큼의 플러스 등가교환이 일어난다는 것입니다.

Posted by Finebe
,