2014년 4월 2일 수요일

당신이 자바를 해야 하는 이유

다음과 같은 질문들을 해 보고 스스로 판단해 보자.



돈을 버는 대표적인 프로그래밍 언어는?

C, C++, 자바이다.

C나 C++ 은 종류도 많다.

그 외의 다른 언어들도 참 많다. 그런데 대표적 언어 3개보다 돈을 많이 벌 수 있을까?

임베디드를 하려면 C, 어셈블리를 당연히 해야 한다.

그리고 C, C++, 자바를 모두 할 줄 알면 금상첨화이다.





우리에겐 시간이 없다.


C나 C++ 로 만드는 임베디드 시스템이나 데스크탑 프로그램은
시간이 엄청 들어간다.

그리고 아이폰으로 장사를 해도 되겠지만, 이제 대세는 안드로이드.

M/S에서 안드로이드가 계속 앞지르고 있다.

왜 그럴까?

구글이 있기 때문이다.

그리고

모바일 앱이 왜 뜨고 있을까?

만들기가 상대적으로 쉽기 때문이다. 그 만큼 뭔가가 잘 되어 있다.

struct someFunction {
int a;
char b;
}

에서 5byte 지정했는데 alignment 고려해서 sizeof 하면 8이 나온다는 것을 
자바에서는 몰라도 된다.

1byte alignment 하려고 gcc 옵션을 안 외워도 되고 #pragma pack() 이나

struct __attribute__((packed)) X 등을 안써도 된다.

간단히 말해볼까?

메모리를 생각 안해도 된다.

사실 프로그래머가 메모리를 생각안한다는 말은 우습고,

자바의 VM이 GC를 호출했을 때 메모리를 제대로 반환 시키지도 않는다는

논문도 나와있다.

그러나

구글이 하고 있다. 그 VM은 달빅으로 최적화 되고 있고 사람들이 거기 돈을 쓰기

때문에 점점 좋아 질 수 밖에 없다.

그렇다.


플랫폼을 믿을 수 밖에 없기 때문에

조금 더 고차원적인 프로그램 부분(알고리즘이나 패턴) 에 집중할 수 있기 때문이다.


그리고 H/W 파트 운영체제 파트 등을 한글로 구글 검색을 하지 않는다.

자료가 없으니까.

그래서 이 글을 읽는 당신은 자바를 해야 하는 것이다.


자바를 하다보면

new가 결국 malloc인걸 알게 되고

클레스는 struct의 연장선을 알게 되며

메모리 단편화랑 싸우게 될 것이지만.


일단은 배우기 편하기 때문이다.

그렇게 배우고 나면 다른 언어를 접하기 쉬워지고...

그렇게 다른 언어들도 배우고 나면

결국 CPU와 메모리를 다루는게 전부라는 것을 알게 된다.

그런데 인텔 CPU 메뉴얼도 권수가 꽤 된다.


그 경지까지 이르면...

다른 사람들과 함께 개발하고 싶어 진다.

그 때 가장 좋은 언어가 자바이다.


그렇다고 고슬링 아저씨가 보고 싶은 것은 아니다.

프로그램은 수많은 이름없는 사람들에 의해서 발전해 왔으니까.

그리고 그들은 재미 있었을테니까.


프로그래밍의 끝은 재미.

그 재미를 함께 느껴보지 않겠는가?

댓글 1개:

국정원의 댓글 공작을 지탄합니다.

UPBIT is a South Korean company, and people died of suicide cause of coin investment.

 UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...