프로그래밍 언어의 선택 기준은?

geekforum의 이미지

마이크로소프트웨어 4월호에 \'프로그래머의 존재론\'에 가까운 주옥같은 글들이 많이 발표되었습니다. 특히, 신승근 님의 \'개발자 동의보감\'은 압권이더군요. ^_^;

그런데, 재미있는 사실은 프로그래밍 언어의 선택 문제에 대해서 거의 모든 필자들이 공통적으로 의견을 개진했습니다. 사전에 약속을 했을 리는 없고... 그만큼 \'프로그래밍 언어\'를 선택한다는 것이 모든 개발자들에게 공통적인 관심사라는 이야기가 되겠지요.

그 중에서 유독 저만 \'하나의 언어만이라도 깊이 있게 구사할 줄 아는 것도 중요하다\'고 생각하고 있더군요. 다른 모든 분들은 언제든지 새로운 언어를 받아들일 준비가 되어 있어야 한다라는 의견이었습니다.

그래서 다른 분들의 의견은 어떠한지 정말 궁금합니다. 프로그래머라는 직업을 가지고 있는 사람이라면 누구나 다양한 목적을 가진 다양한 언어들을 이해하고, 활용할 수 있는 능력을 갖추는 것이 중요한 것인지요? 저처럼 한 언어에만 매달려서 그 언어만을 고집하는 것은 단순한 아집에 불과한 것인지요?

이왕이면, 한 언어만을 고집해서 성공했던 사례나, 실패했던 경험, 그리고, 다양한 언어를 섭렵함으로써 성공했던 사례나 실패했던 경험들을 이야기해 주시면, 많은 프로그래머들에게 아주 귀중한 자료로 활용될 토론이 될 것 같습니다.

익명 사용자의 이미지

음, 글 다 훌터 보는데 많아서 혼났네...
ANSI C++ 에 관한 좋은책 한권 오직 3번 봤습니다.
자료구조 에 관한 좋은책 한권 오직 2번 봤습니다.
정말 저는 머리도 않좋은데 파고 또 봤습니다. 책의 연습문제는 다 풀고요. 시간이 많이 걸렸습니다.
but!!
MFC, 비주얼베이직, 델파이 하나도 않부럽습니다.
이런 것들은 위의 것보다 후졌다고 생각합니다.
게임하듯이 합니다.
이만 총맞기 전에 물러 갑니다.
ps: 볼렌드는 좀 맘에 듭니다.

익명 사용자의 이미지


정말 언어는 도구입니다. 중요한 것은 언어를 사용하는 개발자의 경험과 노하우 면도칼과 같이 날카롭게 문제를 분석하고 해결하여 프로그램을 만들어 내는 지적 능력입니다.

익명 사용자의 이미지

프로그래밍 언어는 도구에 불과하다... 라는 말도 있고, 하나의 프로그래밍 언어만 알면 다른건 쉽게 할수있다..라는 말도 있고, 여러 많은 분들이 의견을 쓰셨네요.

저는 기본적으로는 C/C++/Assembly 를 사용합니다. 물론 이전에 spc-1000/Apple ][ 쓸 때는 베이직이랑 어셈블러 사용했었습니다.

지금은 C/C++ 로 프로그래밍할일이 거의 없고, 비베를 쓰고 있습니다. 그리고 kb 라는 정체불명의 파스칼 비슷한 언어도 쓰고 있습니다.

먼저, 아래에 한 언어에 통달하면 다른 언어는 쉽다는 게 이해가 가지 않는다...라는 질문 하신 분께 말씀드리자면, 맞는 말입니다.

프로그래밍 언어를 전혀 모르는 상황에서 프로그래밍 언어를 배운다는 것은 언어를 배운다는 것에 프로그래밍 자체를 배운다는 것이 추가되어 있습니다. 당연히 어렵게 느껴질 수밖에 없겠지요.

"한 언어에 대해서 깊게 이해했다"는 것은 곧 "프로그래밍을 하는데 익숙해졌다" 라는 의미를 담고 있다고 생각합니다. 꼭 그렇지만은 않겠지만, 대부분의 경우에요. 그런 사람이 다른 언어를 배울 때는 쉽게 마련이지요.

"프로그래밍"을 할 때 "프로그래밍 언어"만을 알면 된다는 것은 틀린 말입니다. 적어도 프로그래밍을 할 때에는 다음과 같은 것들에 대한 "앎" 이 있어야 한다고 생각합니다.
* 프로그래밍 언어에 대한 지식
* 기반 플랫폼에 대한 지식
* 기반 하드웨어에 대한 지식
* "프로그래밍" 관련된 논리
* 업무(SI프로젝트의 경우)에 대한 지식
- 예로, "패턴" 같은 경우에는 프로그래밍 관련 논리와 업무 지식 양쪽에 걸쳐지겠죠.
* "시스템"에 관련된 지식
* 운영체제에 대한 일반적인 지식
* 프로그래밍에 대한 일반적인 지식
* 기타 여러가지...

위에 보면 다 비슷비슷한 말 같죠? 플랫폼에 대한 지식, 운영체제에 대한 일반적인 지식, 시스템에 관련된 지식.... 다 같은말이잖아! ...라고 하실지도 모르겠네요. 하지만, 제가 알고 있는 한 다 다른 것입니다.

플랫폼에 대한 지식은 작성할 프로그램이 동작할 플랫폼 자체에 대한 지식을 의미합니다. 만약 자바 프로그램이라면 자바 VM이나, 자바 GUI 에 관련된 지식, 윈도우 프로그래밍이라면 버튼에는 어떤 종류가 있는지, 데이터베이스 접근 함수는 어떻게 사용해야 하는지, 만약 유닉스 기반의 프로그램이라면 시그널이나 가상메모리 관련된 함수는 어떻게 사용할지 등등...

운영체제에 대한 일반적인 지식은 다음과 같은 것입니다. 머... 가상 메모리를 잡을 때는 페이지 단위로 잡힌다. (이게 어느 크기로 잡히는지, 어떤 전략을 쓰는지는 위에서 언급한 플랫폼 관련 지식이겠죠.), gui의 구성 요소중에는 윈도우, 버튼...그런것들이 있다. 멀티쓰레드는 어떤것이고, 멀티프로세스는 어떤것이다. 그것들간에 자원을 공유할 때에는 세마포나 뮤텍스 같은것들을 사용해서 리소스 충돌을 막는다..

시스템에 관련된 지식... 이것은 경험이나 생각을 많이 한 빈도에 따라서 틀려질 수 있는 말 그대로 "체제"를 어떻게 만들까에 대한 고찰입니다. 이 "체제"는 범위를 어떻게 생각하느냐에 따라 틀려집니다. 사람(운영자나 사용자)을 포함한 많은 구성 요소들이 서로 어떤 약할을 맡고 어떻게 동작하는지, 서버는 어떤 구성요소로 나뉘고, 이런것들은 따로 돌리고, 저런것들은 한 프로세스 공간 내에서 돌리고, 그 이유는 뭐고, 등등등.... 이런 것입니다. 이것은 지식보다는 거의 "감"과 "경험"이 우선합니다. (물론 지식도 엄청 중요합니다만,)

이런것들은 단지 헷갈리는 것들이고, 그 외에도 엄청 알아야 할 것들이 많습니다. 프로그래밍을 하기 위해서는요.

저는 여러개의 언어를 하든, 하나의 언어를 하든, 그것은 순전히 개인의 자유라고 봅니다만, 저는 C를 좋아합니다. 아직은 가장 많은 분야에서 차별없이 사용할 수 있는 좋은 도구라고 생각합니다. C는요.

마지막으로, MFC나 RAD 툴들을 좀 비하해서 보시는 분들에 대한 반대 의견입니다. RAD툴로 프로그래밍 했을 때 발생하는 에러나 오류는 C/C++ 등과 같은 프로그래밍 도구 작업했을 때보다 훨씬 적을 것입니다.
프로그래밍을 어느정도 하신 분들은 누구라도 자신만의 라이브러리를 가지고 있고, 또는 가지기를 열망하는 분들일 것입니다. 몇몇 분들이 그렇게 무시하고 계시는 RAD 툴들과 그것이 가지고 있는 컴포넌트들은 일단의 전문가들에 의해서 만들어진 "사용하기 쉽고", "나름대로 많은 테스트를 거쳐서 안정된" 라이브러리입니다.

저는 RAD를 단순히 개발을 빨리 하기 위한 툴로 보지 않습니다. C/C++ 로 윈도우 프로그래밍을 할 때, 사람들이 입력하는 각각의 필드에 대해서 Error Checking 을 수행하여야 한다고 생각해 보세요. 얼마나 할일이 많을까요? 어떤 필드에서는 숫자만 받아야 하고, 어떤 필드에서는 전화번호 포맷을 받아야 하고.. 등등...

물론 이것은 하나의 예에 불과합니다만, 그런 시시콜콜한 것들까지 모두 컨트롤하려면, 그것도 오랜동안 경험을 쌓고, 게다가 성실해서 자신의 라이브러리나 코드 데이터베이스를 만들어 놓지 않은 사람이 그짓을 하려면, 얼마나 힘들겠어요.

RAD는 쓸모없고 비싸고, 실력없는 사람들이 돈으로 떡칠해서 프로그래밍 좀 해볼려고 껄떡거릴 때나 사용하는 - 그런 것이 *절대* 아닙니다.

RAD에도 나름대로의 철학이 있고, 나름대로의 로직이 있습니다. 여기(kldp)엔 그런것을 "하수만의 도구" 라고 쓰시는 분들이 몇분 계시는 것 같아 좀 그렇숩니다.

본 토의에 있어서 제 의견은 다음과 같습니다.
* 하나의 언어로 프로그래밍에 익숙해진 사람은 다른 언어로 프로그래밍 할때 엄청 쉽게 할 수 있다.
* RAD툴은 나름대로의 의미를 가지고 있으며, RAD로 만든 프로그램이 언제나 나쁜것도 아니며, RAD로 프로그래밍하시는 분들이 프로그래밍에 있어서 하수도 아니다.

말이 길어졌네요. 좋은 하루 되세요.

익명 사용자의 이미지

아직은 초보이지만 님의 글을 읽고 참 나의 생각과 같다는
생각을 했읍니다.
좋은 글 감사합니다.

익명 사용자의 이미지

얼마전 c# 세미나에 갔었습니다. 전 자바 사용잡니다. 최근에는 c의 필요성을 느낄때가 있지만 하는 전 자바를 사용합니다.
이유를 들라면 스펙때문입니다. c,c++에서 ejb, corva 구현은 자바만큼 쉽지 않거나 거의 불가능 합니다. 파이썬의 생산성되 특정 부분에 한정되기는 마찬가지구요. 언제부터인지 언어는 그 자체보다 요구되는 테크널러지를 지원하는야 하는 것에 많이 종속되지 않나 쉽니다. C나 C++의 성능이 항상 자바 보다 나은 것은 아닙니다. 네트웍 기반에서는 java가 더 빠를수 있습니다. 하지만 자바를 클라이언트 구현에 사용하려 한다면 저도 그리 좋은 생각이라 생각하진 않습니다. 이때는 C, c++이 좋을수 있고 더 나은 언어도 많지요....
문제는 어떤 언어 그자체가 아니라 그 언어가 원하는 작업에 필요한 스펙을 지원하느냐가 아닐지

익명 사용자의 이미지

COM 기술이 있잖아요?

박영록의 이미지

전 일단 한 가지 언어를 완벽히 익히는 것도 중요하지만 그런 다음에는 여러 언어를 접해보는 게 좋다고 생각합니다. 일단 언어 하나를 마스터하고 나면 다른 언어를 이해하는 것도 훨씬 쉬워집니다. 처음 프로그래밍을 배우는 사람이 C++을 완벽히 마스터하려면 적지 않은 시간이 걸립니다. 그러나, C++을 일단 마스터한 사람이라면 SCJP 책 잡고 2주일만 보면 합격할 수 있는 수준이 될 겁니다. PHP 같은 건 이틀 정도만 공부해도 쉽게 할 수 있을 꺼구요. 일단 하나를 마스터해놓고 나면 다른 언어를 해보는 게 득이 되면 득이 되었지 나쁜 일은 결코 없을 겁니다. 분야 마다 좋은 언어가 있으니까요. 자바가 많은 장점이 있지만 퍼포먼스에서 C에 밀리고 생산성에서는 파이썬에 밀립니다. 물론, 그 사이에 아주 적절한 정도의 퍼포먼스와 생산성을 확보하고 있지만요. 우리과에서 꽤나 자주 볼 수 있는 상황인데 다들 1학년 때 자바만 배워서 C로 뭔가를 해야하는 경우에 아주 힘들어합니다. 이를테면, 80196을 이용해서 마이크로로봇 제어를 한다는가..할 때 C로 하면서 많이 헤매죠. 게다가 유닉스/리눅스에서는 아무래도 자바보다 C가 편리한 점이 많고요. 반면, 또 C만 익힌 세대들은 자바를 쓰면 아주 편리할 수 있는 상황에서 C로 하느라 헤맵니다. 인터넷 기반의 프로그램을 만들 때는 API 지원이 막강한 자바가 좋을 때가 많죠. 요즘 한창 뜨는 XML도 자바 쪽 지원이 C++쪽보다 훨씬 많구요. 또, 웹 프로그래밍 같은 경우엔 쉬운 PHP가 좋고 도서관리프로그램 같은 거 빨리 만들어야할 때는 VB 쓰면 정말 좋죠.
아뭏든 전 여러 언어 익혀서 해될 건 전혀 없다는 게 제 생각입니다. 한 언어만을 쓰더라도 다른 언어의 장점을 생각해가면서 하면 훨씬 코드가 좋아지죠. 저도 자바 배우고 나서 C코드 짜는 게 훨씬 좋아졌다는 느낌을 많이 받았었거든요.

익명 사용자의 이미지

프로그래밍을 잘한다는 것과 프로그램 언어를 잘 구사한다는 것과는 다른 개념이라고 생각됩니다. 논리적인 사고력과 프로그램을 작성하는 좋은 습관(읽기 쉽고 디버깅하기 쉽게)등은 어떤 언어를 사용하더라도 필요한 능력이자 습관입니다. 그리고 사실 이보다 더 중요한 것은 어떤 프로그램이 가치가 있는 프로그램인가하는 것을 판별하고 나아가서 가치있는 새로운 프로그램을 기획할 수 있는 능력입니다.
실제 프로그램이 기획이 되고 기본적인 설계가 된다면 아주 뛰어난 프로그래머가 아니더라도 프로그램은 작성될 수 있습니다.(아마 프로그램을 해 본 사람들은 대부분 느낄 것 입니다.) 공부를 하고 많은 책을 읽고 많은 공상을 하고하는 이런 것들이 좋은 아이디어를 줄 수 있습니다. 진정한 프로그래머(코더가 아닌)가 되기 위해서는 코드속에 파묻혀 지내기보다는 코드 밖의 세상에서 더 많은 것을 배울 수 있을 것 입니다.
그러나 역시 이러한 능력도 최소한의 한가지의 언어를 어느정도 자유롭게 구사할 줄 알아야 가능합니다. 정확한 비유는 아니겠지만 좋은 프로그램은 좋은 소설과 일맥 상통하는 면이 있는 것 같습니다. 소설에 재능이 있고 많은 경험과 깊은 사고를 하는 사람들은 영어를 사용하든 한국어를 사용하는 자기가 사용하는 언어로서 훌륭한 소설가가 될 수 있을 것 입니다. 그러나 어느 한 언어도 자유로이 구사할 수 없다면 많은 생각을 가져도 그것을 글로 표현할 엄두를 내기 쉽지 않습니다.
제 개인적인 생각은 한가지의 자유로이 구사할 수 있는 프로그래미 언어 + (훨씬 더 중요한 것으로)사고력과 좋은 습관이 같이 겸비되어야만 훌륭한 프로그래머가 될 수 있다고 생각됩니다.

익명 사용자의 이미지

제생각에는 우선 하나나 둘 정도는 남과 나, 모두가 만족할 만큼 꿰고 있어야 한다고 생각합니다.

그리고, 거기에 새로운 언어와의 접목을 시도하는 것이 좋을 듯 싶습니다.

물론, 단순히 프로그래밍을 배운다는 관점에서는 단순히 문법을 아는 정도에서 멈추는 것이 훨씬 나을 것이고,
업무를 위해서 프로그래밍 언어를 배우는 것이라면 많은 언어를 배우되, 확실히 응용할 수 있는 수준까지는 알아야 할 것 같습니다.

제가 생각하는 프로그래머는 프로페셔널입니다.
단순히 자신이 필요한 프로그램을 만드는 사람도 프로그래머이기는 하지만... 이 경우에는 굳이 여러 언어를 배울 필요가 없잖아요. 차라리 1가지 언어를 아주 잘하는 것이 좋으니까... 이번 토론과는 관련이 없기에 그렇게 판단했습니다.

그러므로, 한 두 언어는 아주 확실히 알아야 하겠습니다. 그리고, 그 언어의 약한 부분을 다른 언어에서 빌어 올 수 있도록 하는 융통성을 발휘하는 것이 좋겠죠.

그리고, 프로그램을 개발할 때 중요한 것은 "빨리"가 아닌데, 요즘에는 너무 "빨리"를 강요('강조'라면 다행이지만... ㅡ.ㅡ;)하고 있죠. 프로그램을 개발할 때 제일 중요한 것은 '확실한 기능 구현'과 '확장(유지, 보수)'이죠.
그런데, 저랑 같이 학원에 다니며 비베(VB) 배우시는 분들은 확실한 기능 구현을 별로 중요하게 생각지 않더군요. 기능이 안되면 만들어 넣는게 옳다고 생각하는데, 그렇게 하기보다는 오히려 새로운 라이브러리를 찾으려고 웹브라우저 검색엔진 페이지를 열더군요. ㅡ.ㅡ; 심지어는 순서도조차 그리지 않는 분도 있더군요.
왜 그렇게 하시냐구 물었더니, "시간도 없는데 바보처럼 순서도는 왜 그리고, 가져다 쓰면 되는 그런 기능을 왜 만듭니까?"라며 오히려 이상해 하데요.
물론, 맞는 말일 수도 있습니다만, 만약 그 라이브러리에 오류가 있다면 어떻게 할 건지... ㅡ.ㅡ;
특히나 우리나라 사이트에는 비베 소스가 부족하더군요. 거의가 이미 컴파일 된 것이데요. 옆에서 지켜보니까... 2개월짜리 프로그램 개발을 2주만에 끝내고, 디버깅으로 나머지 기간을 떼우더군요.(책에 나온 과제인데 기간이 2개월로 정해져 있데요.)
저는 vc(비주얼씨)이었는데... 거의 40일이 걸렸죠. 하지만, 반대로 디버깅은 10일 정도 걸렸습니다.
거의가 포인터와 클래스를 잘못 적용한 거.... ㅡ.ㅡ;
디버깅은 학원 강사 부려먹었죠.... 흐흐흐.

"빨리"보다는 "확실한 구현"을 강조한다면... 비주얼 툴보다는 유닉스 계열의 툴이 더 좋을 것이며, 비베보다는 델파이가 더 나을 것 같습니다.
하지만, 여러 언어의 라이브러리를 한 언어에서 가져다 쓰려고 한다면, 오히려 비베를 익힌 후에, 다른 언어의 기본 문법 정도는 익히는 것이 좋을 것 샅습니다. 비베의 고급 기능 가운데, 다른 언어에서 컴파일한 라이브러리를 불러오는 기능이 있더군요. 그것도 대단히 강력한...

빨리 보다는 확실한 구현이라는 주장과 비슷하게...
1가지 언어를 '우선' 확실히 아는 것이 중요하다고 생각합니다. 그 후에 다른 언어를 아는 것도 늦지 않으리라 생각합니다.
새로운 언어를 받아들인다는 것은 수박 겉핥기가 될지도 ...

익명 사용자의 이미지

언어가 아무리 도구라 해도 무시하면 안된다구

봐요. 그러니깐 알고리즘이 생각이라고 하면

언어는 표현이니깐 우리가 외국인과 대화를 하려고

해도 생각이 없어서 얘기가 안되는 것이 아니라

외국말을 몰라서 대화를 할 수 없는 것처럼 생각

(알고리즘)은 어떻게 하던지 하면 되겠지만 표현

(프로그램)은 제대루 해야 되지 않을 까요.. 안그럼

생각지도 못한 반응이 올 수도 있으니깐요..히~

익명 사용자의 이미지

글쎄요..
제 생각으로는요
한가지 언어를 잘하는게 중요하다고 생각합니다
제가 씨언어를 한 15년가까이 했는데
일단 씨언어를 할 줄 아니까.
윈도우에서 리눅스 프로그램으로 오기가 쉽드라구요
저는 이렇게 생각합니다
하나의 언어로 자신의 생각을 그대로 표현할 수 있다면 굳이 다른 언어를 쓸 이유가 있을까요.
그냥 그 언어 자체만으로도 모든것이 가능한데요.
여러가지 언어를 쓴다는 것은 물론 매력적입니다만은 잘못하다가는 어느 하나도 제대로 쓸 수 없게 됩니다.
그렇게 되면은 어느 기능을 구현할려면 어느 언어를 쓰게 되고 다른 기능은 다른 언어 이런식으로 가게 되지요. 그런게 좋은 것이지 묻고 싶군요.
그리고, 하나의 언어를 자신이 제대로 쓸 수 있다면, 다른 언어는 기본서와 명령어 메뉴얼 하나만 있으면
금방 적응이 됩니다. 어짜피 언어란 것이 기본적인 구조는 거의 비슷하니까 말이죠.
도움이 됬으면 하내요....

white23의 이미지

^^
저도 님과 거의 같은 생각입니다.
저도 얼마까지 따른것도 이것 저것을 만져봤지만...
오직 C와 Assembly만 고집을 하였습니다.

일단은 못하는게 없고 포퍼먼스도 가장 좋으니...
아주 너무 많이 매력적이죠...

그러나...
이 포퍼먼스 못지 않게 요즘은 빠른 개발을 요하는 사회가 아닌가 생각이 드네요...
물론 어느 연구소나 뒷줄이 빠방해서 계속해서 연구를 할 수가 있다면 모르겠지만은...
님도 아시다시피 보통의 기업(거의가 벤처와 중소기업)은 그렇지 못합니다.
그리고 그러면 않된다고 저도 생각을 합니다.
뭔가 말들어서 팔아야하지 않을까요...^^
살려면...

흠...
그래서 전 요즘 회사에서 저의 고집 꺾고 요즘은 비베합니다.
그리고 DHTML, ActiveX, ...
이거 필요하네요...
전에는 몰랐던것도 많이 알게되고...^^

그래도 역쉐... linux의 잡업 환경이 매우 그립네요...

<어떠한 역경에도 굴하지 않는 '하양 지훈'>

어떠한 역경에도 굴하지 않는 '하양 지훈' - It's Now or Never!!!

익명 사용자의 이미지

님아 포퍼먼스가 아니고 퍼포먼스입니다..

벼락맞을까봐서 익명으로 글 남깁니다

park_의 이미지

회계에 나오는 간단한 개념을 들면 장부에 기록할때
자산=부채+자본 이원리에 기초를 합니다.
이것을 구현하는것은 양변에 똑같이 값을 주고 내리 더해서 그합이 같으면 기록이 적합하게 된것이구 다르면 잘못되었다고 하면 되는 것입니다. 왜 이렇게 구현하는지 모르는 사람은 부기에 대한 지식이 젼혀 없는 사람입니다.

이런 사람에게 회계프로그램을 짜라고 할경우는 무조건 부채는 자본하고 더하고 그다음 자산과 비교를 해라라고 안내를 해줘야 할겁니다. 왜 그런지는 굳이 몰라도 됩니다.

이런식으로 우리 언어로는 몇가지만 숙지하면 걍 회계프로그램이 되는데 이 얼마나 좋은세상이냐고 광고를 해대는 인간들이 미국인들이죠.

언어선택을 고민할게 있습니까? 그게 그건데 좀 써보고 사용하기 편하면 계속쓰고 더좋은게 나오면 바꾸고 하면 되죠

어차피 우리것도 아닌데 언어를 여러개 아느니 모르느니 토론하는것은 MS/Linux논쟁만큼 피곤한 일이군요
돈새는 것은 그바가지가 그바가지인데 말이죵!

물론 이런데 관심있는 사람이 무지많다는것두 피곤~

익명 사용자의 이미지

모두 부럽네요.. 나도 한가지라도 잘했으면...

익명 사용자의 이미지

Language is like 言
프로그래밍 언어는 우리가 쓰는 언어랑 같죠..

한국말만 잘해도 밥먹구 살수있지만

게다 가 영어 좀 할줄 알면 우와 하고 보게되고
일본어,중국어.독어..불어..좀 하면
그땐 경외스러운 눈빛으로 보죠..

여러분들은 한국어만 할줄 아는 사람이 되고싶습니까?

girneter의 이미지

클클클...

그건 제가 한국인이고 따라서 한국말은 기본으로
잘한다는 전제가 있을 때의 이야기구요.

만약 제가 한국말도 제대로 못하는 주제에
영어니 일본어니 하겠다고 깝죽댄다고 생각해 보십시오.

허허... 하나라도 제대로 하는게 더 좋을수도 있지요.

개념없는 초딩들은 좋은 말로 할때 DC나 웃대가서 놀아라. 응?

익명 사용자의 이미지

이 글을 읽으니, 갑자기 메이저리그 박찬호 선수가 생각나는군요...

처음에 미국가서 혀말리는 소리하다가, 요즘은 정신차리고 제대로 된 말 하려고 노력하더군요.
(미국에서 태어나 대학강단에 영문학 강의하는 한국인 노교수도 한국말 또박또박하는데...)

제가 이런 조금은 직접적인 내용에서 벗어난 이야기를 꺼내는 것은 무엇이 되었건간에 하나의 기초가 제대로 되어있고 나서 다른 발전을 모색하는 것이 사상누각이 되어버리지 않을 것이라는 점입니다. 프로그래밍 언어도 마찬가지겠지요... 지나가다가...

익명 사용자의 이미지

박찬호는 미국 가기 전에도 말투가 원래 이상했데요. 요즘에 괜히 자기가 미국 간 거하고 말투 이상한 거하고 연관되서 오해 받으니까 고치려고 하는 거죠..

DiNe의 이미지

너무들 고민하는 거 아니실지.. ;; 물론 고민해야 발전이 있지만요. 고민을 하지 말라는 게 아니라... ;; 어느 방향도 이점이 있다면 하고싶은대로 하면 된다.. 가 답이 아닐런지요.

제 일천한 경험에 의하면... 꼭 한 가지 언어만 하면서 살 수도 없었습니다. 그리고 스스로의 지적 욕구에 의해서도 다른 언어를 접하게 되었었구요. 각각의 언어는 각각의 철학을 가지고 있고, 나름대로 모두 재미있더군요.

그러나 또한 한 가지 언어를 깊이 사용하면서 아~ 그렇구나 하는 느낌 또한 프로그래밍의 쾌감(?)중 빼놓을 수 없는 중요한 부분이라고 생각합니다. 결국은 그 두 가지가 모두 자기발전을 가져오더군요.

제가 드리고 싶은 말은 이런겁니다. 꼭 어느쪽으로 접근해야 한다는 법은 없다.. 상황에 맞게, 지금 프로젝트에 필요하면 새 언어 배워도 좋고, 기존 언어로 하고 싶으면 해도 좋은데.. 타성에 젖지 말고 항상 지적 욕구를 가지고 '열심히' 하자.. 뭐 이런거죠. 너무 뻔한소리지만.. ;;

익명 사용자의 이미지

준현님, 질문 있는데요...
여러 언어 두루 잘 하면 당연히 좋은 거고,
한가지 언어 고집하지 않고 용도에 맞게 골라 쓰면
좋은 것두 다 알고 있지만!
이제 시작하는 사람한테는 언어 하나 제대로 알기도 도통
힘들어 보이는군요.
아래 보면 C를 쓰는 고수급 개발자께서 자바 책 몇 권
보고 자바로 잘 짜나가더란 말도 있는데, 전 도저히
믿을 수가 없습니다. - 자바로 짠 C 코드가 아닐까 하는...
언어마다 고유한 분위기가 있고, 이디엄이 있는데,
차라리 알고리즘은 언어마다 공통적인 것이기 때문에
오히려 파악하기가 더 쉽다고 생각되기도...
에궁 질문한다고 해놓고 엉뚱한 소리를...
질문은요, C와 C++과 JAVA에서 동시에 웬만한 수준을
유지하는게 가능한가 하는 겁니다.
그 유지 비용까지 계산해서요...
그럼, 답변 부탁 드릴께요.(저 아직 마소 안읽어
봤습니다.)

익명 사용자의 이미지

제 생각엔 일단 C의 고수라면 다른 언어를 익히는데 유리하다고는 생각합니다. C언어만큼 플랫폼에 종속되지 않은 언어스펙만으로 시스템 전체에 대한 풍부한 내용을 담고 있는 언어는 없다고 생각하거든요. 개인적으로는 자바로 개발할때 버츄얼머신에 대해서 이해하는데 C가 매우 많은 도움이 됐고요.
하지만 전통적인 의미의 C개발자가 별 노력없이 자바의 고수가 된다는 것에 대해선 매우 부정적입니다. 개인적으로 느낀 언어의 철학에 의해서 C를 임플리멘터의 언어, 자바를 디자이너의 언어라고 분류합니다. 당면한 문제에 한정되고 집중된 효율적인 솔루션을 만들어 내는게 목표라면 C를 쓸것이고 문제가 포함된 케이스에 대해 포괄적인 솔루션을 만드는게 목적이라면 자바를 쓰는게 옳다고 생각합니다. 글이 좀 새는군요. 말인즉은 제 경우엔 문제를 대하는 방식이 완전히 다른 두가지 언어(자바와 C)를 별다른 노력과 대가없이 왔다갔다 할 수는 없었다는 거죠. 첨에 자바에서 interface 쓰느거 보고 얼마나 놀랬는지, factory도 그렇고 정적인 컴퓨팅에 익숙한 저로서는 런타임에 문제해결방법을 결정하는 자바가 상당히 충격이었고 그 방식으로 설계하는데도 상당한 노력을 들였다고 생각합니다.
결론은 동시에 여러언어에서 전문가가 되기는 어렵지만 어느 정도까지는 해볼만하고 또 한분야에서 어느선 정도 파다가 포기도하고 새로 시도도하고 하다보면 전혀 엉뚱한 곳에서 오버랩되는 부분도 생기고 하는것 같습니다.
너무 길다..-_-;

익명 사용자의 이미지

C는 컨벤션을 어떻게 정하느냐에 따라서 다양한 모습을
보여줄 수 있습니다. C를 가지고 자바나 C++처럼
짤수도 있죠. 저같은 경우도 C로 짜지만
객체지향 분위기가 나는 코드를 만들어냅니다.
차라리 C++보다는 C로 객체지향 흉내내는게 더 편하더군요..
자바는 괜찮지만.. C++은 꽝이죠.. 읽기도 불편하고..
최초의 C++컴파일러는 C++코드를 C코드로 번역해내는
단순한 트랜스레이터였다는 사실을 아시는지?
즉 C언어 쓴다고 해서 객체지향을 무시하는게 아니라
충분히 C언어로도 객체지향적으로 짤 수 있습니다.
고로 그분 코딩 스타일에 따라서 충분히 C쓰다가 컨셉이
틀린 객체지향 언어를 써도 적응이 가능하다는겁니다.
객체지향은 어디까지나 일종의 패러다임입니다. 언어에
구애받지 않죠. C를 쓴다고 객체지향이 아니다! 라고
선입견을 가지시면 안될 것으로 생각합니다.

익명 사용자의 이미지

흠..모두들 생각이 깊고 표현들도 잘하시는군요..

저런 식의 표현을 이라고 보고 나서 밑에 보면

저로선 반박못할 논리를 들어 주신 것들 하며

그것을 반론 하시는 분들 하며,

거기다 생각의 깊이까지..

쩝 뭐하며 살았는지..

글이 많이 빗나갔습니다..

전 단세포라 저런 깊은 생각들을 못하겠습니다.

마음에 달린 거군요..

하나를 깊이 파서 득도를 하든

여럿을 다 해서 도사가 되든

어느쪽으로도 도를 이룰 수는 있는 것 같습니다.

자신의 의지와 마음이 한 길이라면요.

전 마음과 의지부터 다시 다 잡으러 가야겠습니다.

익명 사용자의 이미지

다들 천재이신 거 같군요.:^)
저는 둔재라T.T
프로그래밍 언어야 문법도 거기서 거기고 다
비슷비슷하지만, 그 수많은 함수들은 다 어떻게 외운담!
문법 잡는데 길게 잡아 일주일 잡는다고 치고,
한 달 안에 분위기 파악하고, 대충 비슷하게는
짜나간다고 해도, 언어를 제대로 구사하려면 그 수많은
펑션들을 자유자재로 사용할 수 있어야 하는데T.T
언어를 많이 배워두면 좋은 건 당연하지만...
세상 모든 언어가 펄이나 파이썬은 아닌데...

그저 부럽습니다.

익명 사용자의 이미지

함수는 왜 외우나요?
API고 MFC고 기본 C library고 외울필요
없습니다

프로그래밍하면서 익혀가는거지...

익명 사용자의 이미지

걍 책 사세요. C Programming Library 였던가...
암튼 거금 들여 사서 잘 보고 있습니다.
잘 읽지는 못해두... (모두 영어데요... 책을 잘못사서... 한글로 된거 사야 하는데.... ㅜ.ㅜ;)

아니면.... 인터넷에 있는 거 프린트 하시던지...
요즘에는 레퍼런스 전체를 올려놓은 웹페이지도 있더군요.

익명 사용자의 이미지

헐... 제말이 그 말인데...

익명 사용자의 이미지

언어는 도구일 뿐입니다...저 같으면 언어를 하나 더 배우는 시간에 수학 공부랑 알고리듬 공부 좀 더 하겠습니다. 저는 3D Programming으로 먹고 사는데 지금에 와서 느낀 거지만 제가 프로그래밍하다가 한계를 느낄 때는 언어나 API를 몰라서라기보다는 수학이나 알고리듬을 몰라서 헤멜 때였습니다.

익명 사용자의 이미지

알고리즘이나 수학이 도구라는 생각은 안 드시나요? ^^;

익명 사용자의 이미지

절대적으로 동감 !! T_T;

익명 사용자의 이미지

중딩이참 잘났다
영어공부나 해두는게 좋을듯

익명 사용자의 이미지

두가지 길이 있다고 생각합니다.

하나는 생산성에 중점을 둔 것과
다른하나는 하고싶은 언어로 하는 것말입니다.

공학이라는 것이 결과만 내면 아무런 상관이 없는 것이기 때문에 그 과정에서 만족도가 얼마나 높은가?가 결국 문제의 핵심이 된다고 생각됩니다.

회사라면 당연히 생산성에 중점을 두어야 겠습니다. 회사는 경제성의 원칙을 지켜야하는 조직입니다. 실제로 그렇게 돌아간다고 생각지는 않습니다만, 회사는 경제성을 추구해야합니다.

간단한 관리툴을 제작하는데 굳이 C나 C++을 사용해야 할 필요는 없죠. 그런 거라면 오히려 python이나 VB를 배워서 하는 것이 알고 있는 C나 C++같은 걸로 하는 것보다 빠를 가능 성이 큽니다. C나 C++은 안정성을 보증하려면 시간이 걸리기 때문에, 아무리 잘해도 사람이 하는일이라 어딘가 삐구가 있습니다.

요구분석이 중요하다고 생각합니다. 요구에 맞춰서 가장 경제성 높은 툴을 사용하는 것이 엔지니어의 능력중에 하나겠져.

걍 취미생활이라면 하고싶은데로 하는게 가장 만족도 높지 않을까여?

그러나 전 제가 원하는 툴을 사용합니다. 가능한한은 말에여.--;; 회사에서도 개인적으로도

합리적인 사고에서는 경제성이 우선이겠지만, 개인적인 시간을 더 들여서라도 원하는 방향으로 가게하는게 더 보람찬 것 같습니다.

익명 사용자의 이미지

누구가 그러더군요 MFC로만 프로그래밍을 해야한다.
누구는 DELPHI이가 최고야
누구는 C가 최고야....
누구는 JAVA가 최고야....
그래서 이것으로 꼭해야만 해!....
너무 바보 같은 생각이라 봅니다. 개인적으로....
자신이 만약 필요에 의해 개발을 맡게 되는 시스템영역 내에서
가장 빠르고 편리하게(성능,시간) 개발할수 있는 도구 툴이면
그게 가장 좋고 이상적인 게 아닐까 싶네요....
그리고 토론의 주제처럼
제가 프로그래밍을 해보니 모든 잡학다식하게 알아야 겠더라고요
그러나 기본은 변하질 않는것 같더군요....
언제나 변형이 가능하고 적용이 되는것 같습니다.
그래서 꼭 한가지만 고집할 필요는 없는것 같습니다....
제 생각입니다.....

익명 사용자의 이미지


최대한 MFC는 사용하지 않아야 한다고 배웠는데...

학원에서 VC/VB 배울 때에도 MFC 쓸 때는 두번 세번 주의하라고 하던데요. 그만큼 허술한 부분이 많고, 속도나 성능에 관련된 부분에서 낭비하는 요소가 많다는 거죠.

좋은 점이 있다면, 윈도 환경에서는 표준이라는 점과 메모리를 확실히 되돌려 준다는 점이라데요.
그것도 MFC가 에러를 발생시키지 않았을 때의 일지지만...

익명 사용자의 이미지

프로그래머로 일하는 친구넘 예기가 가슴을 찌르는군요 "난 c 하고싶은데 마소의 독점성 때문에 지금 비쥬얼배이직으로 일하고 c#을 배우고 있다"

개인적으론 프로그램하나만 정통하면 모두와 통한다는데 공감임니다. 다만 먹고살기위해 주류를 선택해야하는 힘없음이 안타까울 뿐입니다.

얼마전 oun방송을 보다보니 java에 대해서 나오더군요 그런데 이번에 마소가 c#을 발표한 이유가 자바 때문이라는 글을 읽었습니다.

필요에의한 새로운 언어의 개발이 아니라 다른언어의 잠식을위한 언어의 개발...

즉 프로그래머가 언어를 선택하는게 아니라 주류에의해 선택되어져 버리는 그런것.... 뭔가 잘못되는거 아닐까요?

어떤 언어를 선택하던 언어가 어떤기능을 내포하고있던 프로그래머는 자유로와야 하는것 아닐까요?

익명 사용자의 이미지

저는 C하고 싶어서 C하는 회사로 왔는데요?
뭐 트집잡으려는건 아니지만 그 친구분 푸념은 좀 사리에
맞지 않는듯.. 그 회사가 VB를 쓰고 C#을 쓰는 것은
회사업무에 적합하기 때문일텐데 그걸 가지고 C 쓰고
싶다고 푸념하다니.. 그건 그 회사탓도 아니고 MS탓도
아니고 자기 적성에 안맞는 회사를 억지로 다니고 있는
친구분 자신의 탓이 아닌지? C쓰는 회사들도 많은데요.
임베디드쪽으로 방향 돌리시던가 하면 C 하나는 지겹게
쓰실 것으로 압니다..

익명 사용자의 이미지

흠... 자기가 쓰고자 하는 언어를 필요로하는 회사에 취직한다라

개인적으로 친구넘은 게임 프로그래밍을 하고싶어하는데 취직도 안되고 먹고살기 힘들어서 회계관련 프로그램 짜는곳에 취직이라기 보다는 임시? 로 들어가 있습니다....

부럽군요 원하는곳에 척척 들어가시는 실력이....

익명 사용자의 이미지

-_-;;;;;;;;;
언어는 도구일뿐...
저야 중딩이라 탱자탱자 놀면서 가끔씩
어셈이나 php에 손대지만 -_-;;;
웹프로그램 제작할때는 php를...
딴건 딴거를...^_^;;;

익명 사용자의 이미지

음!
무의식적으로 자신을 과대포장하는 군요
왕자의 기질이 있어요 앞으로 잡지의
글을 유심히 관찰해야 겠군!!!

oprix_의 이미지

그게 문제가 있을까요?

우리나라는 너무 겸손의 미덕을 따집니다.

자신감! 개인의 발전에 꼭 필요한 요소 아닐까요?
왕자병이라고 너무 그러지 맙시다.

익명 사용자의 이미지


에고... 한국사회에서 자신을 드러내는 일은
곧 자살행위라는 사실을 다시 한 번 뼈저리게
느끼게 해 주시는군요.

저로 인해 불쾌감을 느끼신 분들이 혹여 계신다면...
정중히 사과드리겠습니다.

안녕히 계십시오.

P.S.
다음 달이 제가 올리는 마지막 기사가 될 것 같군요.
너무 유심히 보지는 말아주세요... ^_^;

익명 사용자의 이미지

설사 자살행위라 할지라도 드러내야 할 것은 드러내야 한다고 생각합니다. 물론 그것이 옮고 그름을 떠나서 말입니다. 사실 옭고 그르고, 맞고 안맞고의 문제도 정답이 따로 있기 보다는 이러한 토론의 과정속에 스스로가 체득하게 되는 것이 아닌가 싶구요
그래서 때론 비난을 감수할 필요도 있을 것 같습니다. 좀 과장된 예로 99명이 아니라고 해도 단 한명만이 자신을 인정한다면 그것만으로도 보람이 될 수 있을테니 말입니다. 적당한 예인지는 모르겠지만 코페니쿠스의 주장 또한 당시에는 아무도 받아들이지 않았지 않습니까.
엉뚱한 이야기를 한 것 같은데..암튼 너무 개의치 마시고 그래도 좋은 의견들 많이 올라오는 것만으로도 위안을 삼기를...

p.s
다음달이 마지막이라니..좀 섭섭하네요..이궁..그럼 이번이 저와의 마지막 작업인 셈인가요?

권순선의 이미지

후후....뭐 그정도 가지고 그러십니까? 사람이 살다 보면 이런 사람도 있고, 저런 사람도 있고, 모두가 생각이 똑같을 수는 없는 겁니다. 어떨때는 "개무시"할 줄도 알아야 살기가 편하죠. :-)

익명 사용자의 이미지

초보자나 관심있을법한
유치한 토론이군요..
글고 마이크로소프트웨어
4월호에 주옥같은 글들이라..
저도 옆에서 뒹굴길레 읽어봤는데
특집기가 볼것 하나도 없는데
그 잡지에 글 쓰는 사람들 대부분은
예전부터 실력하나 없으면서
글발만 세운다고 생각하고 있었기
때문에..빨리 망해야 할 잡지..

익명 사용자의 이미지

음... 저도 마소 필자중의 한 명으로서,
제가 글발만 세우는 실력없는 개발자라는 혐의로부터
자유롭지 못하다는 것을 솔직히 인정하고 싶지만...

대부분이 그렇다는 것과 이번 특집이 읽을 거리가
없었다는 부분에 대해서는 너무 심하신 것 같군요.
필자들 대부분이 바쁜 와중에도, 조금이라도 다른
분들에게 도움이 되고자 노력하는 분들 인 것으로 아는데...

혹시, 발언을 자진 철회하실 생각은 없으신지요?
왜 마소가 빨리 망해야 한다고 생각하시게 된 것인 지,
실력있고 없음의 판단기준이 무엇인 지는 여쭙고 싶지
않습니다만... "초보자나 관심을 가질 법한 주제"라 하더라도
토론의 가치는 있지 않겠습니까?

님도 태어날 때부터 엄청난 실력파 프로그래머는
아니셨겠죠? (그랬다... 그럴까봐 겁나네요.. -_-;)

토론이 엉뚱한 방향으로 흐를까봐 댓글을 달아 봅니다.
부디, 이 글을 읽으시면, 스스로의 발언을 취소해 주시면
고맙겠습니다.

익명 사용자의 이미지

> 대부분이 그렇다는 것과 이번 특집이 읽을 거리가
> 없었다는 부분에 대해서는 너무 심하신 것 같군요.
> 필자들 대부분이 바쁜 와중에도, 조금이라도 다른
> 분들에게 도움이 되고자 노력하는 분들 인 것으로 아는데...

읽을거리가 저한테는 없었습니다. 그 돈가지고
해리포터 신간 살껄 하고 후회했슴다. 문제있습니까?
조금이라도 다른분들에게 도움이 되고자 노력하는
분이라고요? 그럼 필자이신 님도 그렇다는 것인가요?
필자분들이 다 자기 지식을 진정 남에게 베풀려고,
자기시간 버려가며 글을 열심히 썼으니까 욕해서는
안된다는 말씀이신가요? 마소필자이신 님이 그렇다고
말씀하시니..머 맞는 말이겠지만서도..-.-

> 혹시, 발언을 자진 철회하실 생각은 없으신지요?
> 왜 마소가 빨리 망해야 한다고 생각하시게 된 것인 지,
> 실력있고 없음의 판단기준이 무엇인 지는 여쭙고 싶지
> 않습니다만... "초보자나 관심을 가질 법한 주제"라 하더라
> 도 토론의 가치는 있지 않겠습니까?

발언을 자진 '철회'하다니요? 제 글이 님이 보기에는
'철회' 되어야 할 전혀 생각없는 글인지는 몰라도
전 엄연히 저의 의견을 말했을 뿐입니다. 이곳이
원래 그런곳 아니던가요? 토론 개설자의 생각에
반대되고 보기에 따라서는 무성의한 글을 올리면
안되는곳인가요? 쉽게 말해서.."아따..거 토론
무지 유치하다...접어뿌라.." <- 이런 글을 하면
철회되어야 하는건지요?

그리고 마지막 내용...맞습니다. 초보자나 관심을
가질 법한 주제입니다.

> 님도 태어날 때부터 엄청난 실력파 프로그래머는
> 아니셨겠죠? (그랬다... 그럴까봐 겁나네요.. -_-;)

본인은 마소에는 볼것이 없는 수준이면 모두다
'엄청난 실력파' 프로그래머라고 생각하시나 보죠?
그리고 글에서 제가 실력파 프로그래머라고 말한
기억이 없는데요?

저는 the Maso에서 주옥같은 글을 발견할 만큼의
실력이 없습니다. 그냥 마소를 이해 못하는 허접한
사람이 '주옥같은 글' 이라고 말할 수 있는 사람에
대하여 시기심이 불어서 한 행동으로 생각해
주시길...바라며..:)

익명 사용자의 이미지

신경쓰지 마세요. 세상에는 별 희한한 것들이 다 있으니까요. 뒷다리만 잡고 늘어지는 인간들은 어딜 가나 한둘은 있습니다. 그런것들 일일이 상대하려면 피곤하기만 하지 남는거 하나 없습니다. 저는 요번에 올리신 글을 보고 많은 생각을 할 수 있었습니다. 좋은 글을 올려 주셔서 감사~

익명 사용자의 이미지

글쎄요. 전 프로그래머는 아니지만 무엇보다 하나를 깊이
있게파는 것이나 여러가질 같이 보는것 두가지 다 장점
이 있더군요. Linux를 이용하다 회사에서 서버 NT로 바뀌었을때 처음에 당황해 했지만 도움말 보며 만드니 쉽게 잡히더군요.

회사에 팀장이 Pure C를 오래한 분인데 책 몇번 읽더니
Java로 무언가를 만들어 내더군요.

한가지를 열심히 한다는 것도 기본을 만드는 일이고 여러가지
를 관심있게 보는 것도 기본을 만드는 일 같습니다.
그 둘다 부정하기 힘든 좋은 방법인것 같군요, -O-/

익명 사용자의 이미지

프로그래밍 언어의 선택기준? 이말 너무 공감이 가는 단어 입니다. 프로그램이 너무 복잡다고 해서 접었었는데, 다시 시작하게 되는군요. 제가 선택하는 기준은 지금은 한가지,
어떤 서비스가 돌아가느냐에 따라 프로그램 기준이 바뀝니다.
그게 기준이죠 ^^;

ps)서비스는 돌고 돈다.

익명 사용자의 이미지

제가 아는 선배가 이런 이야기를 했습니다.

"우리나라 프로그래머의 생명은 30세 전후라고 하는데 이건 말도 않되는 이야기다. 내 이모부는 환갑이 다되어가는데도 프로그래머거든.."

저는 이말을 듣고 매우 놀랐습니다. 그 선배님의 말씀에 의하면 그 이모부님은 하나의 언어..C를 완전히 꽤뚫었다고 하시더군요. 한 언어의 기본을 완벽하게 이해하면 모든 언어는 다 똑같이 보인다는 겁니다... 이거 진짜인지..^^;;

따라서 그분이 일하는 방식은 이 일에 가장 적합한 언어가 어떤거다라고 결정이 나면 그냥 그자리에서 레퍼런스 북을 펼쳐놓고 일을 하는데, 처음 접하는 언어도 아주 능숙하게 처리 한다더군요..

흠.. 역시 모든 것은 하나로 통한다는 것은 영원한 진리인듯...

익명 사용자의 이미지

모든 언어라는 건 좀 과장인 것 같습니다. 물론 C와 비슷한 procedural language라면 다 그게 그거겠지요.

학교에서 Lisp을 배울 때 완전히 백지상태에서 시작한 사람이 나중에는 C좀 한다고 했던 사람보다 더 Lisp답게 프로그래밍하는 법을 잘 익혔던 것 같군요.. C만 하던 사람은 모든 문제의 해법을 C의 방법대로 하려고 하는 아집에 쉽게 빠집니다.

실제로 쓸 일이 없을 지도 모르지만 Lisp은 프로그래밍을 공부하는 사람이라면 공부해 볼 만한 가치가 있습니다. (단, 백지상태에서..:)

익명 사용자의 이미지

..^^.. 전 프로그래밍을 잘 몰라요.. 지금은 네트웍, 시스템 엔지니어링을 하고 있는데... 어느정도의 한계를 뛰어넘으려면 프로그래밍(특히 C) 수준이 어느정도 되어야 된다는 것을 절실히 깨달아서 이제야 C공부를 하고 있는 사람입니다.^^.. 사실 님의 글을 반박할만한 능력은 저는 전혀 없습니다. 그럴 생각도 없구요..

근데.. 그래도 여기에 프로그래밍의 도가 있는가? 라는 글을 읽으면서 나름대로 수긍이 간 부분이긴 한데.. 즉.. 제가 언급한 그 나이드신 프로그래머 그분은 바로 그 도를 깨우친 사람이 아닌가 하는 생각이 들더군요..^^;..

그 분 말씀이 무엇보다도 기본이 중요하다고 하더군요. 그것이 가장 어렵지만 그것만 알면 모든 것이 똑같이 보인다고.. 즉 이건 단지 C에 국한된 이야기가 아니라.. 언어 그 자체이겠지요. 그 기본을 그 분은 C를 통해서 얻었다라는 것이겠지요..

저두 다른 분야를 공부하면서 느낀 건데 비슷한 생각입니다. 기본이라는거.. 몇년을 공부해도 그 기본이라는 주변을 맴도는 것 같은 기분.. 진짜 어렵더라구요..ㅡ.ㅡ;;

즉.. 그런 관점에서 볼때 C좀 한다는 사람은 Lips만을 익힌 사람에게 Lips(전이게 뭔지도 모름다..^^)를 더 잘 할수 없는 것은 당연한 일일 것 같은데요..

어쨋든 뭣도 모르는 놈이 떠들어 봤습니다. 지송..^^

익명 사용자의 이미지

========= *** ======
한 언어의 기본을 완벽하게 이해하면 모든 언어는 다 똑같이 보인다는 겁니다
========= *** ======
ref > 프로그램을 어느정도 하는 능력이 생기게되면 프로그램을 짤때 프로그래밍 언어보다 업무를 이해하는 것이 훨 중요하고 어렵다는 것을 알게됩니다. 언어란 것은 전체에서 1/100 정도의 비중밖에 안됩니다. 특히 C를 많이 다룬 분에겐 다른 언어란 정말 편안하죠^^. 이말이 C언어가 최고란 뜻은 아닙니다. 말을 약간 바꾸면 C언어게 젤 배우기 힘든 저급언어란 말이 되니깐요. 하지만 C는 자꾸하다가보면 어쩔수 없이 다른 언어보다가 시스템에 대해서 더 해박해져야죠..

익명 사용자의 이미지

도구의 한계나 틀에 관해서 명확히 해둘 필요는 있지만 거기에 너무 구애를 받을 필요는 없다고 봅니다.

간단한 예를 들어서 DB프로그램을 작성하는데 PB/VB 가 VC보다 속도가 빠르겠죠. 그런데 문제가 생겼습니다. 복잡한 연산을 다루거나 시스템후킹을 하거나 아니면 OCR같은 것들을 다뤄야 하는데 PB/VB에서는 어떻게 해야할 방법이 없는것 같군요 !
이렇때 우리는 어떻게 해결할까요 ? ^^
VC++ 등으로 DLL, OCX 등을 구축하여 PB/VB에서 사용할수 있을 것입니다.

도구의 한계와 틀을 명확히 해둠으로써 좀더 나은 환경으로 접근할수 있게 되며, 이러한 일련의 작업을 통해서 한계를 벗어나는 일도 가끔은 해볼수 있는 재미를 가지게 될겁니다.

그리고 아주 가끔은 망치가 없어 돌맹이로도 못박을수 있잖습니까.^^ 어리석다고 할 필요는 없겠지요 :)

도구의 한계와 틀을 명확히 하면서 너무 그 툴의 한계에 얽매이지만 않는다면, 툴은 유연하고 폭넓게 사용해보고 각 툴마다의 장단점을 빠르게 흡수해두는게 좋다고 생각합니다. 깊이까지 가진 않더라도 적어도 자신의 작업과 연계해서 혼자만이 아닌 팀단위 작업등에서도 상당한 효용성을 가지게 될것입니다.

익명 사용자의 이미지

안녕하세요, 저는 언어는 여럿 배우는 것이 여러모로 좋다는 생각을, 즈음에 하고 있습니다. 저 자신은, 대학에서 시간강사로 프로그래밍을 가르치기 시작한 초자 강사 :(... 인 대학원 생입니다.

저 자신이 익힌, 언어들은 basic류와 pascal, c, 정도의 프로시져 위주의 언어들이 중심이고, lisp과 prolog등도 필요에 의해서, 들은 정도입니다... 어느 정도 규모가 있는 프로젝트는 C로 진행했었고, 실지 규모의 프로젝트를 OOP로 해보지 못한 탓에, 사실 oop에 그리 자신이 없는, 그런 사람입니다.

흠... 어라, 네. 이야기 하고 싶은 것은, c++나 c로 작업하면, 마치 그 무엇을 찾듯 어떤... 최상의, 문제 해결의 가장 훌륭한 어떤 정점을 찾게 되는 듯한 느낌을 받습니다. 그런, 뭐랄까요... 좋게 말하자면 개선의 의지고, 나쁘게 말하자면 ... 늘 '죄책감'을 가지고 프로그래밍에 임하고 있었다고 할까요. 더 좋은 코드, 더 제대로 된 무엇때문이랄까요. ... 흠... 특히 c++는 사람에게 죄책감을 (???) 많이 심어주는 언어가 아닌가. 싶어요. 늘 선택의 여지가 많고, 그 선택들에 대해서 쉬이 확신할 수가 없어서... 최소한 저는 그렇더군요.

그런 저에게 눈을 확 바꾸어준 언어가 perl이었습니다. '오픈 소스' 책에 나온 래리 월의 글을 읽고 그의 비전에 놀라면서 perl이란 언어는 어떤것이지? 하고 접근했다가,

'there is more than one way to do it..' 이라는 명제에 또 한번 놀라고. 그리고 펄 언어를 쓰면서 프로그래밍 전체가 굉장히 즐거워 졌다고나 할까요... 네. 뭐랄까... 늘 프로그래밍을 뱃속에서 한듯한 잘난 친구들(때로, 그런 인간들이있습니다.) 곁에서 머물다보면, 으음... 난 안되나보다, 하면서 처음 느낀... 이제는 꽤 나도 하고 싶은 코딩은 무엇이든 잘 하는데, 하면서도 어디선가 남아 있던... 어떤 막연한 아쉬움 같은것을 확, 날려준 언어라고나 할까요.

perl은 굉장히 실전적이고, 또 자유롭습니다... 뭐랄까요. oop가 하나의 패러다임이듯, 보이지 않는 패러다임이 하나 있는데, c나 java, 그리고 절반즈음은 c++에서도 '미니멀리즘' 적인 요소가 굉장히 강합니다. 그런 패러다임에서 완전히 자유로운 언어가 perl이라고, 저는 생각합니다. 그래서 상당히 놀랐구요... 펄에서 이야기 하는 래리 월의 세가지 덕목, 에 대해서도, 참.... 참 배운것이 많았습니다...

---

즈음에는 프로젝트 관련으로 emacs lisp을 건드리고 있습니다. 자연어처리용 전자사전 편집을 emacs환경에서 하면서 사전의 검색어, 입력, 소팅 등등을 elisp으로 작업하고 있습니다. 제가 다루어본 숱한 언어중에 lisp이 가장 오래된 (60년대 부터) 언어군요... 여러 lisp 방언들이 커스터마이징 언어로 쓰이더군요... rep, autolisp, elisp...

lisp 풍토에 젖어 볼까, 하고 있습니다...

---

전 연구자이지, 개발자가 아닙니다. 또 자연어처리 관련과 인지심리관련의 배경을 지니고 있구요. 덕분에 제가 프로그래밍 언어를 보는 시각은 조금... 뭐랄까요. 어쩌면 실무에 쓰이는 언어론과는 다를지도 모르겠습니다. 핵심은, 우리가 원하는작업을 오브젝트로 나누든, 프로시져로 나누든, 작은 단위로 위에서부터건 아래서 부터건 나누고, 그 나눈 단위를 묘사하는 것이 언어라고 생각합니다.
즈음에 제 관심은, 자연언어처럼 일정한 정도의 모호성을 허락하는 프로그래밍 언어를 만들수 없을까, 하는 생각입니다...

처음 프로그래밍을 배울때, 실수하는 학생들을 보면서, 인간이 문제를 절차나 사물로 나누는 단위와, 프로그램 언어사이의 갭이 크고, 그 갭을 매꾸는데 시간이 꽤 걸리는 것을 보고 있습니다.... 흠... 모호성 해결에 대한 주제는, 자연어처리에서 인간 언어의 모호성에 대한 이러저러한 연구들이 있으니, 의도적으로 해결될 수있을만큼의 모호성을 허락하는 컴퓨터 언어라면... 어쩌면 '일반인들'을 위한 커스터마이징언어가 될수도 있지 않을까요... :) 비주얼랭귀지(그림 언어) 쪽 연구가, 더 희망차보이나요? 흐... 전 어쩔수 없는 글자 세대라서... T.T

--

으음. 헛소리, 가 되고말았네요.
anyway,
There is MORE than oneway to do it... (somesay there must be an obvious way to do it, But I don't buy it. )

왕수용의 이미지

토록은 죽~ 보다보니 그 옛날 PL(Programming Language)시간에 배웠던 내용들이 생각 나는 군요.
거기서 지적해온것이 언어의 선택의 기준이라고 주저리 주저리 써 놓았죠. 뭐 Readability가 어쩌구, Stablity가 어쩌구, extensible한가 등등등 하지만 젤루 중요한것은 바로 COST이죠.

꼭 COST라고 해서 돈, 색안경을 끼고 볼것이 아니라 전반적으로 가장 중요한 요소라 생각해야할 겁니다. (기업의 경제적 측면만을 이야기 하는 것은 아닙니다.)

예를 들면, 개인적으로 메모장을 만들어 쓰고 싶다, 상용 프로그램에서는 구현되어 있지 않은 나만의 기능들만의 그것...
이런 상황에서는 perl이나 bash간단히 익혀서 작성하는 것이 가장 효율적일 겁니다. (갠적으로는 그 옛날 맥의 HyperCard라는 툴이 가장 이상적이라고 생각하지만.) web인터페이스를 할려면 PHP도 좋은 선택이죠. 이 상황에서 굳이 Java가 손에 익다고 Java로 코딩을 하는 것이 경제적일까요? Cost가 전체적으로 뭐가 많이 들까요...

중요한 것은 Cost! 즉 Get the job done을 위한 가장 빠른고 저렴한 방법을 선택하는 것이 중요합니다. 이때 필요한것이 마음의 개방(Openness)가 필요합니다.

요즘같은 시대에는 언어 자체의 특성보다는 그 언어 주위에 지원하는 놈이 많은가가 더 중요할 수 있습니다. 예를 들면, 어떤 일을 하는데 필요한 라이브러리가 C로 되어 있다면 그걸 Java로 포팅하거나 Jini로 붙이는 것 보다는 그냥 C로 가는 것이 싼 길이죠. (뭐 프로젝트에 따라 상황은 달라집니다.)

제가 위에서 한 말은 "실전론"인 것같습니다. 실전에서 코딩을 할때의 언어 선택이죠.

그러나 발제자님께서의 요지는 아마도 "학습론"인것 같습니다. 즉 언어를 두루 섭렵하여 학습하는 것보다는 하나라도 깊이 있게 학습하는 것이 중요하다. 그말은 100% 동의합니다. 다양언어의 Syntax를 아는 것보다는 한가지 언어를 이용하여 Serious한 프로젝트를 진행해 보는것이 더욱 중요하다는 뜻이라 생각합니다. 이것은 "학습론"에서는 중요합니다. 그러나 "실전론"에서는 고집으로 밖에는 보이지 않겠죠...

PS> 어느 논쟁에서나 관점이 중요한것 같습니다. 한가지 일을 가지고 논의하더라도 서로 다른 관점으로 동문서답하는 일이 빈번하죠. 들어 보면 둘다 맞는 말인데, 서로 "역"의 관계는 아닌...
이 의제도 "학습론" "실전론"으로 보면 동문서답으로 빠지지는 않을 것 같습니다.

redbaron의 이미지

COST=효율.

익명 사용자의 이미지

뭐, 직업 프로그래머는 아니지만 글을 올려 봅니다.

개발을 하는데 있어서 중요한 것이 무엇 일까요.
속도와 안정성이 아닐까 합니다.
여기서 속도라는 것은...
프로그램이 돌아가는 속도가 중요할 것입니다.
하지만... 거기에 못지 않게 개발에 드는 시간, 얼마나 빨리 만드는가도 중요합니다. 어찌보면 프로그램이 돌아가는 속도 보다도 더 중요할 수도 있습니다.
이 말은 C를 가지고 아름다운(!) 코드를 만드는 것보다 VB를 가지고 빨리 개발하는 게 더 우선일 수도 있다는 얘기죠.
물론 VB 말고 목적에 따라 개발하기 쉬운 언어들이 많이 있을 겁니다.
물론 프로그램의 실행 속도, 메모리 차지 등이 우선 될 수도 있구요... 이런 경우는 하나의 언어를 깊게 이해하는 게 더 필요 하겠지만요...

익명 사용자의 이미지


GNU 코딩 가이드에 보면 속도 보다는 알고리듬의 효율성, 그리고 다른 개발자들이 소스를 보았을 때 이해하기 쉽게 코딩을 하라고 나와있습니다.

속도는 하드웨어가 발전하면 자연스럽게 해결이 됩니다.

님이 말한 속도는 개발속도가 아닌가요? 프로그램이 돌아가는 속도라면 VB로 만든 윈도우즈 용 프로그램에서 얼마나 빠른 속도를 기대할 수가 있는지 의문이군요.

익명 사용자의 이미지

저는 언어를 선택한다는 말이 잘 와닿지 않습니다. 저 역시 C 를 시작으로 10여개 이상 언어를 접해왔지만, 단 한번도 그 언어를 공부하면서 내가 이 언어를 선택했다는 생각은 해본적이 없었던 것 같군요.

C 및 C++ 은 좀 심도 있게 할 필요가 있을 것 같고, 그 이후엔 그저 재미있고, 원한다면 언제든 배우고 금새 사용가능해지는 것 같습니다. 주변에 이런게 있더라... 그걸 해보고 싶더라... 그래서 했으면 그게 전부 아닌가요?

익명 사용자의 이미지

음, 자신이 정말 하고싶은 언어를 계속하세요..
그리고 조금의 여유를 내어서 시대의 흐름에 맞는 도구로서의 언어를 하나 선택하세요..

서로가 서로를 보완해 줄 것입니다. 논리구현에서도 많은 도움이 됩니다.

과거의 언어가 현재의 언어보다 절대 낮지는 않습니다. 하지만 현재의 언어들은 검정받는데 그만큼의 시간을 가지겠죠.

전 자바가 주언어입니다. 그리고 델파이,씨 등등은 보조언어입니다.

white23의 이미지

흠...

일단 제가 언어를 선택하는 방법은...
좀 고집있게 한 놈만 들고 팹니다.
오직 한 언어...
제가 생각하기엔...
한 언어에 대해서 잘알면 다른 언어의 흐름이나 전체 구조가 거의 한 눈에 들어오기 때문에 접근이 매우 쉽고 용이한거 같습니다.
그래서 제가 지향하는건 '해커'입니다.
그렇다고 요즘 시중에 뜨도는 남의 시스템에 테러나 가하는(이건 엄연히 크래커... 즉, 범죄자 입니다) 이런 분류가 아니고...
순수하게 학문을 익히고 싶어하는것입니다.
근데 좀더 깊이 그리고 모든걸 알기는 원하는(넘 거창하군...-,-a)...

여하튼 전 이런 관계로 전 C와 Assembly를 가장 좋아합니다.
그리고 이 두놈은 거의 매일 공부를 하고 있습니다.
지금도...-,-
근데 요즘엔 이거 거의 눈치가 보여서 하기 힘드네요...
저희 회사가 갑자기 UNIX 쪽으로 플밍하다가...
갑자기 M$ 쪽으로 상회를...
그래서 울며 겨자 먹기로 VB를...
물론 이거 나뿌다는건 아니지만...
아직 C와 Assembly에 관해 모르는게 너무 많아서 답답하네요...
전 이거 다 하고 난 다음에 따른거 할려 했두만...
쩝...

역시 사회는 뭔가가 틀리긴 틀립니다.
근데... 따른 사람들(회사 생활을 못해보신분들...^^)은 그냥 자기 하고 싶은거 하면 되지 않겠냐고 말씀을 할 수도 있겠지만 이건 이상입니다.
저도 지금도 주변 사람들 한테는 자기가 하고 싶은거 하는게 젤 좋다고 생각을 하고... 얘기를 하곤 있지만...
제가 언제 부턴가 울 오너랑 팀장님의 눈치를 보고 있다고 느낄데가 있더군요...-,-a
언젠가는 제가 뭔가를 좀 테스트를 할려고 Linux를 키고 있으니깐 갑자기 회의가 소집... 쩝...
얼마전 울 오너랑 팀장님이랑 술먹음시롱 들은 얘긴데...
그건 내가 Linux를 하고 있어서 그랬다는... 햐햐햐...^^
(음... 넘 주저리 주저리군...-,-a)
얘기를 넘 길게 하다 보니 얘기가 삼천포로...

제가 마지막으로 얘기를 정리를 하자면...
1) 언어은 우선은 자신이 하고 싶은 놈으로 시작을하고 이걸 마스터하도록 하세요...
2) 음식과 마찬가지로 언어도 한 가지만 편식을 하면은 좋지 않습니다. 여러가지를...
3) 그리고 1), 2) 를 만족 시킬 때 자신의 몸값은 뜁니다.
한 번 쯤 생각을...-,-a

<어떠한 역경에도 굴하지 않는 '하양 지훈'>

어떠한 역경에도 굴하지 않는 '하양 지훈' - It's Now or Never!!!

익명 사용자의 이미지


토론의 발의자로서, 먼저 저의 경험을 말씀드리자면,
지금까지 제가 사용해 본 적이 있는 언어는 다음과 같습니다.

BASIC - 고등학교 때, 호기심에서.
FORTRAN - 대학 때, 친구들 숙제해 주느라고.
COBOL - 대학 때, 정보처리 기사 따느라고.
C/Pascal - 대학 때, 숙제 하느라고 -_-;
LISP/Prolog - 인공지능 수업 듣느라고.
C++ - 지적 호기심에서.
Java - 첨엔 지적 호기심에서, 나중엔 일 하기 위해서
ksh - 일하면서 귀찮은 일 자동화 할려고. -_-;
SQL(이것도 언어죠?) - 일 하느라고...
UML(이것도 언어네-_-;) - 지적 호기심에서...
HTML/WML/HDML/XML(이런 것도 언어군 -.-;) - 여러가지 이유로.

그 중에서 제가 정말 잘 할 수 있고, 앞으로도
계속해서 파고 들고 싶은 것은 Java 뿐입니다.

물론, Python이나, 기타 수많은 다른 언어들이 있다는 것,
그리고, 그 언어들이 모두 나름대로의 목적이 있다는 것,
그것을 공부하고 이해하는 일이 중요하고, 또 시간이
허락된다면 그렇게 해야 한다는 것은 잘 알고 있습니다.

제가 처음에 '전 Java를 하겠습니다'라고 했을 때,
저보고 '멍청한 놈'이라고 핀잔을 주셨던 분이 있었습니다.
어떤 분야, 즉 '이동통신' 혹은 '인터넷' 혹은 'MIS/EIS'
'금융', '제조' 등등... 이런 vertical market을 선택하지
않고, 도구에 불과한 Java를 하겠다니, 그 분의 경험에
비추어 말리지 않을 수 없었을 것입니다.

하지만, 제 생각은 달랐습니다. 프로젝트의 Needs에 맞게
도구를 바꾸기 시작하면, '프로그래머로서의 나'는 사라지고
'월급쟁이로서의 나'만 남게 될 것이라는 게 제 생각이었습니다.

저는 Java가 재미있고, 좋았습니다. 그것으로 충분했습니다.
재미있고 좋아하는 일을 할 수 있다는 이유로 하나의 언어를
고집하는 고집쟁이가 되어 버린 것이죠. 자바관련 프로젝트를
할 때만 재미를 느끼는 건 아니지만, 솔직히 자바만큼
재미있고, 풍부한 깊이를 내는 언어는 아직 발견하지 못했습니다.

JSP/PHP/ASP 같은 스크립트 언어, 혹은 델파이/PB/VB/VC++같은
툴 기반의 개발에 큰 흥미를 못 느끼는 것은 제 개인적인
취향 때문입니다. 아직도 저는 Kawa나 Visual Age 보다는
에디터에서 작업하고, DOS 창에서 컴파일 하는 게 더
흥미로우니까요.

솔직히, 직업적 프로그래머로서 이런 '모난' 태도가
곱게 보일 리는 없습니다. 저도 회사생활하면서,
저의 이런 면 때문에 마음 고생도 많았고요...

그러나, 결과적으로 저는 하나의 언어만을 고집했으므로,
여기까지 올 수 있지 않았나... 하는 생각을 합니다.
이것 저것 다 '건드려' 본 것으로 포트폴리오라고 내세우는
분들을 저는 인정하지 않습니다. 커피라고 다 같은 커피는
아니잖아요... 찐... 한 향기를 우려낼 줄 아는 사람이
되는 것은 중요하지 않을까요?

저도 Stroustrup의 C++ Programming Language를 세 번이나
읽었고, 지금은 다 잊어버렸지만, 한 때는 왠만한 코딩은
C++로도 가능했습니다. 아직도 C로는 어떤 코딩이든
별 어려움 없이 해 낼 자신이 있습니다.
알고리즘이 문제지, 코딩이 머가 그렇게 어렵겠습니까?

그래도, 만약 면접시에 누가 C/C++도 할 줄 아느냐고 물으면
자신있게 '아뇨. 잘 모릅니다'라고 대답할 겁니다.
그건, 업무적으로 C/C++를 적용하기 위해서 필요한
제반지식, 즉, 프로젝트 방법론, 문서화 방법,
컴파일러 사용법, 디버깅 방법, 소스관리법, 등등...
수많은 관련 지식과 경험이 제겐 없기 때문입니다.
Java를 선택한 다면 이제 아주 조금 자신이 있는
것들이지만... 말이죠.

제가 면접관의 입장일 때도 마찬가지일 겁니다.
다 잘 한다고 말하는 사람은 다 못 한다고 말하는 것으로
간주할 겁니다. 전반적으로 잘 알지만, 이것만은 내가
충분한 경험과 지식을 확보하고 있으므로, 어떠한
상황에도 유연하게 대처할 수 있다라고 내세울 것이
하나라도 있어야 한다는 것이죠...

어? 쓰다 보니 너무 주제 넘게 말이 많아졌네요.
어쨌든, 핵심은 개발자라면... 자기가 자신있게 내세울
수 있는 '키워드' 하나씩은 가져야 한다는 겁니다.
그것이 '자바'든 '리눅스'든 'C#'이든 '시스템 프로그래밍'이든, '술'이든 간에요... ^_^;

익명 사용자의 이미지

님의 의견에 동감하기도 하지만

그렇다고 다 잘한다고 말한다는 사람을 다 못한다고 간주하는것은 좀 그렇군요...

소수이지만 정말 잘하는 사람도 있지 않을까요...
문제는 얼마나 잘하는지 표현하는데 있는것 같습니다.

물론 요즘에는 툴만다루거나 언어문법만 안다고 프로그래머라고 생각하는 이들도 많아서 그렇지만요...

의견감사합니다.

익명 사용자의 이미지

아마 제 생각에는 이거인거 같군요

각각의 언어마다 다 장점이 있으니........ 그언어의 장점만 조금씩 따서.....

대 프로젝트가 되는듯.... 관건은........... 그 하나하나의 프로그래밍 언어의

위력이 세다는 것...............

익명 사용자의 이미지

위에서 어떤 분이 LISP에서 영감을 얻었다고 했는데 저의 경우에는 델파이에서 그런 영감을 얻었다고 할까요? 그 언어의 철학하고 저의 생각하는 방법하고 비슷했다고 할가요? 지금은 C나 다른 언어로 코딩을 약간씩 하기는 하지만..
많은 언어를 한번씩 다뤄보는 것도 나쁠 것 같지는 않더군요.. 다른 언어의 철학을 한번 접해 보는 것이 한간이 언어만 알고 하는 것 보다는 사고의 폭을 넓혀 주는 것 같더군요..
최근에 공부할려고 시도하는 언어는 Python하고 PHP인데 시간이 잘 날지.. 잘 만들어진 언어같더군요..

혹시 이 글보더 어떤 언어가 좋다 나쁘다 댓글은 없기를.. 그런 논쟁은 피곤.. --

무혼인형_의 이미지

이제 처음 시작하는 병아리 프로그래머 입니다.(__)
저는 처음 프로그래밍을 파스칼로 배웠습니다. 저는 파스칼의 논리적인 구조에 매료 돼었다가 oop에 적응못하고 한동안 프로그래밍을 포기하다시피 했었죠.. ㅠㅠ (그래서인지 자바는잘하고싶어도 손이 안나가는..;;)
아직까지는 프로잭트를 해본적은 없지만.. 순서도 그리는 버릇이 생겨서 코딩이 편하고요.. 학교에서 베이직과 포트란 배울때도 파스칼로 코딩하고 그것을 다른언어로 바꾸는 요상한짓을 하곤했죠.. ;;
C를 처음 배울때는 간결해서 좋기는 했는데 .. 파스칼과 계속 헛깔리면서 적응이 힘들더라구요.. 그래도 덕분에 씨++, 자바, 자바스크립트, Pearl, PHP까지 많은 언어를 조금씩 "볼수있게"돼면서 시야가 넓어졌다고 할까요?
요즘은 PHP를 공부하고 있는데.. 디버거가 없어도(이건 곧 나와야겠죠..ㅠㅠ) 이렇게 만들면 이렇게 돼겠지? 라고하고 실행(?)시키면 정말 그렇게 돼는..
"직관적"이라고 할까요? ^^; 이런게 좋더라구요..
필요에 따라서 적재 적소에 삽입돼는 연장같은거일까요?언어는? 철사 구부리는데도 손으로 해도 됄것, 롱플라이어로 하면 쉬운것, 팬치로 해도 상관없는것.. 손으로 하기 힘에 부친것.. 등등 해야할 일에 적장한 도구를 찾는것..
뭐..물론 땅파는데 굴삭기 놔두고 삽으로 하라고 하는 경우가 더 많지만요.. -_ -;;

익명 사용자의 이미지

언어의 선택에 대한 필자들의 의견 개진은 물론 사전 약속을 했을리는 없겠지만, 어쩌면 이번 마이크로소프트웨어 4월호의 특집 기획 의도라고도 할 수 있을 겁니다. 무엇보다 삶으로서의 다양한 프로그래머의 모습을 보여주고 싶었기 때문입니다. 그리고 이번 특집을 진행하면서 "이것이 정답이다"라고 단정지고자 한 것도 아닙니다. 어쩌면 답은 없을지도 모르겠습니다. 단지 그러한 다양한 모습을 통해 프로그래머로서 자신의 삶을 어떻게 풍요롭게 끌고 나가야하는 가가 중요하지 않나 싶습니다.
적절한 예인지는 모르겠지만 다른 예술분야를 예를 들면 수없이 많은 수단이 있습니다. 음악, 미술, 문학 그리고 문학에서도 표현수단에 따라 시, 소설, 희곡 등 다양한 장르가 있습니다. 자칭 성공한 예술가들은 한 장르만을 고집한 사람도 있을 것이며 여러장르를 넘나들면 자신이 표현하고자 하는 것을 최대한 표현하고자 하는 사람도 있었을 것입니다.
따라서 어쩌면 어떤 언어를 선택하느냐는 문제보다 자신을 무엇을 할 것이냐가 중요하지 않을까 싶습니다. 다시말해 프로그래머로서의 삶의 태도와 마음가짐이 무엇보다 선행돼야 되지 않나 싶습니다.
제가 비록 개발자가 아닌 그냥 개발자를 위한 전문지에 속한 어설픈 기자로서 느끼는 바는 여전히 많은 개발자들의 많은 현실적인 그리고 개별적인 어려움에도 불구하고 프로그래머로서의 자신의 삶에 재미를 느끼고 만족을 하며 보다 나은 창작품을 위해 노력한다는 사실이었습니다.
C/C++이든 자바든 파이썬이든 간에 각 언어마다 나름대로 장단점이 있고 철학이 있을 것입니다. 하지만 그것을 사용하는 사람은 프로그래머인 한 인간일 것입니다. 아무리 좋은 언어도 이렇게 인간을 뛰어넘을 수는 없을 것입니다. 아무리 좋은 언어도 사용하는 프로그래머가 덜된(?) 인간이면 아무런 가치를 발휘할 수 없을 것입니다. 반대로 아무리 안좋은 언어가 있다고 해도 그것을 사용하는 사람이 누구냐에 따로 빛을 발할수도 있을테고요..물론 다양한 언어를 구사하는 것에서도 마찬가지일 것입니다.
마지막으로 버지니아 셰어의 다음과 같은 말이 문뜩 떠 오르네요."먼저 인간임을 기억하라!"

익명 사용자의 이미지

새로운 언어를 습득하는 것이 정말 어려운 것이라면 한가지언어만 잘하는
것이 좋을 겁니다. 하지만 그렇게 어려운 것이 아니고, 문법의 차이도 그다지
크지 않죠.
게다가 새롭게 생성되는 언어의 특징은 특정기반의 효율적인 프로그래밍을위해 생성되는것이 전부입니다. 당연히 그 분야에서만큼은 최적의 기능을 갖고 있겠지요.
새로운 언어를 받아들이는것은당연한 겁니다. 웹이 모든 예시가 될 수는
없겠지만, 좋은 예시는 될 수 있을 겁니다.
자신이 종사하는분야에 더 좋고 쉬운 언어가 만들어진다면 당연히그 쪽으로
가야할 것같습니다.

익명 사용자의 이미지

전 대학 1학년때까지만 해도 C가 최고인지 알고 있었거든요... 2학년때 프로그램 랭귀지 수업 들으면서 LISP가 그렇게 논리적일수가 없다는 것을 느꼈죠. 내 두뇌가 새로 깨어나는 기분이었습니다. 엄청 간단해서, 더이상 간단하게 만들지 못할 것 같은 소괄호 투성이의 그 언어가 창조해내는 새로운 구조들... 그걸 배운후 제가 배운 C프로그래밍의 대부분이 삽질이었다는것을 깨달았습니다. 다음부터는 프로그래밍이 좀더 정교해 졌죠. 지금도 거의 C를 쓰긴 하지만, LISP가 준 영감이 나에게 끼친 영향을 생각한다면, 새로운 언어, 특히 논리 구조가 명확히 드러나는 언어를 배우는 것이 매우 좋으리라 생각합니다.

ssoo76의 이미지

언어는 도구일 뿐이라는 생각입니다.
호미로 할것을 곡갱이로 할 필요는 없지 않을까요?
^^
간단한 웹 홈페이지를 만드는데 C로 힘들게 만드는것
(쉬울 사람도 있겠지만.. --;)
보다는 php나 perl로 간단히 만드는게 좋다는것이
저의 생각입니다.
즉, 언어는 도구일 뿐이므로 고집할 필요는 없다는
것이 저의 생각입니다.
게다가 언어를 많이 만지다 보면은 다른 언어를 습
득하는 속도로 엄청 빨라지더군요.
그럼
행복하세요

세상은 하나..........

익명 사용자의 이미지

동감임다.