컴퓨터프로그래밍및실습 (2022년)/오리엔테이션
오리엔테이션
- 대상 : 정보통신공학과 1학년
- 교재 : 이것이 자바다 (신용권 저) 한빛미디어, 2015년
- 참고 자료
- The C Programming Language (Brian W. Kernighan, Dennis Ritchie) 1978(1st ed.) 1988(2nd)
- The C++ Programming Language (Bjarne Stroustrup) 1985(1st ed.) 2013(4th)
- The Java Programming Language (Ken Arnold, James Gosling) 1996(1st ed.) 2005(4th)
컴퓨터 프로그래밍은 중요한가?
- 정보통신공학과 학생이라면 모두 프로그래밍을 잘 할 수 있어야 합니다.
- 프로그램은 다른 모든 작업을 할 때의 기본 도구입니다.
- 이 도구를 능숙하게 다룰 줄 알아야 유능한 엔지니어가 됩니다.
- 본 수업에서는 Java를 통하여 프로그래밍을 배웁니다.
- 프로그래밍은 머리 뿐만 아니라 몸으로 익히는 것입니다.
- Java는 객체지향언어입니다.
프로그래밍 언어
- 어떤 프로그래밍 언어가 널리 사용되는가?
Java
Java 언어의 특징
- High-level, class-based, object-oriented programming language
- Write once, run anywhere (WORA)
- Java Virtaul Machine (JVM)
- bytecode (compile 된 기계어 코드)
- C, C++와 비슷한 문법
- Dynamic capabilitites
- Reflection
- Runtime code modification
개발
- Sun Microsystems에 근무하고 있던 James Gosling에 의해 개발됨
- Sun이 Oracle에 인수됨
역사
- 1991년 James Gosling이 interactive television에 사용할 언어로 개발되기 시작함
- Oak (Gosling의 마당에 있던 나무) -> Green -> Java (인도네시아의 자바 커피에서 이름을 따옴)
- 1996년 Java 1.0 발표
- Write once, run anywhere (compile된 후 어느 기계에서나 실행될 수 있도록)
- Java SE (standard edition), Java EE (enterprise edition), Java ME (micro edition)
- 2006년. Sun은 JVM을 GPL 2.0 라이센스로 공개 (free & open-source software)
- 2009년. Oracle이 Sun을 인수하면서 Java 기술도 인수함
- 2016년. JDK 9부터 browser plugin 중단 (그러므로 Stanford Karel이 동작 안함)
설계 원칙
- It must be simple, object-oriented, and familiar.
- It must be robust and secure.
- It must be architecture-neutral and portable.
- It must execute with high performance.
- It must be interpreted, threaded, and dynamic.