프로그래밍언어 살펴보기
프로그래밍을 배우기 힘든 이유
어떤 개발자가 되고 싶은지에 따라서 필요한 언어를 찾고 공부해야합니다.
프로그래밍언어란 무엇일까?
컴퓨터는 프로그램을 통해 동작하고, 프로그램은 프로그래밍언어로 작성됩니다.
컴퓨터가 어떤 일을 해야할지 알려주는 설명서는 프로그램이라고 볼 수 있습니다.
프로그래밍 언어의 발전
기술의 발전을 통해서, 다양한 프로그래밍언어를 통해서 컴퓨터가 다양한 동작을 수행할 수 있도록 구현 해 나아가고 있습니다.
프로그래밍 언어를 분류하는 두가지 기준
프로그래밍 언어 너무 많은 것 아닙니까?!
기존의 프로그래밍 언어에 대한 불편함은 새로운 프로그래밍 언어의 탄생을 만들어 내고 있습니다.
그래서 특정 상황이나 프로젝트에 더 유용한 적합한 언어를 사용하는 것이 바람직합니다.
첫 번째 패러다임: 객체 지향 프로그래밍
객체지향이 무조건 정답은 아니지만, 많은 프로그래밍 언어들이 객체지향을 지향하고 있습니다.
객체 지향 프로그래밍 이해하기
프로그래머들은 탑-다운 방식을 통해서 프로그램을 제작하였는데, 합치기 전 까지는 문제를 파악할 수 없었기 때문에 실수 한번에 큰 영향을 받았습니다.
이를 해결하기 위해서, 객체 지향 프로그래밍이 탄생(바텀-업 방식)하였습니다. 객체를 기준으로 프로그램을 제작하기 때문에 프로그래밍하기 수월해 졌습니다. 전체가 완성되지 않아도 일부 기능만 사용해볼 수 있기 때문에 테스트에 적합하다고 볼 수 있습니다.
객체 지향의 단점은 코드를 잘 나누고 설계하는 것이 어렵다는 것과 사람이 이해 하기 쉽게 프로그램을 만들었기 때문에 컴퓨터가 작업하는 시간이 늘어난다는 점을 뽑을 수 있습니다.
두 번째 패러다임: 변수의 데이터 타입
Dynamic Typing vs Static Typing
다이나믹 타이핑 언어는 문법이 간결해 비전공자들이 배우기 쉽습니다. 컴퓨터 구조가 생략되어 실행속도가 조금 느릴 수 있습니다.
명확하고 정교한 언어를 추구해서 제약과 규칙이 많아, 실수를 방지하고 더 체계적인 코드를 만들 수 있습니다.
프로그래밍언어 Overview
프로그래밍 언어의 스펙트럼
컴퓨터와 가까운가? -> 저수준 언어 // 사람과 가까운가? -> 고수준 언어 라고 지칭합니다.
추상화가 진행되었을 수록 고수준 언어라하고, 적게 되었을 경우 저수준 언어라 합니다.
저수준 언어일 수록 실행속도가 빠르고, 고수준언어 일수록 실행속도가 느립니다.
프로그래밍 언어의 추상화
추상화는 몰라도 되는 내용은 숨기고, 꼭 알아야하는 내용만 드러내는 것이라 말할 수 있습니다.
추상화를 얼마나 했냐에 따라, 코딩을 할 때 어디에 초점을 맞추는지도 달라질 수 있습니다.
저수준 언어와 고수준 언어 비교하기
고수준 언어에 대한 단점은 컴퓨터에게 많은 생각(?)을 요구합니다.
저수준 언어를 사용하면, 컴퓨터에게 적은 생각(?)을 요구하기 때문에 생각 이외의 효율적인 동작을 만들어 낼 수 있습니다.
프로그래밍 언어 제대로 사용하기
좋은 코드란?
좋은 코드란 무엇일까?
- 가독성이 좋은 코드 만들기: 상황에 맞는 적절한 Comment를 추가하자
- 변수의 이름을 잘 지어주기
- 스타일 가이드 활용하기(스네이크, 파스칼, 카멜 표기법)
: 스타일 가이드 확인하는법 [언어] + StyleGuide 검색 - 구조화가 잘 된 코드(파일분리, 코드분리)
라이브러리
(프로그래밍을 잘하는 개발자들이) 필요한 코드를 찾아서 쓸 수 있게 만들어 둔 코드 [능동적]
프레임워크
(프로그래밍을 잘하는 개발자들이) 만들어 놓은 코드 툴 안에서 사용할 수 있게 만들어둔 코드 [수동적]
라이브러리 vs 프레임워크
(예시)
라이브러리 : 이미 누가 만들어 둔 도구를 가져와서 사용한다 !
프레임워크 : 이미 틀이 짜여져 있는 가게
'CodeIt! > 컴퓨터개론' 카테고리의 다른 글
소프트웨어 이해하기 (0) | 2023.03.09 |
---|---|
프로그래머 세계 이해하기 (0) | 2023.03.09 |
프로그래밍 오버뷰 (0) | 2023.03.08 |