비트겐슈타인 과 프로그래밍 언어의 세계관
7597 단어 JavaScript철학idea
"이것은 프로그래밍 언어의 세계관이다."
그런 생각이 들었어요.
해설본은 구다테야의'비트겐슈타인 논리철학 논고 시리즈 세계의 사상(각천선서)'이다.
이번에는 귤2'사실과 사태, 사태와 물품(대상)'부분을 거론한다.
결론부터 말하다
이 가능하다, ~할 수 있다,...
이런 세계관.
다음은 《논리철학논고》의 기록을 인용한다.[1]
2.012
이론적으로 어떤 우연도 없다.
만약 어떤 사태에 나타날 가능성이 있다면, 그 사태의 가능성은 반드시 그 물건에 예정되어 있어야 한다.
2.0121
만약 물건이 사태에 나타날 수 있다면, 그것의 가능성은 반드시 물품 속에 존재해야 한다.
(논리는 단지 가능한 것이 아니다. 논리는 모든 가능성을 처리하고 모든 가능성은 논리적인 사실이다.)
인용이 끝나다.
어떻게 된 거야?
다음은 간단한 JavaScript 코드를 예로 들어 대화를 나눕니다.
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>HTML</title>
</head>
<body>
<script src="index.js"></script>
</body>
</html>
index.jsconst STRING = "a"
const x = STRING.toUpperCase()
console.log(x)
const NUMBER = 7
const y = NUMBER.toUpperCase()
console.log(y)
브라우저 (여기는 Google Chrome) 로 이것을 열고 개발자 도구의 콘솔에서 확인하십시오.그리고 나서
A
index.js:9 Uncaught TypeError: NUMBER.toUpperCase is not a function
at index.js:9
STRING.toUpperCase()
소문자 a를 대문자 A로 변환합니다.그러나
NUMBER.toUpperCase()
는 틀렸다.여기,mozilla의 참고 방법
toUpperCase()
을 살펴보겠습니다.String.prototype.toUpperCase()
toUpperCase() 메서드는 호출된 문자열의 값(문자열이 아닌 경우 문자열로 변환)을 대문자로 변환하고 반환합니다.
한 마디로 하면
toUpperCase()
이런 방법은String.prototype
이다. 즉, 문자열이라는 데이터 유형이 가지고 있는 방법이다.위의
index.js
예제에서const STRING = "a"
에서 정의한 STRING
는string형, 즉 문자열이라는 데이터형이다.또한, 자바스크립트의 넘버형에
toUpperCase()
방법이 없기 때문에STRING.toUpperCase()
오류가 발생했습니다.더욱 추상적으로 말하다
"어떤 데이터 형식에 어떤 방법이나 속성이 있다"
상술한 비트겐슈타인의
"사태의 가능성은 그 물건에 예정되어 있다."
대응하고 있다고 생각합니다.
여기서 JavaScript의 방법을 예로 들어 더욱 일상적인 예를 제시한다.
상술한 고전 선생의 저서에 기재된 예로 과일과 사과를 내놓았다.
사과가 있으면 책상 위에 사과가 있을 수 있어요.
그러나 사과가 외과 수술을 받으면 수혈을 받을 가능성은 크지 않다.
탁자 위에 사과를 놓고, 사과를 먹으면, 인체의 영양이 될 수 있다
스트링형 소문자
toUpperCase()
에서 대문자로 변환될 가능성과 상응한다.애플이 외과 수술을 하고 애플이 수혈을 받는 일은 불가능하다. 넘버, 수치는 대문자가 되지 않을 가능성에 대응한다.
이것은
"만약 물건이 사태에 나타날 수 있다면, 이런 가능성은 반드시 물품에 존재해야 한다."
의 기술과 프로그래밍의 세계관은 공통적이다.
(또는 역사적으로 볼 때 비트겐슈타인과 로소의 철학은 현대 프로그래밍 언어의 기초가 될 수 있다.)
또 이런'가능성'은 물질(대상)의 형태로 불린다.
2.0141
사태에서 나타날 가능성은 대상의 형식이다.
대화를 확장한 후 대상을 대상으로 하는 언어에서class에서 속성과 방법을 미리 정의합니다.
이것은class의 형식을 정의할 것입니다.
또한 Haskell, PureScript 등 함수형 언어에서 유형 클래스에 따라 데이터가 가지고 있는 방법을 정의한다.
이것은 유형이 가지고 있는 것을 정의하는 방법이다.
대상을 향한 언어든 함수형 언어든 방법이 다르면'물체(대상)는 가능성(형식)이 있다'는 점은 공통적이다.
이번에 이걸 왜 썼냐면 자바스크립트의 프로그래밍 언어를 배우는 과정에서'알겠다','늘었다'는 느낌이 들었다.
이때'물체(대상)는 가능성(형식)이 있다'
나는 이 점을 묵묵히 받아들이고 있는 것 같다고 생각한다.
인지 심리학적으로 나는'모델'이 형성되었다고 생각한다.
기억으로는 노우둥을 수렵한'확실한 힘을 쥔 자바스크립트'초'입문'[2]이라는 책을 읽은 계기 중 하나였던 것 같다.
그것은 오랫동안 언어화되지 못했다.이번에는'논리철학 논고'해설서를 완전히 읽지 않았더라도 일부는 언어화할 수 있어 언어화했다.
각주
《논리철학논고》는 아래의 서적에서 인용한 것이다.
고전처도 (2019/4/26)
https://www.kadokawa.co.jp/product/321707000026/ ↩︎
확실한 힘을 쥔 자바스크립트'초'입문 2판
https://www.sbcr.jp/product/4815601577/ ↩︎
Reference
이 문제에 관하여(비트겐슈타인 과 프로그래밍 언어의 세계관), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/purenium/articles/logisch-philosophische-abhandlung-weltanschauung텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)