자바 프로그래밍 하시는분?

park712의 이미지

자바는 c 와 c++를 기반으로 하고 있는데
자바 하시는분은 c 와 c++를 모두 마스터 하고 하시나요?
이 사이트 오면서 느낀게 학생이 많더군요.
가급적이면 관련분야 직장인(실무종사자) 답변해
주시면 감사합니다.
얼머전에도 질문 올렸는데 저도 웹프로그램을 알고 싶어서요.

익명 사용자의 이미지

park712 wrote:

...
관련분야 직장인(실무종사자) 답변해
주시...

지식이야 알면 다다익선이오만, 업자라면, 자바만 알아도 되오.
자바도 할거 아주 많소이다.

park712의 이미지

예상한 댓글이군요.
많이 알면 좋지만..
실무인들의 의견을 들어 보려고 하는 것입니다.
과연 실무 종사자들은 자바로 업무할때 c c++ 를 어느정도
이해하고 하는가 해서요.

후회없이 살자

익명 사용자의 이미지

수학과에가서 '너 미적분 할줄 알아?' 라는 질문과 같은게 아닐까요?

IsExist의 이미지

c, c++ 몰라도 됩니다. 알면 오히려 방해 될경우도 있습니다.

c, c++ 짜던 습관이 배기 때문이죠.

언어에 익숙해지려면 그 언어의 철학이나 패러다임에 흐뻑 적셔
있어야 합니다.

---------
간디가 말한 우리를 파괴시키는 7가지 요소

첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스

이익추구를 위해서라면..

다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치

익명 사용자의 이미지

자바를 할 줄 아냐라는 것과...

웹 프로그래밍 쪽이라 하시면.. 글쎄요.

웹프로그램을 하려면 뭐.. PHP, ASP등도 있고 Java servlet쓸 수도 있고 쓸거 많습니다. 그냥 편한거 택하셔서 서버구성하고 DB하나돌려도 웹 프로그래밍을 할 만 한거 같구요.

자바를 할 줄 아느냐? 라는 질문은 글쎄요. 특히나 질문의 주제인 자바를 하면 C나 C++을 마스터 하고 있느냐.. 라는 질문에는..

아니지 않을까요? C만 해도 사실 무지하게 문법도 많고 배울 것도 많구요. C++또한 굉장히 많구요. 지금까지 C나 C++을 마스터했다는 사람자체를 제 주위에서 본 적이 없습니다. 고수님들께서 짠 코드는 언제나 경이롭더군요.

Java로 실무를 처리할 때도 있지만 C++이나 C에 대한 이해가 그리 깊다고는 느끼지 않습니다. 그리고 통상적으로 업무와 연관을 짓게 되면 그 업무적인 내용을 완료하는데에 중점을 두게 되지 언어는 그리 중요한게 아닙니다.

C나 C++보다는 오히려 OOP를 잘 아나고 물어봐야 할 테구요. 음.. 대충 개념정도는 잡고 업무를 진행한다고 생각되네요.

이정도면 답변이 되었을런지 모르겠습니다. 도움되시길...

pool007의 이미지

아직 학생이지만..
저는 자바스터디, j2eestudy 등에서 부운영자 활동을 하고 있어요.
그러니 약간의 도움이 되실지도.

제 경우엔 자바라는 언어가 처음에 컴퓨터를 접할 때는 없었기 때문에..
아마 88년 정도부터 C를 한거 같은데요.. 그리고 절정에 달한건
96년이고 이때까지 내내 C만 하면서, 대학 입학(97년)까지
C만 했죠..

특별히 라이브러리 등에대해 잘 알지는 못하고, 리눅스 프로그래밍이라고
해도 기초적인 것만 할줄 알지만 (가령 멀티 쓰레드 만들어서 서버 만들기나
그런 것들을 일일히 메뉴얼 찾아가며 만들정도), 언어 자체에 대해서는
매우 능숙하다고 생각하고요.

JAVA는 시작한지 몇년안되었는데, 아마 00년부터 시작했고, 제가 생각하는
대로 코드를 쓸 수 있어요. 그러니까 생각만하면 코딩은 손이 알아서..

C++은 96년에 잠시 했었는데, 그 때 당시엔 커뮤니티가 전체적으로
OOP가 뭔지 이해하는 수준에 오르지 않았기 때문에 (지금과는 다르죠),
마구 헤메다가 자바를 하면서 OOP의 개념을 잡고 지금은 오히려 거꾸로
C++로 가고 있습니다.

웹 프로그래밍은 하다보면 금방 배우고 별로 할게 많은건 아니예요..
한 1년정도 공부하고 6개월정도 회사다니면 그다음부터 발전을 기대하기
힘듦...

그리고 자바는 원래 좀 이상한게 자바만으로 모든 걸 다하려는 성향이 있어서
사실 C나 C++을 할 기회도 없고 관심도 없죠.. 하지만 잘해두면 무척이나
도움되는게 모바일을 하게 되면 J2ME를 할텐데 그러다보면 당연히
BREW 같은데도 관심이 가게되고.. 이럴때 C, C++을 좀 하면
무척 쉽게 배우죠. 그 언어들에서 사용하는 API 집합같은거니까요.

C는 거의 모든 사람이 거쳐가는 관문 같은데요.. 특히나 자바 이전에
시작한분들에게는요.

--
Passion is like genius; a miracle.

park712의 이미지

모두 감사합니다.
제가 아주 오래전에 자바 몇개월 공부해 보고
한국에 자바 책 하나 없고 자바 라는 용어도 대부분 모를때 접해보고
(당시 pc통신 커퓨니티에서 앞으로 없어질지 모르는 언어다 그러면서)
지금 웹 프로그램쪽으로 해야 되는거 아닌가 하고 질문 올린것입니다.
당시에는 자바가 pc에서 돌릴려면 가상 머신 위에서 돌렸는데
요즘 어떻게 되는지 모르고해서요.
c++에서 더 발전된 언어다
객체지향이며 불필요한 코드를 제거한거다 라는 개념만 있고요..
그래서, 과연 c와 c++를 어느정도 알고해야 하는가 해서요..
지금 생각하지만 자바가 이렇게 한 축을 이룰줄 생각도 못했네요
요즘 웹프로그램 메카니즘을 조금씩 공부하고 있습니다.
조금 알고 있다고 생각했는 c c++도 고수들이 만든것 소스를 보면
정말 정말 상상을 초월하더군요

후회없이 살자

익명 사용자의 이미지

전 3년차 현업 종사자입니다.

Quote:
c++에서 더 발전된 언어다

그렇지는 않습니다. 그저 종류가 다를 뿐입니다.

Quote:
자바는 c 와 c++를 기반으로 하고 있는데

그렇지 않습니다. 문법이 C/C++ 과 비슷해서 그렇게 알고 게신 분들이 많은데 실질적으로 자바는 C++ 보다는 smalltalk 의 영향을 많이 받은 언어입니다. 자바와 C++ 은 코드의 모양새만 비슷할 뿐입니다. 또 자바를 이해하지 위해서 C++ 을 알고 있어야 할 필요도 전혀 없습니다. C++ 이 자바의 기본이 된다거나 C++ 을 알아야 자바에 대한 이해가 깊어지는 것은 아닙니다. 하지만 지식은 많을 수록 좋습니다. C++ 이 아니더라도 여러 언어를 알고 있고 프로그래밍 이론에 대해 많이 안다면 당연히 자바에 대한 이해도 깊어질겁니다. 그리고 자바와 관계 없이 C++ 은 여러면에서 공부해볼만한 가치가 있습니다. 하지만 C++ 을 제대로 공부하려면 어렵습니다. 대단히 복잡하고 어려운 언어입니다. 제대로 사용하려면 상당히 많은 시간을 투자하셔야 할겁니다.

Quote:
웹 프로그램쪽으로 해야 되는거 아닌가

혹시나하는 마음에서 적습니다. 현재의 웹프로그램은 클라이언트 환경이 웹브라우저라는 것을 제외하고는 "웹-HTTP" 의 특성과 그다지 관계가 없습니다. 오히려 클라이언트-서버에 대한 일반적인 이해와 미들웨어, 분산환경 등에 대한 이해가 필요합니다. 그리고 자료구조등의 기본적인 이론과 디자인 패턴같은 이론과 실용을 연결짓는 지식이 바탕이 되어야 합니다. 딱히 웹이라고 공부해야할 내용은 별로 없습니다. 탄탄한 기본지식과 컴퓨팅 전체에 대한 일반적인 지식이 중요합니다.

feelpassion의 이미지

C나 C++몰라도 관계없습니다.
C나 C++에 대해 생각하지 마시고 JAVA만 파십시오. 그러면 깨닫게 됩니다.
안 배운 부분을 추측해서 나름대로 결론짓는 오류를 범하지 마시기 바립니다. 나중되면 오히려 더 헷갈립니다.

남으로 창을 내겠소.
밭이 한참갈이 괭이로 파고 호미론 김을 메지요.
구름이 꼬인다 갈리있소. 새들의 노래는 공으로 들으랴오.
강냉이가 익거든 와자셔도 좋소.
왜 사냐건 웃지요.

익명 사용자의 이미지

Anonymous wrote:
전 3년차 현업 종사자입니다.

Quote:
c++에서 더 발전된 언어다

그렇지는 않습니다. 그저 종류가 다를 뿐입니다.

Quote:
자바는 c 와 c++를 기반으로 하고 있는데

그렇지 않습니다. 문법이 C/C++ 과 비슷해서 그렇게 알고 게신 분들이 많은데 실질적으로 자바는 C++ 보다는 smalltalk 의 영향을 많이 받은 언어입니다. 자바와 C++ 은 코드의 모양새만 비슷할 뿐입니다. 또 자바를 이해하지 위해서 C++ 을 알고 있어야 할 필요도 전혀 없습니다. C++ 이 자바의 기본이 된다거나 C++ 을 알아야 자바에 대한 이해가 깊어지는 것은 아닙니다. 하지만 지식은 많을 수록 좋습니다. C++ 이 아니더라도 여러 언어를 알고 있고 프로그래밍 이론에 대해 많이 안다면 당연히 자바에 대한 이해도 깊어질겁니다. 그리고 자바와 관계 없이 C++ 은 여러면에서 공부해볼만한 가치가 있습니다. 하지만 C++ 을 제대로 공부하려면 어렵습니다. 대단히 복잡하고 어려운 언어입니다. 제대로 사용하려면 상당히 많은 시간을 투자하셔야 할겁니다.

Quote:
웹 프로그램쪽으로 해야 되는거 아닌가

혹시나하는 마음에서 적습니다. 현재의 웹프로그램은 클라이언트 환경이 웹브라우저라는 것을 제외하고는 "웹-HTTP" 의 특성과 그다지 관계가 없습니다. 오히려 클라이언트-서버에 대한 일반적인 이해와 미들웨어, 분산환경 등에 대한 이해가 필요합니다. 그리고 자료구조등의 기본적인 이론과 디자인 패턴같은 이론과 실용을 연결짓는 지식이 바탕이 되어야 합니다. 딱히 웹이라고 공부해야할 내용은 별로 없습니다. 탄탄한 기본지식과 컴퓨팅 전체에 대한 일반적인 지식이 중요합니다.

현재 3년차를 바라보고 있는 개발자입니다.

윗분의 의견에 동감합니다.
그리고 약간 첨가하자면 자바의 경우 IBM이나 BEA 아니면
티맥스의 제품을 베이스로 하여 프로젝트가 진행되고 있는
곳이 대부분입니다.

그런데 이런 대형 벤더의 제품들의 경우 각각의 관리기술들이
전혀 다르다는 것도 알아두셔야 합니다.

따라서 자바를 중점적으로 하고 싶다면 자바자체의 테크뿐만 아
니라 벤더사특유의 방법론들도 알아두는게 좋습니다.

PHP나 ASP의 경우 아파치 아니면 IIS로 한정되는 것과는 전혀
상황이 다르다는 것을 유념하시길 바랍니다..

물론 프로젝트에 들어가게 되면 각각의 베이스에 대한 것들은 기
본적으로 교육을 받게 됩니다만 안그런 프로젝트들도 상당합
니다.

익명 사용자의 이미지

3년차된 분들의 말씀이 맞습니다.
자바는 jsp와 서블릿만 있는건 아닙니다. :)

부끄럽지만 저도 3년차인데 저희 회사에서는 어플리케이션 서버를 직접 구축하여 납품합니다. IBM, BEA에 비하면 톰캣 3.0수준의 시스템밖에 안되지만요.

자바는 C++과 약간 유사하기는 하지만 C++기반이라 보기는 어려우며 C/C++을 몰라도 자바를 공부하는데는 큰 무리가 없습니다.
저는 C/C++을 공부해본적은 있지만 실무에서 사용해본적은 없습니다. 한마디로 별볼일 없는 실력입니다만.. 자바로 업무프로그래밍하는데 큰 어려움은 없었습니다.
자바를 하기 위해 마스터해야 할것은 C/C++이 아니라 전반적인 시스템 이론입니다. (물론 저도 아직 한참 갈길이 먼 하수입니다. haha)

Quote:
오히려 클라이언트-서버에 대한 일반적인 이해와 미들웨어, 분산환경 등에 대한 이해가 필요합니다. 그리고 자료구조등의 기본적인 이론과 디자인 패턴같은 이론과 실용을 연결짓는 지식이 바탕이 되어야 합니다. 딱히 웹이라고 공부해야할 내용은 별로 없습니다. 탄탄한 기본지식과 컴퓨팅 전체에 대한 일반적인 지식이 중요합니다.

실무에는 이게 정답!
언어만 잘한다고 실무에 강해지는건 아니랍니다.
creativeidler의 이미지

대체로 맞는 말씀이긴 하지만 Java는 C++을 기반으로 한 언어가 맞습니다. 자바 언어를 디자인한 사람들은 C++의 단점을 개선하고자하는 의도로 자바를 디자인하기 시작했고 대부분의 자바 문법은 C++을 모태로 하고 있습니다. 고슬링도 그렇게 말한 바 있구요. 간혹 자바의 가장 큰 특징이 VM 기반이라든가 가비지 컬렉션 등으로 이야기되는 경우가 있는데 언어의 정체성을 결정하는 가장 중요한 것은 문법입니다. C++이 CLR에서 돈다고 언어의 정체성이 바뀌는 것은 아닌 것처럼 말이죠.

ted78의 이미지

현업 종사자로서 그동안 만난 고수중엔 C/C++ 잘 모르는 분도 많습니다. 대부분 들여다 본 정도는 있는 분들이 많았구요, 충분한 답변이 되었으리라고 생각합니다.

나는 생각하는 갈대다?

이준의 이미지

자바하실때 C나 C++ 전혀 몰라도 상관없습니다.

단, C++을 아시면 도움이 됩니다.

왜냐면 둘다 똑같은 OOP개념이기 때문입니다.

사실 제데로 C++을 할줄 아는분이라면 Java는 따로 책을 안보고도 대충 메뉴얼만 읽는 수준에서도 프로그래밍이 가능할 정도입니다.

Java만 하셨던분도 마찬가지로 C++로의 접근이 아주 쉽습니다.

하지만 Java에는 없는 포인터가 나오기 때문에 좀 골머리를 썪힐순 있겠죠..

또한 MFC만 하셨던분중에 C++개념이 없는 분들도 자바로 넘어가기가 힘듭니다.

MFC하는사람들중에는 OOP개념도 없고 C++에 대한 개념도 없는사람들이 많습니다.

많은 개발자들이 OOP의 개념 자체가 없이 프로그램을 합니다.

언어는 단지 구현을 위한 툴일뿐 입니다.

사실 Java할라면 C++해야 해요? 라는 질문 자체가 웃긴겁니다.^^;

스페인어 잘할라면 불어 먼저 해야해요? 이런식의 질문과 비슷합니다.

스페인어와 불어는 비슷하기때문에 어떤 언어를 먼저 하면 다른 언어로의 접근이 쉬운것 뿐입니다.

하지만 영어랑 일어는 언어의 특성이 다르기때문에 영어를 안다고 해서 일어로의 접근이 쉽지 않겠죠?

즉. C언어와 Java는 OOP개념이 있고 없고의 특징이 다르기때문에 C언어를 한다고 Java에 도움이 크게 되지 않는것과 비슷한겁니다..

Java나 C++같은 OOP언어를 잘할려면 OOP의 특성을 잘 알아야 합니다.

따라서 디자인패턴이라던지 UML등을 OOP이론 등을 미리 숙지하는것이 좋습니다.

EJB라던지 기타 등등등등은.. 대부분 그런 OOP의 특성을 최대한 살리기 위한것입니다.

그리고 자바는 웹프로그램이 아닙니다. 위에 말했지만 툴일뿐입니다. 무엇을 위한 툴이냐면 자바 가상머신에서 돌아가는 바이트 코드를 생성하기 위한 객체 지향 언어 입니다.

자바 컴파일러와 환경이 무료로 배포되고.. 또한 객체지향적이라 개발과 이해가 쉽고 포인터가 없어 유지보수및 이해도 쉽고 또한 제공되는 라이브러리의 양도 상당하고 JSP라는것도 제공되어 웹상에서 사용하기 쉽기때문에 많이 이용하는것뿐이지요..

웃긴 이야기 하나 하자면

현업에서는 jsp 프로그램은 하지만 java는 못한다는사람이 수두룩 합니다...... 아주 웃기는 현상이지요..

자바는 C++에서 나왔다고들 말을 하지요.... 스몰톡 어쩌고 하기도 하고요.. 별로 중요한 이야기는 아닌것 같습니다. 어차피 지금 당장 다른 OOP언어를 만든다고 해도.. C++이나 Java랑 비슷하게 나올수 밖에 없습니다. 전혀 쌩뚱맞은 스타일의 언어가 나오면 그게 더 웃긴거죠.

그리고.. 한가지 확실한건 자바는 머신에 자유로울수 있는 코드위해 만들어진 언어입니다. 즉 IBM머신이나 Sun머신이나 어디서든지 돌아갈수 있게 하기 위한언어란겁니다. 밥통이나 냉장고 세탁기 에서도 돌아갈수 있게 하기 위해 만들어진 언어라는겁니다.

따라서 포인터의 개념을 없애버리고 목적코드를 바이트 코드로 만들어진 겁니다.

또한 어떠한 머신이든지 다 돌아갈수 있게 하기 위해서 가상머신(VM)이라는 환경을 꾸며놓고 거기서 돌아가게 만든겁니다.

결국 가상 머신은 각각의 플랫폼별로 나뉘어야 합니다만. VM만 만들어놓으면 어디서 만들어진 class든지 다 돌아가게 되는거니까^^; 개발자는 머신에 자유로워 지는거죠..

지금 아마 Java 프로세서도 개발된걸로 압니다(현재 진행사항은 잘모릅니다) java 프로세서는 VM이 아닌 하드웨어 레벨에서 Java class를 수행하는것입니다.

쓰다보니 너무 길게 되었군요^^

Hyo-Sung Lee(李曉星/Mark Lee)

KRSF Certified Inline Skate Instructor
Fitness Inline Skate Trainer
Mogul&Freeride Skier
IDOne ski rider
Cafe MogulBuddy/KoreaMogul
E-Leader(C) Programmer

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.