brunch

You can make anything
by writing

C.S.Lewis

by 김지영입니다 Feb 13. 2016

외계인 나라의 김실장

언어 이야기 

듣지도 보지도 못한 프로그래밍 언어도 엄청 많더군요. 제가 그동안 알고 있었던 것은 정말 새발의 피도 안 되는 수준이었습니다. 그래서 방송을 통해 각 언어의 대표(???)들과 언어에 대한 이야기를 나누며 배우는 시간을 가져보려고 기획하게 되었습니다. 


우선 구글에서 2015 프로그래밍 언어 순위로 검색을 하였더니 여러 글이 쭉 나왔는데요,  그중에서도 GitHub을 기준으로 선정한 순위가 인상 깊었습니다. (아마도 마우스를 움직이는 데로 변하는 그래프가 너무 예뻐서 그랬던 것 같아요 하하하)


하여간, 이 중에 JavaScript, Java, Python, C++, C#, 그리고 Objective-C를 첫 번째로 이야기 나눌 언어로 선정했습니다. (그런데 JavaScript를 담당하신 분의 개인적인 사정이 생겨 다음 기회로 연기...)


방송은 유튜브를 통해 확인하실 수 있습니다.^^

https://www.youtube.com/watch?v=n-aGwiajobw

방송을 진행하면서 나름 열심히 메모를 해서 제가 배운 내용들의 일부를 정리하여 공개할까 합니다.

방송 중 질문은 슬랙을 통해 받았으며, 방송 후에도 다양한 이야기를 나누었으니 참고하세요.


한 마디로 표현하기

Java :  노동자의 언어!!! 오픈소스로 인해 풍부해짐.

C# : 모던 언어!!! Java의 단점을 개선하여 만들어짐.

Objective-C : 갑자기 슈퍼스타가 된 동네 친구 같은 언어!!!

C++ : 성능을 중심에 둔 로우 레벨 언어!!! 기계 친화적임.

Python : 사람에 친하적인 언어!!! 번역기 언어라고 함.


덧... Python을 번역기 언어라고 표현한 부분에 대해서 이규원님이 페이스북을 통해 가르쳐주신 부분이 있어서 공유합니다.


장점

C++ 

최고의 로우 레벨 언어를 표방. 하드웨어 친화적. 전원을 적게 먹고 빨리 해결(시키지 않은 일은 하지 않음). 최근 고급 언어의 표현 기법을 많은 가져왔음.

Python

빠르게 배울 수 있음(배우기가 쉽다). 개발 생산성이 높음. 접근성이 쉬움. 모호하지 않음.

Objective-C

배우기가 어렵다는 것이 장점이자 단점. 워낙 개발자의 수가 적다 보니 배워두면 원하는 곳이 많음. 30년 전에 만들어졌음. 다른 언어와 브리지 하기 쉬움.

C#

현대적. 발전을 많이 하다 보니 어휘가 강력함. 흡수력이 높음. 프로그래밍을 통해 데이터 쿼리 가능(링크).

Java

가장 많이 쓰는 언어. 이해하기 좋고 발전을 통해 중요한 것들만 남겨두었음. 오픈소스 진영을 끌어들임.


프로그래밍을 처음 배우는 사람에게 추천하는 이유

Java

솔직히 그다지 추천하지 않음. 당장 배워서 취직하기 좋음.

C#

무료 동영상 강의가 풍부(MV). 강력한 개발 도구(Visual Studio). OO 디자인 연구가 활발.

Objective-C

C언어를 배운 후에 배울 수 있음. 제약사항들을 새로 고쳐 나가면서 Swift라는 언어가 개발됨.

제약 사항이 많은 것이 Swift 언어가 개발된 하나의 이유이기도 함.

Python

쉽다는 것이 가장 큰 장점. glue(풀) 언어라고 함. Computer Science에 접근하기 쉬움.

C++

고성능 프로그램이 필요한 곳에 가장 적절한 언어.


결론, 어떤 언어를 선택해야 하는지는 자신이 하고 싶은 것에 따라 다릅니다. 언어를 배우려면 그 언어가 가지고 있는 문화도 이해해야 합니다. 재미를 느낄 수 있는 부분을 선택하는 것이 가장 중요합니다.

아울러, 요즘은 한 가지 언어만을 익힌다기 보다는 다양한 패러다임의 언어를 많이 접해보는 것이 중요합니다. 한 가지 언어를 선택하여 깊이 있게 파본 후 다양한 언어를 공부하도록 해보세요. 최신 언어가 최고의 언어는 아닙니다.


추신 1 : 방송 초반에 사고로 인해 30분 정도 지연되어 시작되어 원래 계획되었던, 각자 자신의 언어를 디스 하는 시간을 하지 못했습니다. 이 부분은 따로 2부를 마련할 예정입니다.

추신 2 : 아직 저도 배우는 단계이다 보니 잘 못 이해한 부분이 있을 수 있습니다. 그런 것들에 대해서는 과감히 알려주세요^^

추신 3 : 본 내용은 여러 분들이 추가로 주시는 의견에 따라 계속 수정 중입니다.

추신 4 : 다음에 다루었으면 하는 언어가 있다면 추천해주세요. 아울러 어떤 분이 참여해주시면 좋을지 의견 주시면 더욱 감사하겠습니다.


                                                                                                                            written by Qwerkywriter

매거진의 이전글 연동과 연계의 차이점

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari