그니까
사실 추상화라는게 있다치면
커널이나 펌웨어로 들어가면 당연히 핀 연결해서 어디에 출력하고, 어디에 인풋하고 이게 기본인데
이런건 전반적으로 추상적으로 이해하기 힘듬. 당장 핀 어디에 매핑해야한다 이런 상황이라.
당연히 펌쟁이, 커널 쟁이, OS 이런거 만지는 애들이랑 기본적으로 자기가 만지는 영역이랑 구분을 둬야함
기본적으로 sw 개발자는 대부분은 커널이나 핵심쪽은 안만짐.
그럼 기법이라는게 뭐냐
언어를 무시하고 생각하는 거임. 언어는 세부적인 구현 사항임
가령 AI 써보면 알다시피 AI는 데이터를 벡터로 인덱싱 해서 저장함. 그니까 언어에 담긴 의미를 저장한다 이말임.
어차피 프로그래밍 기본 원리라는게
크게 보면 타입, 조건문, 반복문 이 3개란 말이지. 나머진 부차적임
그럼 결국 프로그램 만들때
어떤 타입으로 어떻게 조건문을 쓰고, 반복문을 쓸지 잘게 쪼갠 후에 이걸 하나의 덩어리로 생각함
알고리즘도 따지고보면 결국 저 조건문과 반복문을 응용해서 특정 목적을 달성하기 위한 방법임
그럼 일단 레고블록을 작게작게 생각해서 만들어 본다.
즉 내가 만들고자하는 형태의 코드 블록을 가장 많이 지원하는 프레임워크를 찾아봄. 그럼 그 언어 찾아서 해보고 하는거지
어차피 프로그래밍적 사고라는게
사실 크게 따지고보면 이원화적인 사고임.
마치 프로그래밍 하나를 잘 하면 모든걸 잘 한다 하는데 전혀 다른 영역임.
아키텍트적 시각이랑 실제 연결해서 세부구현하는 거랑은 전혀 다른 영역 세부 구현이 매끄럽지 않아도 아키텍쳐적으론 매끄러울 수 있고,
아키텍쳐적으론 엉망이더라도 세부구현으로 성능상의 이점을 누릴 수 있음.
그러한 영역에서 자기가 하고자하는게 무엇인지 파악하고 중점적으로 공부하면 될 일이지
플밍언어 얘기하는데 왜 단어임베딩얘기가 나오는지...