수학자에게 프로그래밍 소개 [닫기] 즐길 것이라고 생각하지만 그는 (그것을 시도 할

저는 현재 프로그래머이며 거의 16 세이며 컴퓨터 과학 학위 또는 전기 공학 학위와 관련된 것으로 경력을 좁혔습니다. 친구는 확실하지 않습니다.

그는 매우 수학에 관심과 매우 좋은이며, 나는 그가 프로그램을 즐길 것이라고 생각하지만 그는 (그것을 시도 할 의사가 아닙니다 편집 그가 입니다 시도 할 의사가 있지만, 전에 해본 적이있다). 수학 문제를 해결하거나 어떤 종류의 수학을 포함시키기 위해 프로그래밍에 익숙 할 수있는 언어 또는 도구에 대한 제안을 나에게 제안 할 수 있습니까?

그가 수학을 많이 즐기지 만 프로그래밍을 좋아한다고 생각하지만, 문제는 메모리 할당 등과 같은 입문 수준과 관련이없는 것들로 인해 그를 버리고 싶지 않다는 것입니다. 나는 그것이 매우 중요하다는 것을 알고 있지만 요점은 그가 수학으로 약간의 프로그래밍을 배우기를 원한다는 것입니다. 그가 관심이 있다면 프로그래밍으로 프로그래밍 학습을 시작할 수 있기를 바랍니다.

편집 :
그는 완전히 관심이 없다는 것이 아닙니다. 더 많은 정보를 얻지 못했기 때문에 이전에 적극적으로 지역을 탐험하지 않은 것입니다. 나는 그가 원하지 않는 일을하도록 강요하고 싶지 않다. 나는 이것을 프로그래밍에 대해 배울 수 있도록 약간의 추진력으로 본다. 그가 그것을 좋아하지 않는다면-충분히 공정하고, 나는 그것을 통제 할 수 없으며 원하지 않지만 그것을 즐기기를 원한다면-이 푸시는 옳았을 것입니다.



답변

수학 로고

“수학 같은”언어를 원한다면 Haskell은 가장 친한 친구입니다 (가장 친한 친구). 번거 로움없이 쉽게 새로운 기능을 만들 수 있습니다. 친구에게 줄 수있는 최고의 언어 추천입니다. 다음은 몇 가지 링크입니다.

매스 매 티카

볼프람의 수학 은 또 다른 관심사입니다.

Mathematica is a computational software program used in scientific, engineering, and mathematical fields and other areas of technical computing. It was conceived by Stephen Wolfram and is developed by Wolfram Research of Champaign, Illinois.

비싸지 만 그만한 가치가 있습니다. 다음은 몇 가지 링크입니다.

알고리즘

알고리즘 은 모든 프로그램에 중요하지만 친구가 언어에 익숙해지면 시작해야합니다. 더 많은 링크는 다음과 같습니다.

이것이 도움이되기를 바랍니다! 질문이나 의견이 있으시면 언제든지 의견을 보내주십시오! 그건 그렇고,이 모든 링크는 무료 리소스입니다. 인쇄 된 책을 원한다면 몇 가지 권장 사항이 있습니다. 의견을 남겨주세요!


답변

ML 패밀리 또는 Haskell의 함수형 프로그래밍 및 언어는 수학자의 마음에 잘 맞는 경향이 있습니다.


답변

만약 그가 수학을 전공한다면 그는 C ++과 같은 저수준 언어가 아니라면, 그가하는 일에 따라 더 높은 수준의 수학과 메이플 이나 수학과 같은 언어에서 상당히 많은 프로그래밍을하게 될 것입니다.

또한 연구 분야에 따라 응용 수학 또는 정적 분석을 수행 할 수 있으며,이 두 가지 모두 상당한 양의 프로그래밍이 필요합니다. 그는 자신이 결정한 것에 관계없이 지금 프로그래밍에 익숙해지는 것이 좋습니다.


답변

하스켈에게 가르쳐 수학 에서처럼 생각할 수있는 언어입니다.

  • 함수는 입력을 출력에 매핑하는 것입니다.
  • 물건은 필요에 따라 평가됩니다
  • 타입 추론과 미친 타입 시스템
  • 편리한 구문
  • 훌륭한 커뮤니티 (예 : StackOverflow )
  • 모나드

Haskell을위한 최고의 튜토리얼 중 하나 인 http://learnyouahaskell.com 을 보여 주십시오.


답변

수학을 공부 한 사람 (순수한 수학 학사 학위를 받았으며 방금 응용 수학 / 통계학 석사 학위를 취득한 사람)으로서 나중에 커리어에서 프로그래밍의 재미 / 실용성 / 중요성을 더욱 깨닫게되면서이 질문에 진심으로 감사드립니다. 나는 10 년 전에 당신과 같은 친구가 나를 프로그래밍으로 밀어 붙 였으면 좋겠다.

둘 다 Project Euler를 확인해야합니다 . 무엇입니까?

Project Euler는 해결해야 할 수학적인 통찰 이상의 것을 요구하는 일련의 도전적인 수학 / 컴퓨터 프로그래밍 문제입니다. 수학은 우아하고 효율적인 방법에 도달하는 데 도움이되지만 대부분의 문제를 해결하려면 컴퓨터와 프로그래밍 기술을 사용해야합니다.

언어 별 제안은 아니지만 프로그래밍을 시작하는 데 특히 동기 부여가 될 것입니다 (특히 이미 수학에 관심이있는 경우). 문제는 매우 쉽고 접근하기 쉽지만 빨리 까다 롭고 어렵습니다. 둘 다 즐길 수있는 좋은 도전과 동기 부여.

어떤 언어를 사용해야하는지에 대해 저는 수학 커뮤니티 내에서 훌륭하고 널리 사용되는 C ++, R, Matlab 및 Mathematica에 대한 경험이 있습니다. 그러나 더 구체적으로 말하면, 나는 수학에 매우 유용하지만 다른 것들만큼 수학에 제한되지 않는 Python배우는 것이 좋습니다. (나중에 더 많은 옵션을 원할 경우) 파이썬을 시작하는 것은 쉽지만 배울 것이 많습니다. 또한 다른 것과는 달리 무료입니다. C ++도 좋은 선택이지만 처음부터 더 많은 장애물이있을 수 있습니다.


답변

  • 수학자에게는 가장 큰 턴온은 알고리즘입니다. 당신의 친구는 파이썬 (친절한)으로 구현을 시작해야합니다.

  • MATLAB과 같은 숫자 형 컴퓨팅 환경은 매트릭스 조작, 함수 및 데이터 플롯, 알고리즘 구현에 유용합니다.


답변

관심있는 수학 영역에 따라 다릅니다.

복잡한 대수 시스템을 통해 다양한 수학을 직접 프로그래밍 할 수 있으므로 하스켈을 선호 할 것입니다. ATS 는 옵션 일 수도 있습니다.

소개 튜토리얼과 알고리즘을위한 순전히 기능적인 데이터 구조를 위해 대단한 이익을 위해 Haskell을 배우는 것이 좋습니다 .

그가 Matrix Analysis, Differential Equations 또는 Dynamical Systems에 더 관심이 있다면 Matlab , NumPy 또는 Octave를 추천 합니다. APL은 Dyalog 를 통해 관심을 가질 수도 있습니다. 나는 그를 시작하지 않았지만. Numerical Recipes 는 C ++에서 알고리즘에 대한 좋은 가이드로 사용되도록 조정할 수 있습니다.

그가 통계를하고 싶다면 R 이 자연스런 선택입니다.