목차
<서 론>
<본 론>
1. 자바의 유래
2. 자바의 특징
3. 자바의 플랫폼
4. 자바 프로그램의 유형
5. 자바와 닷 넷은 무엇이 다르고 무엇이 같다는 것일까?
6. 자바와 C/C++언어는 무엇이 다른가?
7. 자바 프로그램 개발 도구
8. 자바 활용분야
<결 론>
자바에 대한 생각들과 앞으로의 자바 전망에 관하여...
참고) c/c++과의 비교에서
참고) 닷 넷과의 비교에서..
<본 론>
1. 자바의 유래
2. 자바의 특징
3. 자바의 플랫폼
4. 자바 프로그램의 유형
5. 자바와 닷 넷은 무엇이 다르고 무엇이 같다는 것일까?
6. 자바와 C/C++언어는 무엇이 다른가?
7. 자바 프로그램 개발 도구
8. 자바 활용분야
<결 론>
자바에 대한 생각들과 앞으로의 자바 전망에 관하여...
참고) c/c++과의 비교에서
참고) 닷 넷과의 비교에서..
본문내용
위한 클라이언트 프로그래밍 부분에서는 부족하다는 의견이 많다. 서버의 경우에는 성능과 안정성이 중요하지만 클라이언트의 경우 사용자 인터페이스가 더욱 중요한 것이 사실이다. 그만큼 사용자들은 빠른 속도를 요구하는데 자바는 아직은 이러한 기대에 부응하지 못하는 것 같다. 자바는 JVM상에서 프로그램이 돌아간다. 보통 C등의 언어로 프로그램을 짜서 컴파일 하면 기계어로 바뀌어 실행할 때 기계어 그대로 실행하면 되는 반면 자바는 기계어로 바뀌는 것이 아니라 먼저 자바 컴파일러에 의해 바이트코드로 바뀌고 실행하면서 JVM이 바이트코드를 기계어로 한 줄씩 번역하면서 실행하기 때문에 단계를 하나 또 거치면서 느려진다. 물론 다른 언어들에 비해서 속도가 느리다는 이유 하나만으로 자바를 낮게 평가할 수는 없다. 현재 자바의 속도면 에서 뒤지는 부분들을 보완하기 위해서 많은 연구가 진행 중이고, 기존의 최적화 되지 않았던 라이브러리를 최적화 하는 작업에 더 많은 시간을 할애하고 있다면서 썬사는 자바가 충분히 더 빨라질 여지가 있다고 확신하고 있다고 말한다.
자바의 속도문제가 많이 언급되고 있긴 하지만 자바의 특성상 어느 정도는 어쩔 수 없는 부분인 것도 같다. 하지만 예전에는 컴퓨터가 느린 관계로 프로그램의 실행속도가 큰 비중을 차지했었고 점차 빨라지는 하드웨어에 발전과 함께 프로그램에 있어서 실행속도가 차지하는 비중은 하드웨어의 발전에 반비례하여 낮아지고 있다고도 할 수 있다. 물론 실행속도는 결코 무시할 수 있는 부분이 아니지만, 그만큼 언어가 가지는 장점에 따른 높은 생산성이 속도만큼 중요한 부분이 되었다고 볼 수 있다.
예를 들어 어셈블리 언어는 C/C++언어보다 실행속도가 빠름에도 불구하고 게임 등을 만듦에 있어서 어셈블리 언어보다는 C/C++의 언어를 더 많이 사용한다. 이는 실행속도만큼 일의 생산성도 중요하다는 것을 말해주는 것은 아닐까? 현재 자바의 개발자들은 속도가 느리다는 것을 알고 속도를 빠르게 하기 위한 연구를 하고 있을 것이다. 더불어 자바라는 언어가 가진 장점을 부각시켜서 생산성 또한 높인다면 다른 언어보다 약간 속도가 느리다고 해도 충분히 만회가 되는 부분이 아닐까? 하고 생각한다.
또한 자바가 처음부터 지금까지 고집을 꺽지 않고 주장하는 WORE(Write Once, Run Everywhere)은 플랫폼의 독립성이라는 말로 대치될 수 있는데 이러한 자바의 플랫폼 독립성에 대하서는 좀 더 생각해봐야 할 필요성을 느꼈다.
자바가 이식성이 좋다하고 하는데 그 이유가 자바 가상 머신이 있기 때문이다. 하지만 가상머신이 없으면 자바는 동작 자체를 할 수가 없다. 그리고 개발을 하다보면 각 플랫폼의 가상 머신에 따라 다르게 동작하는 경우도 있고, 특정 플랫폼의 가상 머신에서는 다른 가상 머신에는 있는 기능을 제공하지 않는 경우도 있다. 그렇다면 SUN사가 부르 짓는 'Write once, run everywhere' 는 '한번 짜놓으면, 가상머신이 제공되는 어느 곳에서나 동작한다.'는 말로 수정되어야 하지 않을까? C++을 만든 Bjarne Stroustrup의 말대로 어쩌면 자바라는 언어는 JVM이라는 플랫폼에 아주 강하게 묶여 있는 언어일 수도 있다. 그러나 그렇다고 해도 SUN 에서 다양한 플랫폼에서의 가상머신을 제공하고 있다는 점이 바로 자바의 다른 언어와 차별화 된 커다란 장점이기에 약간의 모순도 눈감아 줄 만 하다.
지금까지 자바라는 언어의 역사와 특징, 다른 언어와의 비교, 활용분야와 전망과 자바에 대한 생각 등을 정리해보았다. 자바라는 언어를 치켜세운다기보다는 여러 프로그램 언어의 한 종류로서의 자바를 소개하는데 그 목적이 있었음을 밝히는 바이다. 프로그래밍 언어라는 것은 프로그램을 하는데 필요한 도구로 어떤 언어가 더 우월하고 열등한지를 겨루기보다는 프로그램언어라는 도구에 대한 객관적인 평가를 하고 그에 따른 적절한 활용이 가장 중요하다. 자바에 관해 알아보면서 자바 또한 여느 언어와 마찬가지로 100% 완전한 완벽한 언어는 아님을 알 수 있었다. 하지만 미흡한 부분이 보일지라도 그 부분을 부각시켜 나쁘게 몰기보다는 장점은 장점 그 자체로 활용하고 끊임없는 개발과 단점개선에 대한 노력으로 자바라는 언어가 앞으로 지금보다 다양한 분야에서 활용되어지리라고 믿어 의심치 않는다. 아직도 자바의 앞날은 밝다.
클릭하세요 자바 - 정의현 김성진 공저 2002. 8 대림출판사
JAVA 소프트웨어 솔루션 - John Lewis, William Loftus 공저 2002.2 영한출판사
java.sun.com
www.javasoft.com
==========================================================================
참고) c/c++과의 비교에서
이러한 단순함을 가지면서도 C/C++에서 제공되지 않는 가비지 컬렉션(Garbage Collection), 쓰레드 동기화, 풍부한 클래스 라이브러리 등 추가적인 기능을 제공한다.
자동적인 쓰레기 수집 기능은 메모리 관리를 위해 사용자가 일일이 free 선언을 해야
하는 불편함을 해소했으며, Xerox CeDAr/Mesa에서 따온 쓰레드 동기화는 멀티쓰레드 프로
그램을 더욱 간단히 구성하도록 도와준다. 또한 구문 자체가 단순해진 반면, 사용자 인터
페이스, 그래픽, 네트워크 등을 지원하는 풍부한 클래스 라이브러리를 지원함으로써 사용
자가 직접 프로그램 해야 하는 번거로움을 많이 줄여준다.
참고) 닷 넷과의 비교에서..
자바에 대응하기 위한 MS의 새로운 기술이자 전략인 닷 넷이 등장하면서 자바와 닷 넷에 대한 논쟁은 여기저기서 있어 왔다. 하지만 MS와 썬의 정책적이고 마케팅 적인 전략에 휘말려 소모적인 논쟁을 벌여왔던 것도 사실이다.
자바는 커뮤니티 중심으로 자발적인 개발자 인프라 구축하고 있는 것 같다. 이는 자바가 공개되어 있어 가능하다고 여겨진다.
자바는 솔루션을 제공하는 회사가 여러 개가 있으므로 한 회사가 독점적인 지위를 누리지 못한다는 점은 좋았다.
그러나 개발환경에 대한 변화와 선택을 강요받는 것은 마이크로소프트의 개발환경보다 더 심할 것 같다.
자바의 속도문제가 많이 언급되고 있긴 하지만 자바의 특성상 어느 정도는 어쩔 수 없는 부분인 것도 같다. 하지만 예전에는 컴퓨터가 느린 관계로 프로그램의 실행속도가 큰 비중을 차지했었고 점차 빨라지는 하드웨어에 발전과 함께 프로그램에 있어서 실행속도가 차지하는 비중은 하드웨어의 발전에 반비례하여 낮아지고 있다고도 할 수 있다. 물론 실행속도는 결코 무시할 수 있는 부분이 아니지만, 그만큼 언어가 가지는 장점에 따른 높은 생산성이 속도만큼 중요한 부분이 되었다고 볼 수 있다.
예를 들어 어셈블리 언어는 C/C++언어보다 실행속도가 빠름에도 불구하고 게임 등을 만듦에 있어서 어셈블리 언어보다는 C/C++의 언어를 더 많이 사용한다. 이는 실행속도만큼 일의 생산성도 중요하다는 것을 말해주는 것은 아닐까? 현재 자바의 개발자들은 속도가 느리다는 것을 알고 속도를 빠르게 하기 위한 연구를 하고 있을 것이다. 더불어 자바라는 언어가 가진 장점을 부각시켜서 생산성 또한 높인다면 다른 언어보다 약간 속도가 느리다고 해도 충분히 만회가 되는 부분이 아닐까? 하고 생각한다.
또한 자바가 처음부터 지금까지 고집을 꺽지 않고 주장하는 WORE(Write Once, Run Everywhere)은 플랫폼의 독립성이라는 말로 대치될 수 있는데 이러한 자바의 플랫폼 독립성에 대하서는 좀 더 생각해봐야 할 필요성을 느꼈다.
자바가 이식성이 좋다하고 하는데 그 이유가 자바 가상 머신이 있기 때문이다. 하지만 가상머신이 없으면 자바는 동작 자체를 할 수가 없다. 그리고 개발을 하다보면 각 플랫폼의 가상 머신에 따라 다르게 동작하는 경우도 있고, 특정 플랫폼의 가상 머신에서는 다른 가상 머신에는 있는 기능을 제공하지 않는 경우도 있다. 그렇다면 SUN사가 부르 짓는 'Write once, run everywhere' 는 '한번 짜놓으면, 가상머신이 제공되는 어느 곳에서나 동작한다.'는 말로 수정되어야 하지 않을까? C++을 만든 Bjarne Stroustrup의 말대로 어쩌면 자바라는 언어는 JVM이라는 플랫폼에 아주 강하게 묶여 있는 언어일 수도 있다. 그러나 그렇다고 해도 SUN 에서 다양한 플랫폼에서의 가상머신을 제공하고 있다는 점이 바로 자바의 다른 언어와 차별화 된 커다란 장점이기에 약간의 모순도 눈감아 줄 만 하다.
지금까지 자바라는 언어의 역사와 특징, 다른 언어와의 비교, 활용분야와 전망과 자바에 대한 생각 등을 정리해보았다. 자바라는 언어를 치켜세운다기보다는 여러 프로그램 언어의 한 종류로서의 자바를 소개하는데 그 목적이 있었음을 밝히는 바이다. 프로그래밍 언어라는 것은 프로그램을 하는데 필요한 도구로 어떤 언어가 더 우월하고 열등한지를 겨루기보다는 프로그램언어라는 도구에 대한 객관적인 평가를 하고 그에 따른 적절한 활용이 가장 중요하다. 자바에 관해 알아보면서 자바 또한 여느 언어와 마찬가지로 100% 완전한 완벽한 언어는 아님을 알 수 있었다. 하지만 미흡한 부분이 보일지라도 그 부분을 부각시켜 나쁘게 몰기보다는 장점은 장점 그 자체로 활용하고 끊임없는 개발과 단점개선에 대한 노력으로 자바라는 언어가 앞으로 지금보다 다양한 분야에서 활용되어지리라고 믿어 의심치 않는다. 아직도 자바의 앞날은 밝다.
클릭하세요 자바 - 정의현 김성진 공저 2002. 8 대림출판사
JAVA 소프트웨어 솔루션 - John Lewis, William Loftus 공저 2002.2 영한출판사
java.sun.com
www.javasoft.com
==========================================================================
참고) c/c++과의 비교에서
이러한 단순함을 가지면서도 C/C++에서 제공되지 않는 가비지 컬렉션(Garbage Collection), 쓰레드 동기화, 풍부한 클래스 라이브러리 등 추가적인 기능을 제공한다.
자동적인 쓰레기 수집 기능은 메모리 관리를 위해 사용자가 일일이 free 선언을 해야
하는 불편함을 해소했으며, Xerox CeDAr/Mesa에서 따온 쓰레드 동기화는 멀티쓰레드 프로
그램을 더욱 간단히 구성하도록 도와준다. 또한 구문 자체가 단순해진 반면, 사용자 인터
페이스, 그래픽, 네트워크 등을 지원하는 풍부한 클래스 라이브러리를 지원함으로써 사용
자가 직접 프로그램 해야 하는 번거로움을 많이 줄여준다.
참고) 닷 넷과의 비교에서..
자바에 대응하기 위한 MS의 새로운 기술이자 전략인 닷 넷이 등장하면서 자바와 닷 넷에 대한 논쟁은 여기저기서 있어 왔다. 하지만 MS와 썬의 정책적이고 마케팅 적인 전략에 휘말려 소모적인 논쟁을 벌여왔던 것도 사실이다.
자바는 커뮤니티 중심으로 자발적인 개발자 인프라 구축하고 있는 것 같다. 이는 자바가 공개되어 있어 가능하다고 여겨진다.
자바는 솔루션을 제공하는 회사가 여러 개가 있으므로 한 회사가 독점적인 지위를 누리지 못한다는 점은 좋았다.
그러나 개발환경에 대한 변화와 선택을 강요받는 것은 마이크로소프트의 개발환경보다 더 심할 것 같다.
추천자료
인도네시아의 개관, 인도네시아의 경제, 종교, 사회, 문화, 인도네시아의 노동운동, 인도네시...
외국인에게 주목받는 한국문화
JSP프로그래밍 교재전범위 핵심요약노트
소프트웨어와 하드웨어
기즈모와 프로토타입의 이해
2013년 하계계절시험 JSP프로그래밍 시험범위 핵심체크
2014년 2학기 JSP프로그래밍 기말시험 핵심체크
2014년 2학기 JSP프로그래밍 교재 전 범위 핵심요약노트
2015년 2학기 JSP프로그래밍 교재 전 범위 핵심요약노트
2015년 2학기 JSP프로그래밍 기말시험 핵심체크
2016년 하계계절시험 JSP프로그래밍 시험범위 핵심체크
2016년 2학기 JSP프로그래밍 기말시험 핵심체크
2016년 2학기 JSP프로그래밍 교재 전 범위 핵심요약노트
2017년 2학기 JSP프로그래밍 교재 전 범위 핵심요약노트
소개글