일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- ram
- 코딩테스트
- javascript
- Ethernet
- 네트워크
- English
- Compiler
- 논리게이트
- codingtest
- C
- network
- string
- CS50
- 프로그래머스
- 병렬 통신
- 프로그래밍
- TCP
- memory
- broardcast
- programmers
- CS
- Kakao
- Coding Test
- kakao coding test
- 메모리
- c++
- kakao입사
- logic gate
- DRAM
- 이더넷
- Today
- Total
Code Inside
[개념] 프로그래밍 언어 별 특징 본문
1. C
- 1970년대 'System Programming' 용도로 만들어짐.
- Assembly, Compiler, Text editor 같은 프로그래머 도구와 OS 까지 작성할 목적으로 만들어진 언어.
(Assembly, Compiler 가 궁금하다면 : https://hong-corin.tistory.com/20)
- 오늘날의 C 프로그램은 30 ~ 40 년 전의 코드와 거의 비슷하게 보임.
- C로 만든 프로그램
ex) Unix / Linux
2. C++
- 1980년대에 규모가 매우 큰 프로그램의 복잡성 관리를 위한 언어로 만들어짐.
- C에서 진화하여 C 프로그램의 대부분은 C++에서도 유효함. (반대는 성립하지 않음.)
- 오늘날 컴퓨터에서 사용되는 주요 프로그램 대부분은 C/C++ 로 작성됐다.
- C/C++ 로 만든 프로그램
ex) Microsoft Word / 브라우저 FireFox, Chrome, Edge
1990년대에는 Internet 과 WWW 의 성장에 대응하여 더 많은 언어가 개발됐다.
컴퓨터에는 계속해서 더 빠른 프로세서와 용량이 큰 메모리가 장착되었고,
프로그래밍을 빠르고 편하게 하는 것이
컴퓨터가 효율적으로 돌아가도록 하는 것보다 더 중요해졌다.
Java 와 JavaScript 같은 언어는
의도적으로 이러한 Trade-off 에 맞춰 설계됐다.
3. Java
- 웹 서버에 널리 사용된 언어
- Android App 코드를 작성하는 주요 언어
- 보통 C++ 보다 단순하지만, C보다 복잡함.
- 메모리에서 복잡한 자료 구조를 관리하는 일처럼 Error 가 발생하기 쉬운 작업을 처리할 내장 Mechanism 을 갖추고 있어 C보다 안전함.
4. JavaScript
- C에서 시작된 언어
- Java 와 JavaScript 는 아무 관계가 없다.
- 웹페이지의 동적인 효과를 구현하기 위해 브라우저 내부에서 사용할 목적으로 설계되었다.
- 오늘날 거의 모든 웹페이지는 JavaScript 코드를 어느 정도 포함하고 있다.
- 언어가 단순하다.
- Compiler 가 모든 브라우저에 내장되어 있어, 별도로 다운로드하지 않아도 된다.
5. Python
- '가독성' 을 중심으로 설계되었다.
- 배우기 쉽고, 생각할 수 있는 거의 모든 프로그래밍 과제에 필요한 라이브러리를 풍부하게 제공해서, 가장 널리 사용되는 언어 중 하나이다.
현재 널리 사용되는 언어는 100개 미만이지만, 지금까지 수천 개의 프로그래밍 언어가 발명되었다.
각 언어는 효율성, 표현력, 안전성, 복잡성 같은 문제 간 Trade-Off 를 고려해서 만들어진다.
많은 언어는 분명히 기존 언어에서 배운 교훈과 더 좋아진 컴퓨팅 성능을 반영하며,
설계자의 개인적인 취향에 크게 영향을 받는다.
새로운 응용 분야가 생기면 새로운 영역에 주안점을 둔 새 언어가 만들어지기도 한다.
From. 1일 1로그 100일 완성 IT지식
http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788966263301
1일 1로그 100일 완성 IT 지식 - 교보문고
하드웨어,소프트웨어,통신,데이터,4가지 IT 근육으로 디지털 문해력 기르기 | IT 교양인으로 피봇팅하시겠습니까? 살아 있는 현대 컴퓨팅의 역사, 브라이언 W. 커니핸 교수가 알려 주는 IT 지식을
www.kyobobook.co.kr
'Computer Science' 카테고리의 다른 글
[Computer Science] 논리 회로 (Logic Gate) - 1. 조합 회로(Combinational Circuit) (0) | 2022.10.25 |
---|---|
[Computer Science] 기본 논리 게이트 (logic gate) (0) | 2022.10.24 |
[자료 구조] Big O - 알고리즘 속도 (시간복잡도), Algorithm Time complexity (0) | 2022.09.27 |
[Network] TCP vs UDP 차이 (0) | 2022.09.22 |
CS50 - Week 2 (1) Compiling (2) | 2022.09.17 |