물리학을 배우는 것이 당신이 더 나은 프로그래머가 되는 데 어떻게 도움이 될 수 있는가? 당신이 친숙할 수 있는 몇 가지 방법은 다음과 같다:
- 애니메이션: 봄이나 날개에 기반을 둔 애니메이션의 아이디어입니다.
- 색상: 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).
고등학교 시절부터 차원 분석을 하는 것에 익숙하다면, 같은 직관을 사용하여 타이핑된 언어로 더 나은 프로그래머가 될 수 있습니다. 다양한 스킬을 습득하는 것이 예상치 못한 방법으로 어떻게 도움을 줄 수 있는지를 보여주는 좋은 예라고 생각합니다. 서예 수업을 듣는 것이 스티브 잡스에게 도움이 된 것처럼 말이다.
제작진:
- https://www.compadre.org/nexusph/course/Example_Creating_equations_using_dimensional_analysis
- 시그너처 유형을 사용하여 구현을 안내하는 자세한 예는 Scala의 기능 프로그래밍 책 2장을 참조하십시오.
- 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)
'프로그래밍' 카테고리의 다른 글
'미친 기술 채용 시장' (0) | 2022.01.13 |
---|---|
Angular의 모든 요청 오류 탐지 (0) | 2022.01.13 |
C++20 동시성: part-3 request_stop 및 std::jthread의 stop_token (0) | 2022.01.13 |
당신의 비전을 실현하는 방법(나의 실수) (0) | 2022.01.12 |
C++ 개발자를 위한 가장 흥미로운 블로그 및 웹 사이트 (0) | 2022.01.12 |
댓글