자바와 C에대한 고찰

이정원의 이미지

저는 프로그래머가 되고자하는 학생입니다.

군대를 전역하고 무엇을 할까 고민하던중

제가 일하는곳에 팀장님이 자바를 해보라고 권하여서

자바를 시작했습니다. 시작하면서도 C를 좀더 공부하고 싶었는데 하는 찝찝함이 있었으나

이미 자바에 빠져 그매력에 흠뻑 취해있습니다. 그러던중 자바를 하면서 잠시 접어두었던

리눅스에 관심이 가면서 다시 C에게 소홀하게 대한건 아닌지 하는 생각이 듭니다.

아... 여러분은 어떤 걸 사용하시는지 알고싶습니다.

jiniri의 이미지

필요한걸 하시면 댈듯합니다..

언어는 단지 프로그래밍의 하나의 도구에 불과하다구 생각합니다...

c를 이용해야 할때는 c를 쓰고, java를 써야 할때는 java를 쓰시면 댑니다...

전 개인적으로 c를 더욱더 좋아하지만..^^

daybreak의 이미지

저는 둘 다 씁니다.

유닉스나 윈도우에서 빠르게 동작하는 프로그램을 작성할때는 C/C++ 을 쓰고
별로 그렇지 않을때라면 자바, 델파이, 파이썬 같은 것을 씁니다.

설계된 의도가 다르기 때문에 필요할 때에 알맞는 언어를 사용하는 것이
좋은 방법이라고 생각합니다.

감히 조언을 드리자면
공부하시는 입장에서도 자바와 C 둘 다 익히시면 더욱 좋으실 것입니다.

whatisid의 이미지

역시 둘 다 씁니다.

서버/네트웍 프로그래밍에서는 C를,

Linux/windows 플랫폼간 연동하는 부분에서는 Java를 사용합니다.

물론 서버/네트웍 프로그래밍도 Java로 할 수 있고,

플랫폼간 연동도 C로 하려면 할수도 있겠죠.^^;

단지, 이렇게 하는게 개발속도나 익숙함 면에서 낫다고 생각해서 하는 것입니다.

confide의 이미지

필요할때 필요한걸 쓰면 되지 않나 합니다.

------------------
나는 바보

bluedaemon의 이미지

전 프로그래머가 아니지만, 제가 아는 프로그래머는 이런 얘기를 하더군요.
"미래에는 JAVA가 더 나을거라고 생각한다." 그러나, 고수가 되면 Java든 C 든 먼 상관이 있냐고, 궁극은 같다...
멀 갖다 줘도 그냥 하면 된다.

[love@Me love]$killall love
love: no process killed
[love@Me love]$ps -aux | grep love
[love@Me love]$ㅡ.ㅡ

xyhan의 이미지

C나 자바는 기본으로 해야죠.. 나중에는 아무거나 다 할수 있게 됩니다..
요즘은 C프로그래머들도 대부분 자바 할꺼라 생각합니다.
언어의 우수성에 대해 논하는건 민감한 문제라서 말이죠..
개인적으로 자바 구조의 C언어가 나왔으면 하는데.. 그래서
모노나 .Net 같은것도 개인적으론 많이 기대 하고 있습니다..

============================================================

선한 인간이냐 악한 인간이냐는 그사람의 의지에 달렸다. -에픽테토스-
의지 노력 기다림은 성공의 주춧돌이다. -파스퇴르-

============================================================

서지훈의 이미지

걍... 다하죠...-_-ㅋ
프로그래머라면 다 해야합니다...
어떤 특정한거만 고집을 한다면... 코더이거나...-_-ㅋ
아직 순진한 학생이겠죠...
처음 배워서 지금 사용하는게 좋은줄만 아는...
한 마디로 "우물안 개구리"...
걍 이거저거 따지기 귀찮으니 다 하세요...

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

#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);

fender의 이미지

전 자바만 합니다. 자바 쪽만 해도 J2ME나 JXTA 같은 거 제외하고라도 새로운 스펙이나 라이브러리 나오는 거 다 따라 가는 것만 해도 어렵더군요.

그리고 오래 쓰다보니 어느 정도 '자바적으로' 생각하는 습관이 들어 쉽게 다른 언어에 적응할 수 있을 지 모르겠습니다.

다행스러운 건 서버측 뿐 아니라 요즘엔 swt, gcj, java-gnome 등등 제대로된 클라이언트 어플리케이션을 만들 수 있는 선택 가능성이 늘어났다는 점입니다.

어차피 어떤 언어도 만능일 수는 없으니까 크게 불만은 없습니다. 다만 다양한 언어를 배우는게 좋을지 한가지 언어를 파는게 좋을지는 솔직히 잘 모르겠습니다.

그래서 그냥 '자바가 최고야'하는 식의 독단에만 빠지지 않게 조심하면서 제 분야에서 최고가 되는 방향으로 가려고 노력 중입니다(사실 노력은 별로 안하지만 -_-;; ).

꼭 자바만 한다고 우물안 개구리나 실력없는 코더는 아니라는 말씀은 드리고 싶습니다. 깊이가 있으면 폭이 넓지 못하고 폭이 넓으면 깊이가 없는 것일 뿐이지요. 물론 능력이 된다면 모든 언어에 능통하면 좋겠지만 문법 아는 수준이 아닌 한 언어를 '마스터'하는게, 최소한 제 능력에선 그 자체만으로도 벅차더군요.

오히려 C/C++을 할 줄 안다고 자바가 문법이 비슷하니 "난 자바 같은 건 일주일이면 다 할 수 있어"라는 식으로 말하는 사람들이 그렇지 않을까요? :)

----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...

서지훈의 이미지

fender wrote:
전 자바만 합니다. 자바 쪽만 해도 J2ME나 JXTA 같은 거 제외하고라도 새로운 스펙이나 라이브러리 나오는 거 다 따라 가는 것만 해도 어렵더군요.

그리고 오래 쓰다보니 어느 정도 '자바적으로' 생각하는 습관이 들어 쉽게 다른 언어에 적응할 수 있을 지 모르겠습니다.

다행스러운 건 서버측 뿐 아니라 요즘엔 swt, gcj, java-gnome 등등 제대로된 클라이언트 어플리케이션을 만들 수 있는 선택 가능성이 늘어났다는 점입니다.

어차피 어떤 언어도 만능일 수는 없으니까 크게 불만은 없습니다. 다만 다양한 언어를 배우는게 좋을지 한가지 언어를 파는게 좋을지는 솔직히 잘 모르겠습니다.

그래서 그냥 '자바가 최고야'하는 식의 독단에만 빠지지 않게 조심하면서 제 분야에서 최고가 되는 방향으로 가려고 노력 중입니다(사실 노력은 별로 안하지만 -_-;; ).

꼭 자바만 한다고 우물안 개구리나 실력없는 코더는 아니라는 말씀은 드리고 싶습니다. 깊이가 있으면 폭이 넓지 못하고 폭이 넓으면 깊이가 없는 것일 뿐이지요. 물론 능력이 된다면 모든 언어에 능통하면 좋겠지만 문법 아는 수준이 아닌 한 언어를 '마스터'하는게, 최소한 제 능력에선 그 자체만으로도 벅차더군요.

오히려 C/C++을 할 줄 안다고 자바가 문법이 비슷하니 "난 자바 같은 건 일주일이면 다 할 수 있어"라는 식으로 말하는 사람들이 그렇지 않을까요? :)


흠...
그럼 자바로 할 수 없는 분야의 작업은 어떻게 하시는지 굼금합니다...
뭐... 말투를 듣기에 따라서 태클이라고도 생각을 하실수도 있겠지만...
저의 개인적인 생각은 프로그래머라면...
어떤 환경때문에 못 한다는 변명은 좀 그런거 같군요...
(시작단계에서... 전혀 없는 기술로 한다면 좀 어렵겠지만...)
코더라면 그 코드만 잘 알면 되긴 하지만...
프로그래머는 문법 알면 좋은거고...
몰라도 어떻게 짜야 할지 알고 같이 갈 수 있고... 이끌수 있는 사람이 안닌가 생각을 합니다...

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

#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);

akbar의 이미지

fender wrote:

오히려 C/C++을 할 줄 안다고 자바가 문법이 비슷하니 "난 자바 같은 건 일주일이면 다 할 수 있어"라는 식으로 말하는 사람들이 그렇지 않을까요? :)

JAVA 를 할 줄 안다고 C++ 이 문법이 비슷하니 "난 C++ 같은 건 일주일이면 다 할 수 있어"라는 식으로 말하는 사람들도 그렇지 않을까요?
NeoTuring의 이미지

fender wrote:
그리고 오래 쓰다보니 어느 정도 '자바적으로' 생각하는 습관이 들어 쉽게 다른 언어에 적응할 수 있을 지 모르겠습니다. (중략)
다만 다양한 언어를 배우는게 좋을지 한가지 언어를 파는게 좋을지는 솔직히 잘 모르겠습니다.

언어를 공부한다는것은 단순히 언어 그 자체를 공부하는것이 아니라 언어가 유도하는 방식으로 그리고 그 언어가 기대인 패러다임의 방향으로

우리의 사고방식을 훈련시키는것이기 때문에 한가지 언어만 공부한다는건 그것이 유도하는 방식으로 우리의 사고체계를 고정시킬 위험을 갖고

있는것이라고 봅니다. 그래서 저는 다양한 언어를 배우되 그것의 얼개를 알고 용법을 알고 그것이 의도하는것에 대한 관점을 아는 정도선에서 마치고
(물론 더 깊이 알면 좋긴 하겠지만, 인간의 '한계'가 정해져 있는 이유로)

한두가지 언어정도는 '전문가'수준으로 치밀하게 상세한 수준까지를 이해할 단계까지 공부를 해 두는것이 가장 좋은것이 아닐까 생각합니다.

onemind555의 이미지

고민할 가치도 없네요...
어차피 둘다 해야 합니다..
어셈도 해야 할지도 모릅니다...

-----------^^ ^^ ^^ ^^ ^^ ----------
..........................................................

deisys의 이미지

저는 닥치는대로 익힙니다. 음... 그냥 할일 없고, 웹서핑에 시간을 죽이게 될 것 같으면 랭귀지 하나씩 주욱 살펴보고 조금이라도 익혀보려고 합니다... 일종의 취미생활 같은거라고 할수도 있겠네요. =_= 지금은 파이썬에 감동하다가 슬슬 욕나올려고 합니다. 하핫~ ( 친구의 표현을 빌리자면, C는 눈의 초점을 흐릿하게 하고 코드를 보면 어셈코드가 보인다죠... 파이선은? 택도없죠 ; )
뭐, 넓게와 깊게에 대한 이야기가 잠깐 나온것 같았는데, 파고 내려가서 생기는 공간은 3차원이기때문에 넓을수록, 깊을수록 좋은거지요. =) 어제 읽은 문서에 이런 말이 있더군요. "생각은 도구에 얽매이기 마련이다." 라고요.. 깊게 알지는 못하더라도, 여러가지 언어가 *어떤 느낌*을 가지고 있는지 정도는 두루두루 알아두는게 좋을듯 합니다. 뭐 역시, 두루두루 깊게 알면 젤 좋지만요. 확실히 여러가지 언어에 깔짝대는 것이 내가 진짜로 파고드는 중인 언어를 공부하는데에도 많은 도움이 되더군요.

fender의 이미지

akbar wrote:
fender wrote:

오히려 C/C++을 할 줄 안다고 자바가 문법이 비슷하니 "난 자바 같은 건 일주일이면 다 할 수 있어"라는 식으로 말하는 사람들이 그렇지 않을까요? :)

JAVA 를 할 줄 안다고 C++ 이 문법이 비슷하니 "난 C++ 같은 건 일주일이면 다 할 수 있어"라는 식으로 말하는 사람들도 그렇지 않을까요?

넵. 당연히 그렇습니다. 그래서 전 말씀드렸지만 "자바가 최고다"란 생각을 하지도 않고 자바던 C던 제대로 알지 않고 함부로 말하지 않으려고 합니다.

서지훈 wrote:
그럼 자바로 할 수 없는 분야의 작업은 어떻게 하시는지 굼금합니다...
뭐... 말투를 듣기에 따라서 태클이라고도 생각을 하실수도 있겠지만...
저의 개인적인 생각은 프로그래머라면...
어떤 환경때문에 못 한다는 변명은 좀 그런거 같군요...

가끔 프로젝트를 하다보면 꼭 네이티브한 코드를 써야하는 경우가 있습니다만 그럴 땐 C를 할 줄아는 프로그래머에게 해당 모듈을 맡기고 JNI로 연동합니다. 아니면 아예 그런 프로젝트는 맡지 않습니다.

하지만 반대의 경우도 마찬가지입니다. 예를들어 C 프로그래머라면 대규모 분산환경 어플리케이션을 오직 C 만으로 개발하는 것은 거의 불가능 합니다. 이런 경우라면 당연히 자바와 같은 업무에 보다 적합한 언어를 할 줄아는 사람에게 맡기는게 나을 것입니다.

실무에서는 모든 언어를 다 능숙하게 다뤄서 어떤 프로젝트에도 다 적응할 수 있는 '슈퍼맨'도 없고 모든 경우에 다 적합한 '슈퍼언어'도 없는 것 같습니다. 해당 요구조건에 최적의 언어와 환경을 고르는 것도 상당히 중요한 노하우가 아닐까요?

NeoTuring님 말씀대로 다양한 성격의 - 예를들어 스크립팅 언어, 객체지향언어, 로우레벨 언어 등 - 언어를 익히고 그 중 한 두가지를 능숙하게 다룰 수 있으면 최상일 것입니다. 하지만 전 아직은 하나를 제대로 익히는 것도 어렵더군요 :) 나중에 여유가 되면 파이썬 등을 배워볼 지 모르지만 최소한 한 가지를 마스터하는 것만해도 쉬운 일은 아니라는 말씀을 드리고 싶습니다.

----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...

sunyzero의 이미지

fender wrote:

가끔 프로젝트를 하다보면 꼭 네이티브한 코드를 써야하는 경우가 있습니다만 그럴 땐 C를 할 줄아는 프로그래머에게 해당 모듈을 맡기고 JNI로 연동합니다. 아니면 아예 그런 프로젝트는 맡지 않습니다.

하지만 반대의 경우도 마찬가지입니다. 예를들어 C 프로그래머라면 대규모 분산환경 어플리케이션을 오직 C 만으로 개발하는 것은 거의 불가능 합니다. 이런 경우라면 당연히 자바와 같은 업무에 보다 적합한 언어를 할 줄아는 사람에게 맡기는게 나을 것입니다.

실무에서는 모든 언어를 다 능숙하게 다뤄서 어떤 프로젝트에도 다 적응할 수 있는 '슈퍼맨'도 없고 모든 경우에 다 적합한 '슈퍼언어'도 없는 것 같습니다. 해당 요구조건에 최적의 언어와 환경을 고르는 것도 상당히 중요한 노하우가 아닐까요?

윗분의 말씀에 저는 많이 동의합니다. 실제로 두개의 언어를 충분하게 잘하는 사람을 그다지 본적이 없고, 실제로 하나의 플랫폼과 패러다임을 전문가 수준으로 끌어올리는 것도 힘들죠. 만일 C, Java 둘다 잘하면 좋겠지만, 그렇다고 서로 같이 작업하는데 있어서 내가 혼자 다할려고 하다가 자폭하는 것보다는 서로의 분야에 대해서 협동하여 하는게 좋다고 생각합니다. 그게 올바른 프로그래머의 자세라고 생각하고요.

저도 자바를 쓰긴하지만 유닉스 미들웨어 파트에 있다보니 오히려 회사에서 일할때는 자바를 쓰는 경우는 거의 없었고 거의 까먹고 지금은 문법밖에 기억이 안나는군요. 솔직하게 말해서 C와 쉘언어들, C++도 많이 잊어먹고, 거의 한가지분야에만 나가게 되는것이 오히려 하다보면 그렇게 되는거 같네요.

그리고 실제로 C를 잘쓰면 다른 구조적 언어를 배우는데는 도움이 되지만, 객체지향 언어를 잘 배우는데는 오히려 방해가 되는 경우도 있죠. 하지만 자바를 잘한다고 해서 또한 시스템하부레벨의 프로그래밍을 잘 이해할 수 있다는 것도 없죠. 한사람이 할 수 있는 일의 분량이 있는 만큼 둘다 잘하는 사람보다는(그런 사람이 얼마나 있을지는 모르겠지만) C 전문가 + 자바 전문가 를 붙여서 일하는게 더 좋을것 같네요. ^^*

일단은 한가지라도 정통하는게 좋을거 같습니다. 어설프게 많이 할 수 있는 사람 솔직히 쓸데가 별로 없습니다.

========================================
* The truth will set you free.

맹고이의 이미지

그렇긴 해도 아직 학생이라면
여러언어로 작성된 코드를 어느정도 해석할 수 있을 만큼
두루두루 알아두면 좋지 않을까요? ^^;

M.W.Park의 이미지

저의 경우엔 프로그래밍 입문 과목을 C로 배웠지만, 제가 졸업반이 되었을 때인지, 졸업한 직후인지부터는 후배들은 java로 배우더군요.
아마도 객체지향이 큰 패러다임으로 등장하면서 학교에서도 C 보다는 java 가 좋겠다고 생각한 것같습니다.

저도 솔직히 지금 프로그래밍에 첫발을 내디디는 후배가 있다면, java나 python을 권해주고 싶습니다.
하지만 "이것만 잘하면 됩니까?"라고 물어본다면, "그것만 잘하면 돼"라고 말하진 못할 것같습니다.
"언어나 툴은 프로그래밍이라는 추상적인 작업의 도구일 뿐이야. 각각의 작업마다 다른 것보다는 좀 더 생산적으로 작업을 할 수 있는 도구를 찾으려 노력하는 것이 중요해."라고 말해주고 싶네요.

실제로 작업과 관련된 툴/언어를 미리 조사하지 않고 일을 진행하게 되면, 소잡는 칼로 닭을 잡는 경우나, 아니면 닭잡는 칼로 소잡으려다 못잡는 경우가 생기더군요.
상황에 맞는 칼을 빼들자면, 적(목표? 작업)과 칼(도구)을 연구하는 수밖엔....8)

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂

alwaysrainy의 이미지

학생은 모름지기 넓은 시야를 키워야 한다는게 제 생각이거든요.. 프로그래머가 되려면.. 적어도 C + JAVA + Assembly + Script 언어 한 두가지 정도'에 대해서는 각각 기초 이상으로 학습해야 한다고 생각합니다.

---------------------------------------
세계는 넓고, 할일은 많다.

coldmind의 이미지

대부분이 둘다를 공부 해야 한다고 하시는 분위기인데
전 조금 다른 생각을 갖고 있습니다. 어차피 크게 보면 모두 프로그램이니 프로그래머라면 프로그램인 건 기본적인 건 다 할 줄 알아 야 한다는 것 같은데

꼭 그렇까요? 어떤 분이 쓰신 것 처럼 어쩌면 어셈도 할 줄 알아야 하고 그러다 보면 CPU 아키에 대해서도 일가견을 가져야 한다는 거죠... 물론 알면 좋죠.. 나쁘겠습니까... 하지만, 항상 비용과 효과라는 걸 봐야 하지 않을까요? 취미라면... CAD을 하건 게임을 하건 그건 자신에 취사 선택이죠... 하지만, 자기가 하고 싶은게 있고 목적이 있다면 그 목적에 가장 잘 접근 할 수 있는 것을 하는 게 좋을 거라고 생각 합니다. 그런 의미에서 c를 공부 할 것 이냐..java를 할 것이냐를 고민 하신다면 그중에 하나만 선택 해야 합니다. " 다 잘하면 좋아" 아니면 "기본은 해야되"
머 이딴 식에 말은 필요가 없습니다.

같은 비용(시간과 자원)으로 원하는 걸 얻기 위해서 각각에 특성과 시장을 비교 해보시기 바랍니다.

그런 의미에서 java를 추천 합니다. 물론 자바가 리눅스의 커널이 아닌 이상.. OS를 컨트롤 하거나 그런 건 못하겠죠... 하지만, 왠만한 네트웍/연산 프로그램은 큰 성능차이가 없습니다.

이것 저것 다양 하게 아는 것보다는 하나라도 확실하게 아는 게 중요 한것 같습니다. 제대로된 프로그램 하나도 못 만들면서 어깨넘어 배운 지식으로 말만 많은 아키텍트를 보면서 그런 생각이 듭니다.

제생각엔 os 구조와 사용법만 제대로 알고 shell 프로그램만 짜도 진정한 프로그래머라고 생각합니다.

안녕하십니까....카르페디엠 Carpe Diam

juicy의 이미지

고수 프로그래머는 언어를 초월해야 한다고 생각합니다.
여러가지 언어 중에서 개발하려는 소프트웨어(또는 그 소프트웨어의 환경 - 플랫폼, 프레임워크 등)에 가장 적합한 언어를 쓰면 됩니다.
C나 Java외에도 언어는 매우 많습니다.
(여기 kldp에서 "반성문" 쓰레드를 보면
얼마나 많은 언어가 있는지 실제 예제 코드와 함께 볼 수 있습니다.)

언어 고유의 특징들을 잘 아는 것도 중요하지만,
요즘은 필요한 정보를 '잘 찾는 것'이 더 중요하다는 생각이 듭니다.
즉, know-how보다는 know-where죠..
프로그램을 만든다고 하면서,
인터넷, 각종 서적 등 매체를 통해 잘 찾지 못하는 사람을 주변에서 허다하게 봤습니다.

두 사람이 똑같이 몰랐던 것인데,
한 사람은 '아.. 이것은 아마 어디어디를 찾아보면 있을 것이다'라고 생각하며 열심히 필요한 정보를 찾습니다.
그리고 실제로 오랜 시간이 걸리지 않아 잘 찾습니다.

그러나 다른 한 사람은 여기저기 찾아보기도 하고,
주변사람에게 도움을 요청하기도 하지만,
찾아보는 범위가 좁아서 그런지,
배경지식이 좀 부족해서 그런지..
문제 해결에 한참 걸립니다.

이 두 사람에 대한 예는 제 경험으로 하는 얘기인데,
왜 그런 차이가 있을지 아직도 솔직히 잘 모르겠습니다.
(프로그래밍에 임하는 자세? 개인적 성격? 타고난 자질?)

언어를 초월하면 새로운 언어(또는 처음 해보는 언어)를 사용하는데 망설임이나 두려움이 없고,
터득하는 속도도 빠릅니다.

더 중요한 것은 프로그램을 "잘" 설계/개발하고,
간단하고 깔끔한 'logic'(프로그램의 논리적 흐름)을 사용하는 그런 것들이 아닐까요..

잘 설계/개발된 프로그램은
modularity,
readability,
reusability
등이 높은 프로그램입니다.
(이런 개념은 소프트웨어 공학을 공부하면,
배울 수는 있지만, 직접 체험하는 것은 또 좀 다르다고 봅니다.)

추가로, 이곳 kldp에서 본 "프로그래머(밍?)의 십계명" 쓰레드를 추천합니다.

fender의 이미지

PM의 관점과 프로그래머의 관점이 다를 수도 있습니다. 물론 프로그래머도 깊게 들어가면 분명 언어를 초월하는 개념들을 접하게 됩니다. 디자인 패턴 같은 기본적인 것들을 제외하고라도, 예를들어 J2EE를 능숙하게 다룰 수 있다면 필요에 따라 닷넷으로 서버 프로그래밍을 개발하는 것에 쉽게 적응할 수 있고 반대의 경우도 마찬가지입니다. 왜냐하면 언어나 플랫폼은 달라도 분산환경이나 대규모 웹 어플리케이션을 개발하는데 부딪히는 문제점들과 일반적인 해결 방식은 공통점이 있다는 뜻입니다.

반면 '적절한 업무에 적절한 도구(언어)'를 판단하는 건 대부분의 경우 개발자가 아닌 PM의 역할입니다. PM은 깊이보다 넓고 얕게 아는 것, 그리고 무엇보다 기술동향을 파악하는게 중요한 자리입니다. PM이 자신이 맡은 프로젝트에 필요한 기술을 정하고 인력을 구성하는 역할을 하는 것입니다.

반면 한 개발자가 C나 자바 등 몇가지 언어를 능숙하게 다룰 수도 있고 어쩌면 실무에서도 적용할 지 모르지만, 한 프로젝트에서 한명의 개발자가 여러 언어를 다루는 경우는 극히 드뭅니다.

----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...

jj의 이미지

akbar wrote:
fender wrote:

오히려 C/C++을 할 줄 안다고 자바가 문법이 비슷하니 "난 자바 같은 건 일주일이면 다 할 수 있어"라는 식으로 말하는 사람들이 그렇지 않을까요? :)

JAVA 를 할 줄 안다고 C++ 이 문법이 비슷하니 "난 C++ 같은 건 일주일이면 다 할 수 있어"라는 식으로 말하는 사람들도 그렇지 않을까요?

정말 제대로 C++할줄 안다면, Java하는데 몇일 안걸릴것 같은데요? 반대는 확실히 아닌것 같군요.

제가 예전에 한 4년동안 어셈블리하던 친구를 알았는데... 이친구는 게임이나 유틸리티 크래킹하면서 프로그래밍을 배운 친구였습니다.

C언어를 한 3일 보더니 귀신같이 하더군요.

sunyzero wrote:

그리고 실제로 C를 잘쓰면 다른 구조적 언어를 배우는데는 도움이 되지만, 객체지향 언어를 잘 배우는데는 오히려 방해가 되는 경우도 있죠. 하지만 자바를 잘한다고 해서 또한 시스템하부레벨의 프로그래밍을 잘 이해할 수 있다는 것도 없죠. 한사람이 할 수 있는 일의 분량이 있는 만큼 둘다 잘하는 사람보다는(그런 사람이 얼마나 있을지는 모르겠지만) C 전문가 + 자바 전문가 를 붙여서 일하는게 더 좋을것 같네요. ^^*

제가보기엔, 객체지향과 Imperative는 학습에 장애가 될만큰 큰 차이를 가진 패러다임이 아닙니다. 이런 관점에서 본다면, 차라리 함수형 언어부터 권하는게 맞죠.

제대로 알고 싶으시다면, C/Java 둘다 하세요. 단 Java부터 배우면 C배우기 싫으실걸요 ^^. C부터 먼저 익히세요. 그리고 Java로 넘어가시던가 C++를 통해서 객체지향/프레임워크 이런 개념 익히시는게 좋을꺼라고 생각되네요.

언어를 많이 안다고 해서 절대 좋은건 아니지만, 패러다임별로 잘다루는 언어가 하나씩은 있어야하지 않을까 생각되네요.

--
Life is short. damn short...

fender의 이미지

jj wrote:
정말 제대로 C++할줄 안다면, Java하는데 몇일 안걸릴것 같은데요? 반대는 확실히 아닌것 같군요.

문법은 몇일 안에 볼 수 있습니다 :) 물론 C++을 제대로 한다면 디자인 패턴이나 이런 부분까지 어느 정도 커버가 된다는 전제 하에 전혀 배경지식이 없는 사람보다는 훨씬 쉽게 배우겠지요.

'자바를 한다'라는게 HelloWorld 같은 예제를 만드는게 아닌 이상 솔직히 자바만 2-3년 파도 마스터 하기는 어렵다고 생각합니다. J2EE, 그 중에서도 웹 사이트 개발만 생각해도 봐야할 건 수도 없이 많습니다. MVC 프레임워크나 퍼시스턴스 관련 솔루션도 수십가지나 되고 EJB나 Servlet 스펙만 제대로 이해하는 것도 쉬운 일이 아닙니다. 꼭 서버쪽 아니라도 웬만한 프로그래밍 실력 없이 하다못해 javax.swing.text 패키지 이해하는 것도 결코 쉽지 않습니다.

자바 문법만 좀 안다고, 혹은 jsp 코딩 좀 할 줄 안다고 자바는 쉽다고 생각하는 사람이 있다면 우물안 개구리가 아닐까 싶군요...

----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...

deisys의 이미지

개념정의가 모호한 것 같습니다.

1. 특정 프로그래밍 언어를 공부한다.
2. 특정 프로그래밍 언어로 할 수 있는 일( 혹은 기술 )을 공부한다.

저는 1번과 2번은 다른거라고 생각합니다. 같다고 보는(혹은 매우 비슷하다고) 분들도 꽤 많을 것 같네요.

극단적인 예이지만, "나는 C/C++을 마스터할꺼야!" 라고 외치는 한 학생이 있다면, 그는 WINAPI, MFC부터 시작해서 리눅스 커널 프로그래밍까지 통달하는 방향으로 공부해야 하는 것일까요...? ( C와 C++이 포함관계라거나, 완전히 다른 언어라는 등의 이야기는 생략하구요 ) 이런 생각을 하면서 1, 2가 다른거라고 느끼게 되었습니다.

어떻게 생각하세요? 어떻게들 생각하시는지 궁금하네요. ( 새 스레드를 만들려다, 이 스레드의 글을 읽다 생긴 의문이라 여기 붙입니다. =) )

jj의 이미지

fender wrote:
'자바를 한다'라는게 HelloWorld 같은 예제를 만드는게 아닌 이상 솔직히 자바만 2-3년 파도 마스터 하기는 어렵다고 생각합니다. J2EE, 그 중에서도 웹 사이트 개발만 생각해도 봐야할 건 수도 없이 많습니다. MVC 프레임워크나 퍼시스턴스 관련 솔루션도 수십가지나 되고 EJB나 Servlet 스펙만 제대로 이해하는 것도 쉬운 일이 아닙니다. 꼭 서버쪽 아니라도 웬만한 프로그래밍 실력 없이 하다못해 javax.swing.text 패키지 이해하는 것도 결코 쉽지 않습니다.

자바 문법만 좀 안다고, 혹은 jsp 코딩 좀 할 줄 안다고 자바는 쉽다고 생각하는 사람이 있다면 우물안 개구리가 아닐까 싶군요...

EJB, Servlet 같은걸 C++로 만들어 본다고 생각해 보시길. 그래도 자바가 쉬운게 아니라고 하시면 전 할말이 없습니다. :) --frog

--
Life is short. damn short...

fender의 이미지

jj wrote:
fender wrote:
'자바를 한다'라는게 HelloWorld 같은 예제를 만드는게 아닌 이상 솔직히 자바만 2-3년 파도 마스터 하기는 어렵다고 생각합니다. J2EE, 그 중에서도 웹 사이트 개발만 생각해도 봐야할 건 수도 없이 많습니다. MVC 프레임워크나 퍼시스턴스 관련 솔루션도 수십가지나 되고 EJB나 Servlet 스펙만 제대로 이해하는 것도 쉬운 일이 아닙니다. 꼭 서버쪽 아니라도 웬만한 프로그래밍 실력 없이 하다못해 javax.swing.text 패키지 이해하는 것도 결코 쉽지 않습니다.

자바 문법만 좀 안다고, 혹은 jsp 코딩 좀 할 줄 안다고 자바는 쉽다고 생각하는 사람이 있다면 우물안 개구리가 아닐까 싶군요...

EJB, Servlet 같은걸 C++로 만들어 본다고 생각해 보시길. 그래도 자바가 쉬운게 아니라고 하시면 전 할말이 없습니다. :) --frog

-_-;;; 문맥 파악을 잘못 하신 것 같군요. 애초에 자바가 쉽다 어렵다 이야기는 jj님께서 "C를 제대로 하는 사람이라면 자바는 몇일 안걸려서 배울 수 있다"라고 주장하셨기 때문에 나온 말 아닌가요?

그 'C를 제대로 하는 사람'이 C 만 가지고 실무에서 EJB, Servlet 같은 프레임워크까지 맨땅에 헤딩으로 만들어 쓰는 사람을 의마하신 건가요? 설사 그렇다고 해도 자바 언어를 '몇일만에' 마스터 할 수 있다고 생각하지는 않습니다만...

저는 자바가 C보다 어렵다고 한적이 없는데요, 당연히 문법적 측면이나 포인터 등 언어 자체가 자바보다 어렵다고 생각합니다만... 자바가 어려운 부분은 EJB와 같은 프레임워크 사용이나 디자인에 대한 부분인데, 이 부분은 C/C++으로 구현하기 어려운 부분 아니었나요?

그런 논리라면 C/C++보다도 자바스크립트가 훨씬 어렵습니다. C/C++로 EJB, Servlet 프레임워크 구현할 수 있을지는 몰라도 자바스크립트로 구현하기는 어려울테니까요 -_-;

----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...

saxboy의 이미지

또 이런 스레드가 생겼네요. 역시 반복에 반복이라...

그냥 제 느낌에는 항상 비슷한 말을 다른 관점에서 다들 반복하시는게 아닌가 싶어요. C++을 알면 자바는 일주일이면 배운다... 사실은 저도 동감합니다. 다른 언어도 마찬가지입니다.

한가지 더 생각해보면 어떨까요. C를 안다는 것은 단순히 C로 소스를 코딩해서 컴파일해서 실행할 수 있는 바이너리를 만들 수 있는 능력을 가진다는 뜻일까요? 디버깅 패키지들을 쓸 줄 안다는 뜻일까요? 훌륭한 라이브러리가 있는 곳을 많이 알고 있다는 뜻일까요? 훌륭한 C 개발관련 도구들이 있는 곳을 많이 알고 있다는 뜻일까요? 참고할만한 C소스를 많이 알고 있다는 뜻일까요? 이것들이 모두 몸에 녹아서 수족처럼 사용할 수 있게 된다는 뜻일까요? 전부 다 일까요?

윈도우 노트패드를 쓸 줄 아는 사람이 vi 를 배우는데 한시간이면 되지 않을까요? 옆에 레퍼런스를 놓고 보면서 문서를 편집하면 한시간이면 배워서 쓸 수 있겠지요.

오픈 북 시험은 쉬울까요? 문법을 알고 레퍼런스를 찾아가면서 만드는 자바 프로그램은 쉬울까요?

regular expr 에만 익숙하면 perl 은 한시간 정도면 배워서 쓸 수 있지만, 이렇게 배운 펄로 웹서버를 만들려면 얼마나 시간이 걸릴까요?

win32 api 나 Xlib 로 코딩을 해본 사람이 있다면 분명히 awt로 무언가를 만드는 일은 굉장히 쉽습니다. 하지만 찾아볼 것이 참 많지요. MFC나 qt나 gtk나 wx* 를 써본 사람이라면 swing을 쓰는 것도 굉장히 쉽습니다.

분명히 C는 초보자들도 삼일이면 배워서 쓸 수 있는 언어입니다. 고백하자면 저는 어렸을때 C를 배웠는데, 헐렁한 책 한권들고 하루 책을 읽어서 무언가를 만들 수 있었다고 기억합니다. 하지만 이렇게 배운 C와 살면서 제 몸에 녹아든 C는 틀림없이 다른 것이지요.

다른 분들 말씀 다 맞기도 하고 다 틀리기도 한 것 같습니다. "자바는 C보다 쉽다"와 "리눅스는 윈도우보다 좋다" 와 "이효리가 보아보다 예쁘다"와 "함소원 누드가 김지현 누드보다 낫다" 가 다른 점이 대체 뭔지를 좀 더 심각하게 고민해볼 시간이 아닌가 싶군요.

nachnine의 이미지

두 언어에 대해 쉽다 어렵다를 말하는 것은 어불성설입니다.

고등학교 수학이 초등학교 산수보다 어렵다는 것은 말이 되지만
영어보다 국어가 쉽다거나 하는 건 말이 안됩니다.

애초부터 C와 Java는 쉽다/어렵다의 비교 대상이 아닌겁니다.
잘못 생각하시는 분이 많군요..

어차피 언어는 아주 깊은 레벨까지 내려가면
어렵기는 피차 일반입니다.

사람들이 쉽게 생각하는 javascript 마저도 ,
저에겐 끝을 알수 없을 정도로 심오하고 어렵더군요,
( DOM , constructor/propotype Property )

java는 ' 어. 나 그 언어 할줄알아. 프로그램 몇개 짤수 있어' 라고
말하기엔 확실히 C 보다는 우위에 있습니다만, 그렇다고 java가
C보다 '쉽다' 고 할수는 없는 것이죠

더이상 특정언어에 대한 '좋다/나쁘다, 쉽다/ 어렵다' 로
논쟁하는 쓰레드는 나타나지 않았으면 합니다.

Language Dependent Developer는 지양되어야 합니다.

jj의 이미지

결과적으로 제가 토론의 주제를 흐려놨군요.

언어를 비교대상을 삼으려 한건 아니구요. 그런 플레임은 저도 수없이 봤고, 아주 지겹답니다. 다만 fender님이 주제를 너무 확대하시는것 같아서 C++얘기를 잠깐 했습니다.

아직 학생분이고 심지어 지금 첫 프로그래밍언어를 고르는 입장인 질문자에게 굳이 J2EE니 EJB니 하는말들이 아무 의미 없다고 생각했던거죠.

이상입니다! 죄송!

--
Life is short. damn short...

dormael의 이미지

제 생각엔 우선 어떤분야를 해야할지 먼저 결정하신 후에 언어를 선택하시는게 좋을것 같습니다.

아니면 분야만 선택하면 언어도 거의 결정이 날꺼라고 생각합니다.

정말 범위 넓습니다.

하지만 냉장고나 전기밥솥부터 비즈니스 어플까지 다 할 수는 없습니다.

-- Signature --
青い空大好き。
蒼井ソラもっと好き。
파란 하늘 너무 좋아.
아오이 소라 더좋아.

taroo의 이미지

제 생각은 "못하면 안한다" 입니다. 개발에 꼭 필요한 부분이라면 '아웃소싱'을 생각할 수도 있을 겁니다.
개발자는 만능 엔터테이너가 아니고 기술자라고 생각합니다.
넓게던, 깊게던 자신이 할 수 있는 기술을 연마하기만 하면 된다고 생각합니다.
어떤 언어를 좋아하느냐는 감히 말할 수 있어도 어떤 언어가 더 좋다라고 하는 것을 말하기가 어렵다고 하는 것은, 개발자가 각각의 개발영역에 해당하는 모든 언어에 대해서 완벽히 알아야 하는 것을 역설하는 것이 아니라 단순히 언어엔 특성이 있다라고 하는 말일 뿐이라고 생각합니다.
자바가 좋으면 자바를 하면 됩니다. C가 더 훌륭히 동작될 상황이라면 C를 잘하는 사람을 데려오면 됩니다.
C가 더 좋으면 C를 하면 됩니다. 자바가 더 훌륭히 동작될 상황에서는 자바를 잘 쓰는 사람을 데려오면 됩니다.
자바도 좋고 C도 좋은 사람은 둘 다 하면 됩니다. 둘 다 했더니 개발에 사용될 실력이 모자른듯 싶다고 느낀다면, 주위의 잘하는 사람에게 조언을 받으면 됩니다.
C를 잘 하는 사람은 C를 주 개발언어로 사용하는 곳에서 일하면 되고, 자바도 마찬가지 입니다.
둘 다 잘 하는 사람은 당연히 더 좋은 대우를 받을 것입니다. 대신 그만큼 더 많은 일을 해야 할 것입니다.

그러나...
No라고 자신있게 말 할 수 있는 사람은...
신문방송 광고에나 나옵니다...

"당신이 C(또는 자바)를 좀 다룰 줄 아는 건 아는데.. 그렇다면 자바(또는 C)도 쉽게 할 수 있겠지. 또다른 지출이 생기면 당신의 몫에서 제해지는거야."

우리나라는 입문 서적이 잘 팔릴 수 밖에 없습니다.

... 제 생각이 틀린가요? ^^;

p.s.
웬지 주제와 많이 어긋나고 블로그 같은 성격의 잡담인 듯 하네요.
이해해 주시길... (이것도 많이 생각하며 적은 거랍니다. ㅡㅡ; )

vacancy의 이미지

근데 제 생각엔 자바쪽을 먼저 배우는게 좋을것 같아요.

자바나 C++를 써본 사람이 C로 코딩하는 것과
그냥 C로만 코딩해온 사람이 C로 코딩하는 경우를 생각해보면,
전자가 아무래도 나을것 같다는 생각이 드네요.

반대로 C로 코딩하던 사람이 자바나 C++로 코딩하는 것과
자바나 C++로만 코딩해온 사람이 자바나 C++로 코딩하는 경우를 생각해보면,
전자가 낫겠다는 생각은 그다지 들지 않거든요.

최근의 언어들을 먼저 다루는 것이
코딩 스타일 정립에 더 도움이 되지 않을까 생각을 합니다.

Vadis의 이미지

저는 c를 먼저 공부하고 자바를 공부했습니다.그 후에는 c#도 공부했었고요.여

전히 초보운전딱지를 못 떼고 있지만 그 당시에 공부할 때는 각각의 언어가 최고

인 줄 알았습니다.자바를 공부할 때는 자바가 최고인 줄 알았고, c#을 공부할 때

c#이 최고인 줄 알았죠.그러다보니 제대로 익힌 언어가 없더라고요.심도깊게 들

어갈만 하면 다른 언어공부하니, 실력의 향상이 없더군요.결과는 하나의 언어라

도 충분히 자신이 있을때까지 익히고 갈고 딱는 것이 최고인 듯 싶네요...!!!!

그리고 얼마 전에 데브피아에서 읽은 김용선씨의 블로그입니다.많은 도움이 되

더군요.

Quote:
데브피아 발췌

Quote:
52살, 내가 프로그래머로 사는 얘기 (분류:프로그래밍)
2003-12-09 오후 2:22:26

1. FACOM 230-15
1970년대초 처음 내가 컴퓨터 프로그램을 광운전자계산소 부설학원에서 배울 때 구경하면서 배운 컴퓨터이다. 당시 광운대학교 전산실에 설치된 이 컴퓨터는 우리네 학원 수강생에게는 구경만 하는 존재였다.
메인 메모리가 16K 인 것으로 기억하는데 우리는 CODEING SHEET에 프로그램을 써주기만 하면 키펀쳐가 80컬럼 카드페이퍼에 천공을 해서 카드리더기로 읽힌다.
실행결과는 LINE 프린터로 나오는데 프로그램 오자라도 나오면 ERROR LIST만 한보따리 받고 한주일을 기다려 다시 실행을 할 수가 있었다.
키보드도 못만져보고 프린터, 모니터는 구경만 했다. 메모리는 CORE MATRICS방식이어서 커다란 석쇠 같은 망에 쪼그맣게 끼워진CORE(자석 링)를 볼 수 있었다. 그래도 한국땅에는 컴퓨터란게 10여대밖에 없던 시절이었으니까 구경한번 해본 것으로도 자랑거리삼아 떠들고 다녔으니 지금 생각하면 우습기만 하다.
아마 지금쯤 광운대학교 창고에 이 고철이 있을지 모른다. 1985년경 세미나로 학교를 방문했을 때 만해도 전산과 교수의 말이 창고에 먼지를 쓰고 있을 거라고 했는데...

2. 내가 프로그래머가 된 동기
가난을 핑계로 대학을 포기한 내게 하는 일이라고 교회 일밖에 없어 교회 청년부와 청년연합회일을 열심히했고 한편 대한결핵협회의 씰크럽일을 하느라고 어지간히 분주했는데 군필만 받아주는 세상이어서 취직도 못하고 있었다.
그때 한 목사님의 주선과 한 선배님의 배려로 컴퓨터 공부를 하도록 돈을 마련할 수가 있어 시작한 것이 지금까지 전산인으로 사는 게 된 것이다.
컴퓨터학원을 다니던중 1년간 군복무를 해야 했고 1975년 전산직 취직을 하려했지만 워낙 자리가 적고 특수직종이다 보니 우리처럼 공부한사람이 프로그램머가 된다는 것은 쉽지가 않음을 깨닫고 나중 언젠가는 반드시 써먹을 기술이라 여겨 대기업 생산직부터 직장생활을 시작했으며 10년 만에 기어이 프로그래머가 되었다.
3. SHARP 프로그래머블 계산기
1983년 회사의 품질관리업무 담당 시절에 매일 통계계산하고 그래프그리는 일이 다일 때 나는 컴퓨터를 생각했다.
그래서 구입한게 당시에 약 70만원짜리 일제 SHARP 계산기 인데 작기는 지금 노트북 만한 것이 키보트 다있고 컬러 펜사용하는 플로터 프린터에 카세트테이프 리더까지 있어서 BASIC프로그램만 익히면 못할 것이 없는 기가 막힌 기계였다.
나는 BASIC이란 언어를 처음 배우면서 이렇게 쉬운 프로그램도 있구나 하면서 밤을 풀풀 새웠다.
서비스로 제공된 프로그램 SOURCE를 분석하면서 회사 QC ROOM에서 사용할 모든 프로그램을 만들었다.
출근해서 하루 종일 프로그램하다가 사무실이 조용해지면 깨달으면 모든 직원들이 퇴근한 것이었고 배가 고프고 추워지면 밤을 새웠고 동이 트는 것이었다. 누가 시키지도 않았고 누가 감시하지도 않고 누가 성과를 따지지도 않는데 나는 70만원짜리 컴퓨터를 구입해준 회사가 고맙고 프로그램하는 게 즐거웠다.
근 1년을 씨름하고 나니까 품질관리업무는 웬만큼 전산화가 이루어 져서 일부 시험기계는 컴퓨터와 인터페이스하는 정도까지 되었다.
회사는 이 모든성과에 보답해서 Z-80 8BIT 프로세서의 마이크로 컴퓨터를 사주었고 나는 내친김에 급여관리까지 손을 대기 시작했다.
4. Z-80 8 BIT 컴퓨터
Z-80 8BIT 이 컴퓨터는 미국서 부품을 수입해서 한글만 PORTING한 제품으로 M.MEMORY가 64KB 이고 128KB 5.25"플로피 디스크드라이브에 40MB 하드 디스크까지 있어서 당시로서는 고가품이었다.
이 기계는 브레인컴퓨터라는 회사에서 구입했고 그 회사의 교육을 통해 본격적인 DATA BASE의 기술을 익히게 되었다.
지금생각하면 속도가 얼마나 느렸든지 1,800여명 직원 급여를 계산하려면 프로세스만 20분정도 걸렸고 프린트를 하려면 도트프린터(당시 고려시스템제품으로 80CPS정도)로 급여 명세서만 약 80분에 봉투를 찍으려면 90분정도 걸렸다.
그런데다 프로그램을 효율적으로 만들지 못해서 급여 명세서 까지 인쇄해서 하나하나 따져봐야 ERROR를 찾을 수가 있는데 명세서 인쇄하다 틀린 것이 나오면 자료 수정하고 처음부터 다시 해야 했으니 한심하기 짝이 없는 일이 다반사였다.
한번은 낮동안 입력하는 직원들시켜서 하루종일 급여 자료를 입력하게 하고 다들 퇴근한 밤시간에 계산 프로그램을 실행하고 명세서를 인쇄하는 중이었다. 이날도 급여계산은 한번에 되질않고 몇 번을 수정 재작업하는 바람에 시간은 새벽이 다되었고 아침이 되면 퇴근을 하는 밤근무자들부터 월급을 주어야 했었다. 나는 회사에서 특별히 제작해준 커다란 테이블위에 컴퓨터 본체, 모니터, 키보드, 프린터를 나란히 놓고 쓰는데 1시간이 넘게 걸리는 프린팅에서 종이라도 걸릴까봐 지켜보고 있으려니 프린터의 박박거리는 소리에 슬글슬금 졸음이 왔다. 나는 엎어져서 눈을 붙여보다가 결국 테이블 위로 올라가서 벌러덩 누워잠이 들었는데....
한순간 나는 잠이 깨었다. 그건 박박거리면 급여명세서를 인쇄하던 프린터가 갑자기 조용해진 때문이었다.
아차! 잠든 내 팔꿈치가 컴퓨터의 RESET스위치를 눌러 버린 것이었다.
급여프로그램이 얼마나 멍청한 것인지 인쇄하다 중단하면 처음부터 다시인쇄해야 소계 합계 총계가 맞도록 인쇄되는 것이어서 할 수 없이 다시 작업을 하느라고 고생을 했다.
그시절 함께고생하던 직원 안덕민씨가 그립다.
5. HP/3000 S42와 전산실
회사는 1985년 HP/3000 미니컴퓨터를 들여놓고 전산실을 꾸미면서 전사적인 전산화를 추진하게 되었고 나는 1987년 본사 전산실에 합류하여 전산이 전업이 되었다.
인사.급여,회계.영업.수출.재고등 3개 지역의 공장과 본사의 온라인 시스템을 운영하는 방대한 시스템을 구축하면서 나는 COBOL-II를 사용하였고 정작 MIS의 경험을 올바로 할 수 있는 계기가 되었다.
결국 전산실 책임자가 되었지만 전산실 7,8명의 5년여 각고로 상당부분 전산화의 실적을 거둔데 비해 회사의 지속적인 투자부족이 더 나은 시스템을 발전시키지 못하고서 나는 중소기업으로 이직을 하고 말았다.

6. CLIPPER
(주)전방에서 HP/3000의 LOAD가 심해 지면서 나는 PC에 의한 분산처리 방편으로 PC LAN을 구축하고 단말프로그램으로 RM-COBOL과 CLIPPER를 사용하여서 좋은 성과을 얻었고 계기로 PC에 의한 인사.급여.회계.교회행정등 많은 시스템을 개발하게 되었다. 특히 판매재고관리 펙키지판매업체에서 1년동안 CLIPPER개발일을 했던 경험은 프로그램의 배포와 보안에 대한 좋은 경험이 되었고 중소기업이 무엇이 중요하고 무엇이 필요한지를 이해하는 귀중한 경험으로 남았다. 지금도 개인적으로 CLIPPER어플리케이션 프로그램을 사용하고 있으며 개발도 그래픽 라이브러리를 사용하여 하고 있다.(참고:-아직도 DOS프로그램은 볼륨의 효율성과 실행 속도 면에서 윈도우와는 상대적인 잇점이 남아있다.)

7. Windows
그래도 이젠 윈도우다. 그리고 닷넷이다.
작년(2001년)부터 비쥬얼베이직으로 시작한 윈도우 도전은 아예 MS의 닷넷으로 빠지게 하였다. 이젠 회사의 어플이케이션 프로그램을 웹사이트와 연동하게 ASP.NET으로 전환하는 작업에 착수하였다. 현재 홈페이지는 ASP.NET으로 전환하였고 회계프로그램과 무역관련업무프로그램을 웹환경으로 C#을 사용하여 다시 개발하고 있고, 패션 브랜드 사이트개발을 수주하여 현재 개발중이다. 배운대로 잘 되지는 않았지만 책과 씨름하고 닷넷싸이트를 뒤지면서 하나씩 하나씩 풀어가는 재미에 날새는 줄도 모르고 지나간다.

좋은 날 즐거운 날....

sskim의 이미지

전 서울에 살고 있는 30대 직장인입니다. 로또 당첨확률이 가장 높은 부류죠.
제가 컴퓨터를 제일 첨 접한건 초등학교때였습니다. 대부분이 다 그랬을것입니다. 그때 본 애플컴퓨터의 그린모니터와 본체와 일체형인 키보드를 지금도 잊을 수가 없습니다. 첨으로 눌렀던 키가 엔터키였던걸로 기억합니다. 근데 물론 그게 무슨글자인지 몰랐죠. 누가 눌렀는지 잘 기억이 안나지만 선생님이었겠죠? 무슨 키를 누른채 다른키를 동시에 누르니깐 화면이 지워지더군요. 그순간 바로 경악을 금치 못하였습니다. 그건 어린 나에겐 충격이었고 일생일대의 대혁명의 전환점이었습니다. 그때 이후부터 우리엄마는 저한테 시달렸죠. 당연히 컴퓨터사달라고.. 그때가 80년대초반이었습니다. 아시는 분은 아시겠지만 80년대의 컴퓨터한대값은 상상을 초월합니다. 지금 비교한다면 제일 저가형컴퓨터가 아마 고급TV값보다 훨씬 비쌌습니다. 그때는 철이 없어서 그랬겠죠. 결국은 엄마가 나의 고집에 이기지 못해 어디가서 결국 사오신건 책 한권이었습니다.
그책표지엔 이렇게 씌여 있더군요.

"베이직 입문"

지금도 가지고 있습니다. 나의 보물 1호이죠.
컴퓨터없이 책만 봤죠. 컴퓨터학원이 있는데.. 하시는 분 있을겁니다.
학원비도 장난이 아니었습니다. 우리집이 좀 푸어했거든요.
그런데. 그때공부한 걸 써먹을 겨를도 없이 시간이 흘러 고등학생이 되어버리더군요. 그런데 어느날 월간 뉴턴을 보기 위해 서점으로 간 나는 문득 눈에 스쳐가는 잡지가 있었습니다. 표지 아랫부분에 이렇게 씌여 있더군요.

void main() {
printf("\n");
}

그걸 보고 정신을 차릴 수가 없더군요. 이건 여태 봐왔던 그런 단순한 프로그래밍 언어가 아니었습니다. 예 그건 "C언어" 창간호였습니다. 아마 공감하시는 분도 있으리라 생각합니다. 나중 "C language"로 잡지명이 바뀌더니 후에는 "프로그램 세계"로 바뀌었습니다. 현재의 프로그램 세계였습니다.
그때 본 그 간결한 문구.. 지금까지 봐왔던 행번호가 있는 프로그램과는 차원이 달랐습니다.
"이건 혁명이다.!" 그렇게 외쳤죠.
그때 서점에서 책을 보고 있던 사람들이 저를 흘깃 본걸로 기억합니다.
그땐 void가 무슨 의미인지 몰랐지만 main과 printf는 대충 감을 잡았기때문에 이게 어떤 프로그램이라는 것을 이해할 수 있었습니다. 그렇지만 그건 중요한게 아니었죠. ()와 {}의 사용은 C언어를 처음 접한 많은 분들이 느끼는 그런 묘하고 신비로운 느낌이었습니다. 아직도 그느낌을 잊지 못합니다.
그렇게 시간이 흘러 대학에 입학하고 군대를 갔다오고 복학한 뒤에 제가 제일 처음 접한게 인터넷에서의 자바스크립트였고 그러다가 자바를 알게 되었죠.
자바는 저에게 별로 큰 인상을 주지 못하였습니다. 그냥 C를 보는 것과 다름이 없었습니다. 하지만 애플릿은 참 인상적이었죠.

지금까지 C언어 예찬이었습니다.

_________________________________
beyond the compass of your powers!