개발 잘해지는 닉네임
290
2018-05-03 23:36:22
10
2251

java로 모든것을 다 할 수 있나요?


 안녕하세요? 학원에서 6개월간 jsp과정을 수료한 학생입니다.

학원 다닐때도 그리 실력이 좋지 못해 단순히 게시판 짜고 css로 꾸미고 자바스크립트로 유효성 검사하는 정도의 완전 초보입니다


앞으로 열심히 공부해야할게 산더미처럼 있지만 자바를 공부하다가 무언가 엄청난 회의감(?)이 들어 질문합니다. 

 자바와 기타 html css java script 등은 제가 느끼기에는 모두 다른데서 만들어 온걸 불러다 쓸 뿐인 느낌이고 불러다 쓸 기능이 제공되지 않으면 손도 댈 수 없는 느낌이 자꾸 듭니다.


자바를 이용한 개발 과정이라는 것도....

1. 남이 만든 기능(api등)이 있는지 찾아봄 -> 기능을 끌어다 씀

2. 끌어다 써온 기능에 문제가 있는것 같음 -> 같은 기능을하는 다른것을 찾아다 끌어다 씀

3. 내부동작이나 원리는 당연히 모르고, 단순한 오류조차도 전혀 잡지 못하지만 일단 기능은 끌어다 써서 구현 할 수 있음

... 라고 밖에 안느껴집니다


저는 프로그래밍이 작은걸 하더라도 그 동작의 논리적 진행과정을 다 알고, 그걸 알기때문에 사소한 오류 등은 알아서 고칠수 있길 바랬습니다. 채팅프로그램(서버+클라)을 짤줄은 알지만 정작 데이터가 어떻게 전송되는지 하나도 모르고 s= new Socket() 하는게 너무 괴롭네요


이러한 과정이 개발의 모든것 이라면 저는 절대로 컴퓨터 공학과에 들어오지 않았을탠데... 다른걸 하기에도 너무 늦었다는 생각에 괴롭습니다.


그래서 드는 생각이 c계열의 언어를 하면 뭔가 좀 다를까 입니다. 유닉스를 만든 언어이기도 하고 c개발자가 잘하면 정말 잘한다고 하는걸 어디서 주워들었기도 해서 c에는 제가 원하는 무언가가 있을까요?



이야기가 너무 길었네요.. 3줄로 요약해 보자면..

1. 자바는 남이 만든것을 불러다 쓸 뿐이라 기능은 구현하지만 아는건 하나도 없는거 같습니다

2. 위와같은 과정이 반복되는건 너무 싫습니다

3. 초보라서 느끼는 감정인가요? 아니면 원래 자바 프로그래밍이란 이런걸까요?

4. c나 c++을하면 좀 다를까요?



감사합니다.



0
  • 답변 10

  • load2000
    3k
    2018-05-04 00:24:53

    java 언어 핑계 대고 있는걸로 밖에 안보입니다.


    가져다 쓰는 라이브러리는 뭐 다른 언어로 만들어졌다고 생각하는거 아니죠?

  • 그이바
    115
    2018-05-04 06:34:58

    남들이랑 똑같아서 고민인가요?

    C 이고 원리 파악이고 남들과는 다르게 누구보다 똑똑하게.. 이런 것을 추구하는 것 같아요.

    그것은 끝없는 길이에요. 그길을 간다고 해서 나라는 존재를 자랑스럽게 여길 수 있는 발판은 얻기 어려워요.


    데이터가 어떻게 전송되는지 몰라서 괴롭다면, 그것은 괴로움을 주는 것일 뿐이에요.

    데이터가 어떻게 전송되는지 몰라서 궁금하다면, 그것은 즐거움을 주는 기쁨이구요.


    그러니 다 알아야만 나자신이 자랑스럽고, 뭘 모르면 부끄러운 식으로 자기 자신에게 조차 가혹하게 대하지 마시고.. 그냥 궁금한 느낌을 찾아서 보고 또 보셔요. 


    자꾸 보면서 알게 되는 것이 학습, 공부잖아요. 궁금함과 흥미를 따라 가셔요. 남들에게 인정받거나 그정도 인정을 받을정도의 성취(프로그래머에게는 모든 것을 빠삭하게 알아야 한다)를 따라 살지 마시구요.


    고통을 견디며 맹목적으로 살기에는 재미가 없어요.

  • ktsedd
    6k
    2018-05-04 09:26:48

    중2병

  • LichKing
    16k
    2018-05-04 09:40:32

    작은 애플리케이션을 만들더라도 숱한 기술적 문제와 로직적 문제가 발생하게됩니다.

    이때 응용프로그램 개발자들이 저수준의 기술적 문제보다는 로직을 고민하는데 집중할 수 있도록 다양한 라이브러리를 제공하는 것이죠.

    일종의 관심사분리인데 변하지않는것과 변하는 부분을 분리해서 변하지않는 부분은 미리 제공하는겁니다. 소켓통신을 하는 목적은 사람마다 다르니 그걸 제공할수는 없지만 소켓통신은 변하지않으니 제공하는거죠.


    그런데 그런거 싫으면 그냥 만드세요. 굳이 그런 이유때문에 C를 할 이유가있나요? Socket 클래스도 어차피 누군가가 자바로 작성한건데 그거 안쓰고 글쓴분이 자바로 하나 짜면 되죠.

  • 개발 잘해지는 닉네임
    290
    2018-05-04 09:48:11

    load2000  : 답변 감사합니다. 혹시 궁금한거 하나만 도 질문 드려도 될까요? 끌어다 쓰는 api들을 저는 c를  이용해 만든다고 생각해왔습니다 뭘 알아서 이렇게 생각한건 아니고, 단순히 win api가 c언어랑 호환된다고 알고 있어서 인데요... win api랑 java랑 연동이 되어서 자바로도 라이브러리를 만들 수 있는건가요? 아니면 제가 생각하지 못하는 무언가가 더 있나요??


    baram204 : 좋은 말씀 감사드립니다. 개발자는 40대에 잘리고 치킨집 한다는 말때문에 그렇게 생각 했던거 같습니다. 혹시 데이터가 어떻게 전송되는지 몰라서궁금하다면 그건 기쁨이라고 하셨는데 제가 그걸 궁금해서 나름대로 공부하려고 했더니 윤성우의 tcp ip 소켓 프로그래밍 이란 책이 제가 궁금해 하는걸 풀어 줄 수 있을거 같습니다. 이책을 보는게 현며안 선택일까요? 아니면 다른 좋은책이나 공부법이 있다면 알려주시면 감사하겠습니다.


    ktsedd : 긴 글 읽어주셔서 감사합니다. 어쩌면 이 표현이 가장 잘 맞는거일수도 있겠네요. 

  • 내가개발자라니..
    924
    2018-05-04 10:06:35

    암담한 질문이네요...

  • 드림팀팝
    491
    2018-05-04 10:07:31

    음 글쓴이분 컴퓨터 공학과 이신가요?

    본문에 보면 컴퓨터 공학과 라고 하셔서.. 맞다면 아직 1학년 이시거나 한거 같은데

    전공 과목으로 들어가시면 원하시는 tcp ip 통신에 관련된 과목으로 데이터 통신(이름은 학교마다 다를수 있죠) 과목이 있고

    운영체제, 컴파일러, 어셈블러, 보안 갖가지 전산관련하여 공부를 할수 있는 과목들이

    커리큘럼에 들어있습니다.

  • load2000
    3k
    2018-05-04 10:26:45
    각 언어에서 사용하는 api나 라이브러리는 그 언어로 만들어집니다.
    왜냐하면 코드를 컴파일 하는 컴파일러는 해당 언어만 컴파일 할 수 있기 때문에 그렇습니다.

    자바로 만들어야 자바에서 쓸 수 있는겁니다.

    베이스는 c로 만들고 java는 조립만 할 뿐이라는 생각은 아주 잘못 오해하는 겁니다.
  • load2000
    3k
    2018-05-04 10:36:23
    api 라는 용어는 c언어만 사용하는게 아닙니다.

    win api는 윈도우 프로그래밍을 하기 위해 제공되는 api이며 윈도우os 자체가 c로 되어 있기 때문에 c로 짜여져있고 c에서 개발 할 수 있습니다.

    자바도 윈도우 GUI 애플리케이션을 제작할 수 있는 api가 별도로 있습니다. awt라던지 swing이라던지
  • jayo
    427
    2018-05-04 11:10:11

    1. 자바는 남이 만든것을 불러다 쓸 뿐이라 기능은 구현하지만 아는건 하나도 없는거 같습니다

    : 공부하세요. 정말 어린생각이라는 생각밖에 안드는 말이네요. 아는것도 없으시고.

    남이 만든것만 가져오시면서 '에이 뭐야 api만 가져오면되네?' 라고 생각하시는게 정말 할말이없네요.

    얼마나 해보셨다고 혼자 단정짓는지 모르겠는데. 자기가 어떻게 하느냐에 따라서 java건 c건

    할수있는건 무궁무진해집니다. 6개월동안 따라가기 급급하셔서 배워놓고 원래 이런건가? 하시는건

    정말 철없다는 말밖에 드릴게없네요.


    2. 위와같은 과정이 반복되는건 너무 싫습니다.

    그럼 어떤걸 하고싶나요? 그렇게라도 할수있는게 좋은건데 그걸 이해못하시다니 ..

    그게 싫으시면 밤새시면서 공부하셔서 api 안가져오고 하드코딩 하시면됩니다.

    사람들이 무조건 저렇게 해라라고 말하는게 아니고. 님 수준이 바로 혼자 척척 할수 있는 수준이

    아니니까 6개월 배우는곳에서도 저렇게라도 해라라고 알려주는겁니다.


    3. 초보라서 느끼는 감정인가요? 아니면 원래 자바 프로그래밍이란 이런걸까요?

    그냥 자신감이 없어서 느끼는 감정입니다. 이 일에대한 자신감도없고. 실력도 자신없고. 뭘 해야할지는

    모르겠고. 그러니까 현재 하려는 일에 비판부터 하고 시작하는거죠. 저랑 친한 동생도 이일에

    자신감이없어서 그만두었는데. 그 애도 처음에는 열심히하다 점점 따라가기 힘들어서 다른길로 갔습니다.

    자기 스스로 어느정도 프라이드는 있어야 들느낄것 같네요.


    4. c나 c++을하면 좀 다를까요?

    자신감을 얻으실거라면 하셔도 좋습니다. 하지만.  모르겠네요. 배우는것도 하는것도 자기

    하기 나름이니까.. 드릴 말씀이없네요

  • 로그인을 하시면 답변을 등록할 수 있습니다.