Difference between revisions of "컴퓨터프로그래밍및실습 (2022년)/오리엔테이션"

From DISLab
Jump to navigation Jump to search
Line 18: Line 18:
* 어떤 프로그래밍 언어가 널리 사용되는가?
* 어떤 프로그래밍 언어가 널리 사용되는가?


https://en.wikipedia.org/wiki/Java_(programming_language)#/media/File:Tiobeindex.png
https://upload.wikimedia.org/wikipedia/commons/f/f8/Tiobeindex.png


== Java ==
== Java ==

Revision as of 22:57, 17 July 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는 객체지향언어입니다.

프로그래밍 언어

  • 어떤 프로그래밍 언어가 널리 사용되는가?

Tiobeindex.png

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이 동작 안함)

설계 원칙

  1. It must be simple, object-oriented, and familiar.
  2. It must be robust and secure.
  3. It must be architecture-neutral and portable.
  4. It must execute with high performance.
  5. It must be interpreted, threaded, and dynamic.

Wikipedia에서 참조