당신이 자바를 해야 하는 이유
돈을 버는 대표적인 프로그래밍 언어는?
다음과 같은 질문들을 해 보고 스스로 판단해 보자.
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 메뉴얼도 권수가 꽤 된다.
그런데 인텔 CPU 메뉴얼도 권수가 꽤 된다.
그 경지까지 이르면...
다른 사람들과 함께 개발하고 싶어 진다.
그 때 가장 좋은 언어가 자바이다.
그렇다고 고슬링 아저씨가 보고 싶은 것은 아니다.
프로그램은 수많은 이름없는 사람들에 의해서 발전해 왔으니까.
그리고 그들은 재미 있었을테니까.
프로그래밍의 끝은 재미.
그 재미를 함께 느껴보지 않겠는가?
-------------------------------
퍼옴
망해 버려라 자바
[공감]프로그램 언어로 디버깅 속도딸 치는건 구시대 원시인적 생각이다.hdd->ssd로 변화하고 ram 4기가 ->21기가로 업글하는 시대와 초고속 광랜 100기가 500기가 1테라 시대인데 사용하는 언어의 메모리가 무겁니 가볍니 따지는건 미개한 인이나 하는 짓이다.
속도딸, 메모리딸에 쓰인 테크닉이 다른분야에 충분히 적용될수있다고 생각.
자바를 배우고 C++을 배우면, 자바가 어려운 언어고 C++가 배우기 쉬운 언어라는 걸 알게될 것이다.
락프리 지향 시대입니다만
원래 자바 웹들러들이 요즘 하드웨어 성능 좋은데 그런거 뭐하러 신경쓰냐고 한다. 그런애들이 작성한 코드를 나는 보고싶지않다
평생 웹사이트나 만들면서 '흥 ! 우리나라는 기술자 대우를 너무 안해줘' 같은 헛소리나 하다가 삶을 마감하겠지 헤헤 ^^
나는 자바 할줄 모름 그런데 자바는 대충 봐도 너무 어려워 보임 손발 다 묶고 코딩하는거 같음