어느 언어가 좋은가?어느 언어를 공부해야 좋은가?를 따질 필요가 없는게...

(순수히 공부를 하면서 따지는 것이라면 이 글을 읽지 않아도 됨. 하지만 그렇다면 그런 분들은 어느 언어를 공부해 좋은가를 따지는것은

모순이라고 생각됨.)


 그 전에 프로그래밍에 대해 본질적으로 따져 볼 필요가 있을거 같음.

프로그래밍이라는것이 어떤 논리를 컴퓨터가 알아먹을 수 있게 하는 작업인데...

나 같은 초보는 허접해서 감을 못잡고 있지만, 고수분들은 알고 계실 것임. 

어느 언어든 사용법은 그 나물에 그 나물이라는 것을...

(그 나물에 나물이라는게 언어 공부가 만만하다는 뜻이 아님. 절라 빡세지 언어 공부)



 '특정 언어에 종속적인 프로그래머가 되어서는 안된다'는 말이지. 자신이 생각한 논리를 프로그래밍 할 수 있는 라이브러리는 어느 언어에서든 

대부분 만들어져 있다. 

'어떤 함수가 어디 클래스에 정의 되어있고 이름이 무엇이며, 그 함수의 리턴타입이 무엇이며 파라메타로는 무엇무엇이 있다' 이런걸 많이 알고 있다고 

절대 고수가 된다는건 아니라는거지. 날고 기는 프로그래머들 죄다 책 편놓고 프로그래밍 한다. 

어떤 기능을 구현함에 있어서 어떤게 필요한데 그것이 어디에 있나.. 그렇지 않으면 내가 구현을 해야 되는것인가? 라고 판단하며

뭐 메서드를 찾든지 만들지간에 진행해 나가는 것이 능력인거다. 

(물론 앞에 말한 논리를 만들어 내는것이 제일 큰 능력.)

한마디로 논리를 펼칠 수 있는 능력, 또 그것을 구현하기 위해 무엇이 필요한가? 그리고 그것을 찾아 쓰는 능력이 중요하다는걸 말하고 싶은거임. 

프로그래밍 언어가 아니라 알고리즘 언어로라도 (그냥 우리 말로 서술하듯이

작성해도 됨) 작성 할 수 있으면 당신은 이미 프로그래머임. 저것을 C 로 옮기면 C 프로그램이 되는거고 자바로 옮기면 자바 프로그램이 되는거지.

(참, 주석은 코딩을 한다음 작성하는게 아니다. 이미 만들어져 있어야 하는거지.)

프로그래밍이랑 코딩을 착각하면 안됨. 이걸 다 쓰자니 너무 길어지니까 패스 하겠음.

더불어 syntax error 보다 더 진짜 500만배 무시무시하고 치명적인건 logical error 라는것도 말하고 싶고..... 저건 눈에 보이지도 않음.

그래서 꼭 구현에 매달리기 보다는 소프트웨어 공학쪽이나 (ex. Agile) acm-icpc 같은 곳에도 관심을 갖었으면 함.


 어떤 특정 언어를 파서 그것을 사용하는 회사에 취직하면 정말 좋겠지만, 현실은 그렇지가 않다는 것도 알아야되.

입사를 했는데 왜 이 언어를 쓰는지 이해가 가지 않는다고 해봤자 소용 없다. 어차피 그 언어를 사용해야 하고.... 

"나는 닷넷 공부했는데 여기서는 자바를 쓰네" 하고 나자빠질 것인가? 실제로도 회사에 입사하면 끝이 아니라, 불특정 언어를

공부해야 하는 상황이 종종 생김. 그때 "저 이거 안해봤는데요" 하고 말하면 Out.

그러니까 난 이 언어를 공부했으니 다른 언어는 사용할 줄 모른다는 마인드 보다는 난 닷넷은 공부했는데 자바는 어떻게 생겼을까? 하고

호기심 많은 어린이가 탐구생활 하는마냥 즐겁게 공부하는 마음 가짐이 필요하다. (그래서 전산직 분야에 종사하는 사람들 중에

워크 홀릭에 빠지는 사람들이 상대적으로 많은것이다.)


 그리고 명심해라. 이 바닥은 취직을 해도 평생 공부해야 한다는 것을. 싫다고? 그럼 주저하지 말고 지금 떠나라.

---나성언님의 '지식의 여신은 쉽게 옷을 벗지 않는다'--- 라는 글도 읽어 보도록.