https://book.naver.com/bookdb/book_detail.nhn?bid=21380986
1일 1로그 100일 완성 IT 지식
복잡한 IT 세상을 선명하게 읽는 디지털 문해력 기르기 챌린지IT 지식은 분명 복잡하지만 인생처럼 혼잡하지는 않다. 필요한 지식을 습득하면 막연한 불안감에서 벗어나 디지털 지구가 제시하는
book.naver.com
041 자바스크립트와 파이썬
자바스크립트, 파이썬 두 프로그램 모두 아마추어 또는 전문 프로그래머 사이에서 널리 사용된다. 초보자 수준에서 배우기 쉽고 , 더 큰 프로그램으로 확장하기에도 용이하고, 폭넓게 적용 가능하다.
자바스크립트 ( Javascript)
정적인 HTML을 동적으로 표현하기 위해 도입 HTML, CSS와 함꼐 웹을 구성하는 요소 중 하나로 웹 브라우저에서 동작하는 유일한 프로그래밍 언어이다.
- 별도의 컴파일 작업이 수행되지 않는 인터프리터 언어다.
- 멀티 패러다임 프로그래밍 언어 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 모두 지원한다.
- 모든 브라우저의 표준 프로그래밍 언어
Node.js
브라우저 이외의 환경에서 자바스크립트를 동작시킬 수 있는 실행환경.
서버 사이드 어플리케이션 개발에서도 자바스크립트를 사용할 수 있게 됨.
파이썬 (Python)
가독성이 높고 쉬운 문법으로 다른 프로그래밍 언어보다 빠른 습득이 가능하다는 특징이 있다. 파이썬은 컴파일 과정 없이 인터프리터(Interpreter, 해석기)가 소스 코드를 한 줄씩 읽어 들여 곧바로 실행하는 **스크립트 언어(Script language)**입니다. 그 때문에 컴파일 과정이 필요하지 않아 실행 결과를 바로 확인하고 수정하면서 손쉽게 코드를 작성할 수 있습니다.
- 다양한 플랫폼에서 쓸 수 있고, 라이브러리(모듈)가 풍부
- 유니코드 문자열을 지원하여 다양한 언어의 문자 처리
- 들여쓰기를 사용하여 블록을 구분하는 문법 채용
- 다른 언어로 쓰인 모듈들을 연결하는 언어
042 프로그래밍 언어의 주요 개념
프로그래밍 언어 정의
기계(컴퓨터)에게 명령이나 연산을 시킬 목적으로 설계되어 기계와 의사소통을 할 수 있게 해주는 언어이다. 소프트웨어를 만드는데 기본이 되고, 이 소프트웨어는 논리 연산의 집합이기 때문에 수리 언어의 일종으로 보는 시각도 있다.
프로그래밍 언어 분류 방식
- 저수준, 고수준에 따른 분류 저수준 언어 : 기계가 이해하기에 쉬운 언어 고수준 언어 : 개발자가 소스 코드를 작성할 때 쉽게 이해할 수 있도록 작성된 언어
- 패러다임에 따른 분류
- 명령형 언어 컴퓨터에 저장된 명영어들이 순차적으로 실행되는 프로그래밍 방식(절차형 언어) ex) FORTRAN, COBOL, PASCAL, C
- 객체지향 언어 객체 간의 메시지 통신을 이용하여 프로그래밍하는 방식 ex) JAVA, C++
- 함수형 언어 수학적 수식과 같은 함수들로 프로그램을 구성하여 호출하는 방식 ex) LISP
- 논리형 언어 논리 문장을 이용하여 프로그램을 표현하고 계산을 수행하는 개념에 기반한 방식 ex) 프롤로그
- 구현 기법에 따른 분류
- 컴파일 방식의 언어 고급 언어를 기계어로 번역하는 방식의 언어 컴파일러에 의해 실행에 필요한 정보가 미리 계산되어 실행 속도가 높음 ex) FORTRAN, PASCAL, C, C++
- 인터프리터 방식의 언어 고급 언어 명령문을 하나씩 번역하고 실행하는 방식의 언어 프로그램 실행과 동시에 동작 ex) BASIC, 프롤로그, LISP, 자바스크립트, 파이썬
- 혼합형 방식의 언어 고급 언어를 컴파일하여 중간 언어로 변환한 후, 인터프리터에 의해 번역을 실행하는 방식 ex) JAVA
구문 규칙(Syntax), 의미 체계(Semantics)
프로그래밍 언어는 구문과 의미로 구성된다. 모두 자연어로 기술 될 수 있으며, 실제로 프로그래밍 언어 초창기에는 영어 표현으로 기술 했다. 언어 의미는 아직까지도 대부분 영어로 기술되는 반면, 구문은 거의 초창기부터 사용되고 있는 형식 시스템이 제공된다.
구문 규칙
구문은 언어의 구조 또는 문법에 관한 것이다. 모든 언어에는 문장이 제대로 구성되었는지 여부를 정의하는 규칙이 있다. 프로그래밍 언어도 마찬가지다.
ex) C 언어 구문 규칙
- 세미콜론으로 구분 된 문
- IF 문의 조건식을 괄호로 묶는다
- 중괄호로 묶어 여러 문을 하나의 문으로 그룹화
- 데어터 유형 및 변수는 첫 번째 실행 가능 명령문 이전에 선언되어야 한다.
의미 체계
문법에 맞는 형식을 취했을 때 그 문법이 하는 일, 의미
ex)
System.out.print(”Hello, World”); ← JAVA
구문 : System.out.print(”내용”);
의미 : “내용”을 콘솔창에 출력한다. 예시의 경우 Hello, World
console.log(”Hello, World”); ← Javascript
구문 : console.log(”내용”);
의미 : “내용”을 콘솔창에 출력한다. 예시의 경우 Hello, World
언어가 달라 문법은 다르지만 그 문법이 하는 일(의미)는 같다.
프로그래밍 오류
- Syntax Error(구문적 오류)
프로그래밍 언어의 문법적인 에러를 말한다. 컴파일 과정에서 나오는 것들이며, 구문 오류, 컴파일 타임 에러라고도 한다. 예를 들어, 키워드를 잘못 작성하거나, 구두점을 빠뜨리거나, 괄호를 연 후 닫지 않는 것과 같은 경우를 말한다.
문법 오류는 보통 컴파일러가 어떤 줄에서, 어떤 이유로 발생했는지 알려주기 때문에 해결하기 쉬운 편이다.
- Runtime Error(실행 오류)
프로그램 실행 중 발생하여 프로그램이 비정상적으로 종료되게 하는 오류를 말한다. 프로그램이 실행되는 중 실행할 수 없는 연산을 만나면 발생하는 오류이다.
대표적인 런타임 에러로는 잘못된 입력이 있는 경우 발생하는 입력오류가 있다.
- Semantic Error(의미적 오류)
프로그래밍 언어의 문법은 정상적이지만 실행의 결과가 원하는 대로 나오지 않는 오류을 말한다. 문법적으로는 옳기 때문에 컴파일 오류는 나타나지 않지만, 의도하지 않은 결과가 나온다는 점에서 문제가 된다.
컴파일러가 오류를 잡아주지 않아 사람이 검출해야 해서 다른 오류보다 수정이 어렵다.
<참조 사이트>
http://daplus.net/syntax-프로그래밍-언어에서-구문과-의미의-차이점은-무/ [syntax] 프로그래밍 언어에서 구문과 의미의 차이점은 무엇입니까?
https://codesyun.tistory.com/78 프로그래밍 언어에서 Error의 종류. Syntax와 Semantics의 차이
https://velog.io/@hanblueblue/JavaScript-1.-기본-지식 [JavaScript] 1. 기본 지식
https://jjinfotech.tistory.com/21 파이썬 언어의 특징
조원 블로그 : https://real-coding.tistory.com/
'항해99 > CS 스터디' 카테고리의 다른 글
[5주차] 소프트웨어 47, 51강 자바스크립트는 어떻게 작동할까? / (0) | 2022.06.19 |
---|---|
[5주차] 통신 60 ~ 61강 ZIP파일로 압축할 때 / 오류를 검출하고 수정하는 알고리즘 (0) | 2022.06.16 |
[4주차] 소프트웨어 38 ~ 39강 브라우저의 수행 기능 / 소프트웨어의 계층 구조 (0) | 2022.06.11 |
[4주차] 소프트웨어 36 ~ 37강 파일 시스템과 블록 / 파일을 휴지통에 넣을 때 일어나는 일 (0) | 2022.06.09 |
[4주차] 소프트웨어 34 ~ 35강 가상 운영체제와 가상 머신 / 운영체제가 일하는 법 (0) | 2022.06.09 |