사실 추상화가 알고보면 어려운 건 아니야
어떤 사물이나 현상을 보고
(1)이미 알고있는 보편적인 것에 맵핑시키면 됨
맴핑시키는 방법은 그 보편적인 것을 칭하거나 관련된 용어를 만들어 내는 거지.
근데 (1)이 어려울 수 있다, 특히 조팝에게는. 왜냐하면 이 바닦에서 보편적인 것이 뭔지 모를 수 있거든
때로는 특정 집단에서만 보편적인 것도 존재
예를 들면 함슬람들은 람다, 맵, 리듀스, 퍼스트 클래스, 이런 것들은 걍 공기 같은 존재이므로 자연스럽게 쓰는 거지. 맵-리듀스 처럼.
대개 이 바닦에서 추상화는 데이터의 추상화와 함수의 추상화(딴건 다 이 둘로 부터 나온 곁가지) 라 보면 된다. 이건 형 말이 아냐.
데이터 추상화는 니가 무의미한 낱낱의 데이터를 묶어서 하나의 보편적 의미있는 데이터로 \"부르는 것\" 이지.
함수의 추상화는 니가 일련의 동작에 대해 이름을 부여하는 거지. 예를들어 인공지능 자동차 메인에는 차를 조작하는 함수가 있을텐데 그걸 drive 라고 부르는 거지.
추상화는 곧 인터페이스와도 밀접한 관계인데, 이게 잘 되어잇으면 내부 구현은 계속 바꿀지라도 상위 추상 레벨은 그 인터페이스가 계속 유지되기 때문에 그 인터페이스를 이용하는 다른 부분은 전혀 손댈 필요가 없게 되는거야.
또 이런 명명을 잘하면 그만큼 쓸데없는 주석이 없어지는 거야
한줄요약: 형은 추상화가 이 바닦에서 제일 중요하다고 본다
어떤 사물이나 현상을 보고
(1)이미 알고있는 보편적인 것에 맵핑시키면 됨
맴핑시키는 방법은 그 보편적인 것을 칭하거나 관련된 용어를 만들어 내는 거지.
근데 (1)이 어려울 수 있다, 특히 조팝에게는. 왜냐하면 이 바닦에서 보편적인 것이 뭔지 모를 수 있거든
때로는 특정 집단에서만 보편적인 것도 존재
예를 들면 함슬람들은 람다, 맵, 리듀스, 퍼스트 클래스, 이런 것들은 걍 공기 같은 존재이므로 자연스럽게 쓰는 거지. 맵-리듀스 처럼.
대개 이 바닦에서 추상화는 데이터의 추상화와 함수의 추상화(딴건 다 이 둘로 부터 나온 곁가지) 라 보면 된다. 이건 형 말이 아냐.
데이터 추상화는 니가 무의미한 낱낱의 데이터를 묶어서 하나의 보편적 의미있는 데이터로 \"부르는 것\" 이지.
함수의 추상화는 니가 일련의 동작에 대해 이름을 부여하는 거지. 예를들어 인공지능 자동차 메인에는 차를 조작하는 함수가 있을텐데 그걸 drive 라고 부르는 거지.
추상화는 곧 인터페이스와도 밀접한 관계인데, 이게 잘 되어잇으면 내부 구현은 계속 바꿀지라도 상위 추상 레벨은 그 인터페이스가 계속 유지되기 때문에 그 인터페이스를 이용하는 다른 부분은 전혀 손댈 필요가 없게 되는거야.
또 이런 명명을 잘하면 그만큼 쓸데없는 주석이 없어지는 거야
한줄요약: 형은 추상화가 이 바닦에서 제일 중요하다고 본다
데이터랑 프로시저의 경계도 애매모호하던디
고수냐 하수냐 차이는 붓 터치 수.
데이터와 코드의 경계가 모호하다공?
sicp 1장이 프로시저의 추상화, 2장이 데이터의 추상화임.
경계가 모호한건 code as data, 즉 homoiconicity를 얘기하는 듯.
경계를 명확히 볼수있어야 조작을 정확히 할수 있다.
넹. 제가 아주 짧게 언급하거나 뉘앙스만 풍겨서 그러지, 지엽적으로 볼때는 명명법부터 넓게보면 자료구조, 알고리즘도 데이터 저장과 처리에 대한 추상화를 시켜놓았다고도 할수있겠죠.(얼마전에 동아리에서 나눈 이야기)
당현히 자료구조는 데이터의 추상화고, 알고리듬도 함수의 추상화야. 걍 다 곁가지인 거여. 쉬운걸 어렵게 생각하지 말자