목록프로그래밍 강의 (43)
컴굥일지
1. 프로그래밍 언어의 분류 기준 1) 객체 지향인가? 2) 코드에 자료형을 명시하는가? (Dynamic typing/Static typing) 3) 컴퓨터와 가까운가 인간과 가까운가? (Low-level/High-level) 2. Low-level VS High-level 1) Low-level - 컴퓨터와 가까운 언어, 추상화가 적게 되어있다. (추상화 : 몰라도 되는 내용은 숨기고, 꼭 알아야 할 내용만 드러내는 것) - 컴퓨터가 사용하는 언어는 Machine Language이다. - 자료형을 명시하는 C, JAVA 등은 Python, Ruby보다 컴퓨터와 가깝다. (컴퓨터가 이해하기 더 쉬우니까) - 기계어, 어셈블리 언어, C 등이 있다. 2) High-level - 인간과 가까운 언어, 추상화..
1. Dynamic typing - 변수의 자료형을 정해주지 않는 언어들을 Dynamic typing 언어라고 부른다. 변수의 자료형은 코드가 실행될 때 정해진다. - 간결하고 편리한 것이 특징이기 때문에, 컴퓨터적 구조가 생략되는 경우가 많다. => 코딩 속도가 빠르지만 실행 속도가 느리다. - 문법이 간결하고 코드에 어려운 표현이 적기 때문에 코드 내용과 로직을 파악하기가 쉬우며 배우기 쉽다. => 혼자서 빠르게 하는, 작고 단순한 프로젝트에 적합하다. (실행 속도가 민감하지 않은 프로젝트에 적합) -Python, Ruby, Javascript, PHP, Perl 등이 있다. 2. Static typing - 변수의 자료형을 정해주는 언어들을 Static typing 언어라고 부른다. 변수의 자료형을..
1. 객체 지향 프로그래밍 - JAVA, C++, C#, Python, Ruby 등의 언어가 있다. 1) 장점 -전체를 부분 부분으로 나누어 코딩하기 때문에, 수정 사항이 발생하더라도 관련된 객체만 고치면 된다. -전체를 완성할 필요 없이, 일부만으로도 기능을 테스트할 수 있다. -의미를 이해하기 쉬우며, 한 번 만들어둔 객체는 재사용하기가 쉽다. => 규모가 큰 프로젝트나 다량의 데이터를 다루는 프로그램에서 객체지향을 사용하면 좋다. 2) 단점 - 코드 작성 이전에 설계가 필요하며, 설계하는 것이 어렵다. - 사람이 이해하고 작성하기 편한 방식으로 코딩이 되어 있어, 컴퓨터의 처리 속도가 느려지거나 저장 공간 사용이 늘어나기도 한다. => 속도가 빨라야 하거나 저장 공간이 크지 않은 장치들(ex 냉장고..