본문 바로가기
프로그래밍

일반론자의 주장: 유형별 물리 및 프로그래밍에 대해

by it-view 2022. 1. 13.
반응형

물리학을 배우는 것이 당신이 더 나은 프로그래머가 되는 데 어떻게 도움이 될 수 있는가? 당신이 친숙할 수 있는 몇 가지 방법은 다음과 같다:

  • 애니메이션: 봄이나 날개에 기반을 둔 애니메이션의 아이디어입니다.
  • 색상: CSS나 안드로이드에서처럼 RGB 형식으로 색상을 지정하는 것은 백색광을 구성 요소로 분할하는 뉴턴의 유명한 실험의 연장선이다.

나는 최근에 새로운 것을 발견했는데, 나는 이 기사에서 그것에 대해 이야기하고 싶다.

물리학에서, 여러분은 차원 해석의 개념에 익숙할 것입니다. 사람들은 실제 물리 공식에 도달하기 위해 차원 분석을 지침으로 사용하려고 노력해왔다. 공중에 던져진 물체에 의해 도달된 높이에 이를 수 있는 방법의 예를 보려면 이 흥미로운 기사를 참조하십시오.

 

최근에 함수 프로그래밍에서 함수 서명을 구현 지침으로 사용할 수 있다는 비슷한 아이디어를 발견했습니다.

예를 들어 스칼라 프로그래밍 언어로 다음과 같은 서명이 있다고 가정해 보겠습니다.

이것은 두 개의 인수를 갖는 함수이다.

1. f: A => B 
f is a function which knows how to transform an argument of type A into an argument of type B
2. a: A
a variable of type A

우리가 쓸 수 있는 프로그램은 f와 a를 사용하여 타입 B의 무언가를 생산할 수 있다. 이 구현이 어떻게 되어야 하는지 알 수 있는가? 이것이 속도, 가속도, 질량을 결합하기 위해 사용하는 것과 얼마나 유사한지 주목하라. (기술의 예 참조)위에 링크된 icle).

 

고등학교 시절부터 차원 분석을 하는 것에 익숙하다면, 같은 직관을 사용하여 타이핑된 언어로 더 나은 프로그래머가 될 수 있습니다. 다양한 스킬을 습득하는 것이 예상치 못한 방법으로 어떻게 도움을 줄 수 있는지를 보여주는 좋은 예라고 생각합니다. 서예 수업을 듣는 것이 스티브 잡스에게 도움이 된 것처럼 말이다.

제작진:

  1. https://www.compadre.org/nexusph/course/Example_Creating_equations_using_dimensional_analysis
  2. 시그너처 유형을 사용하여 구현을 안내하는 자세한 예는 Scala의 기능 프로그래밍 책 2장을 참조하십시오.
  3. https://www.inc.com/rohini-venkatraman/how-steve-jobs-and-mark-zuckerberg-came-up-with-th.html#:~:텍스트=Jobs%20a%calligraphy,%20back%2010년%20년%20년후로 보입니다.

myFunction 구현:

def myFunction(f: A => B, a:A ) : B = f(a)

댓글