나는 "스크립트 언어"가 끔찍한 단어라고 생각합니다.이 단어는 매우 구식이거나 도메인 특정 언어 클래스에 가장 적합합니다. 선생님은 자신이 이해하지 못하는 모든 것을 악의 축에 맞추는 것뿐입니다.
눈에 띄는 차이점은 고급 언어와 저급 언어 사이 또는 정적으로 동적으로 입력되는 언어 사이에서, 실제로 직교하는 것입니다.
어셈블러는 동적으로 형식이 낮은 하위 수준입니다 (유형을 말하면 어떤 의미가있는 경우). Java는 높거나 낮은 수준의 정적으로 유형이 없으며 C ++은 높고 낮은 수준의 정적으로 유형이 있습니다. 등등.
토론은 엔트리 레벨 프로그래머에게 더 적합한 패러다임 일 수 있습니다.
저수준 프로그래밍은 아마도 하나가 아니라고 확신합니다. 90 년대 초반에는 합당한 시간에 재미있는 결과를 만들어 낼 수 있었을 것입니다.
그러나 프로그래밍은 열정에 의해 촉진됩니다. 열정은 보상으로 영양분을 공급받습니다. 따라서 엔트리 레벨 프로그래머는 보람 도구로 시작해야합니다. 낮은 수준의 도구는 더 이상 보람이 없습니다. 막대한 시간 내에 동일한 결과를 얻을 수있는 광범위한 고급 도구가 있기 때문입니다.
인간의 사고는 추상적입니다. 우리가 세상을 이해하는 것을 배우면서 우리는 매우 거친 추상화로 그렇게하고 필요에 따라 자세하게 설명합니다.
어린이가 환경을 이해하기 위해 수학, 물리, 화학, 생물학, 역사, 사회학 및 철학을 가르치지 않을 것입니다. 젊었을 때 끝까지 다가 가고 나중에 당신의 권위를 완전히 부정 할 때 끝없이 다가오는 질문에 대처하기 위해 오랫동안 세계에 대한 아주 간단한 모형을 제시합니다.
그렇게 생각합니다. 인간의 뇌는 제한된 양의 정보 "단위"만을 처리 할 수 있지만, 추상화 정도는 정보의 양자화에 거의 영향을 미치지 않습니다. 예를 들어, 표현 '34 * 75 '를 계산하는 것이 계산하는 것보다 간단하지만 컴퓨터의 경우 다른 방법입니다. 많은 검은 색 픽셀을 구불 구불 한 선으로 인식 (및 추상화)하여 개별 숫자로 인식 (및 추상화)하는 것은 엄청난 양의 작업입니다.
할머니는 파일을 여는 아이디어를 이해하고 있습니다. 그러나 그녀는 그 수준 아래에 대한 이해가 없습니다. 그리고 솔직히 하드웨어와 운영 시스템의 내부 작업과 그렇지 않은 것을 먼저 연구하여 이것을 배워야한다면 결코 그곳에 도착하지 않았을 것입니다.
명확하고 간결하며 그에 따른 우아한 솔루션이라는 관점에서 생각하는 법을 배운 적이 없었기 때문에 교환 할 수있는 낮은 수준의 세부 사항을 다루고 그에 대한 문제를 해결하는 데 너무 많은 시간을 소비했습니다. 사람들이 컴퓨터처럼 생각하도록 가르치는 것은 프로그래밍에 대한 최악의 접근법입니다.
프로그래밍의 가치는 문제에 대한 해결책을 찾는 데 있습니다. 코드로 코드를 표현하는 것은 실제로 무딘 기계적인 작업 일 뿐이며 어떤 도구를 사용하든 간단하게 수행해야합니다.
아, 포인터를 이해하지 못하는 것에 대해 걱정하지 마십시오. 나는 같은 나이에 같은 문제가 있었다. 여기서 문제는 또한 추상화가 부족하다는 것입니다. 일반적으로 일부 C 책에서 포인터에 대해 배우고 이해하기 위해 고심하는 동안 메모리 할당과 스택 및 힙 메모리 등이 함께 진행됩니다. 포인터 뒤에있는 추상적 인 개념은 간접적입니다. 특정 배열에 인덱스를 보유하는 변수는 (실제로 특정 배열이 주소 공간 인 C에서 동일) 실제로는 포인터 산술이 필요하지 않습니다.
이것은 높은 수준의 추상화를 선택하면 이해하기가 훨씬 쉽다는 것을 보여주기위한 것입니다.
편집 : 입력 할 때 정적으로 입력 된 언어를 선호합니다. 그리고 엔트리 레벨 프로그래머는 타입의 개념 (추상적 인 개념)을 명확하게 이해해야한다고 생각합니다.