# 언어 기본
- int a = b + 10




# 언어 특징
- C
- 최초의 고급언어. 메모리 직접 접근 가능
- Java
- JVM 가상머신. JAVA로 컴파일된 프로그램은 OS에 상관없이 실행가능 But 느림
- Javascript
- 웹을 위해 구현된 언어. 최근에 Node 라는게 생겨서 웹 외 서버에서도 사용가능
- 느슨한 타입 VS 엄격한 타입
- Type이 정의 안됨 -> 버그 발생할 확률이 높음, 자유로움 사용자가 쓰기위움
- JavaScript -> TypeScript
- Type이 정의 됨 -> 버그찾기가 쉬움
- Java(Strict) -> Kotlin
- 인터프리터 VS 컴파일러 :+1:
- 컴파일러는 전체를 분석해서 수행. 틀린부분이 있으면 다시 처음부터 컴파일 시작
- 인터프리터는 한줄씩 수행. 한줄씩 수행하니 틀린 부분 찾기가 힘듬
- 최근에는 JIT
# 코딩 컨벤션
- 각 언어마다 변수명 짓는법이 정해져 있음 (네이밍 컨벤션)
- https://hoonesden.tech/posts/namingconvetion/
- 프로젝트 별로 컨벤션이 존재하기도함
- 요새는 규칙을 정의하면 자동으로 검사해주는 프로그램도 존재함
- indent를 텝으로할지 스페이스로 할지. 스페이스면 몇칸으로 할지
```javascript=
if(){
console.log("aaaa")
}else{
}
if(){
console.log("aaaa")
}
else{
}
if() console.log("aaaa")
if()
consolo.log("aaaa")
```
- 베스트 셀러
- http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9788966260959
# 백엔드 VS 프론트엔드
- 백엔드
- DB와 통신 + API 구현
- 서버 구조 (데이터 분산, 기타 등등)
- DB와 직접 통신? 뚤어주세요
- 스프링 공화국
- 프론트엔드
- API를 가공
- 웹페이지 제작
- 웹 퍼블리셔
- 리액트, Vue
# 언어를 안다
- 단순 if,for,while 아는게 X
- javascript 기준
- 함수형 언어 (함수를 인자로 주고, 리턴할 수 있다)
- Closures 같은 특징을 알 수 있다.