Giới thiệu lập trình cho một nhà toán học [đóng]


30

Tôi hiện đang là một lập trình viên, tôi gần 16 tuổi và đã thu hẹp khá nhiều sự nghiệp của mình xuống một thứ gì đó liên quan đến bằng Khoa học Máy tính hoặc Kỹ sư Điện (tôi biết họ khá khác nhau nhưng câu hỏi này là về bạn tôi) nhưng tôi bạn không chắc lắm.

Ông rất quan tâm đến toán học và rất giỏi trong việc này và tôi nghĩ anh ấy sẽ được hưởng chương trình nhưng ông không phải là sẵn sàng để thử nó ( chỉnh sửa anh sẵn sàng để thử, nhưng chưa bao giờ được thực hiện trước đó). Bất cứ ai cũng có thể cho tôi một gợi ý cho một ngôn ngữ hoặc công cụ mà anh ta có thể học lập trình (ở mức độ cơ bản hợp lý mà tôi giả định) để giải các bài toán hoặc liên quan đến một số loại toán.

Như tôi nói anh ấy rất thích toán học nhưng tôi nghĩ anh ấy sẽ thích lập trình, vấn đề là tôi không muốn anh ấy bị loại bỏ bởi những thứ không liên quan ở cấp độ giới thiệu như cấp phát bộ nhớ et al. Tôi biết điều đó rất quan trọng nhưng vấn đề là tôi muốn anh ấy học một chút về lập trình với toán học, hy vọng nếu anh ấy đủ hứng thú, anh ấy có thể bắt đầu học lập trình như lập trình.

Chỉnh sửa: Không phải là anh ta hoàn toàn không quan tâm - hơn nữa anh ta đã không chủ động khám phá khu vực này trước đây, có thể vì anh ta không được thông báo về nó. Tôi sẽ không muốn ép buộc anh ấy làm điều gì đó mà anh ấy không muốn, tôi thấy đây chỉ là một cú hích nhỏ để anh ấy có thể học về lập trình. Nếu anh ta không thích nó - đủ công bằng, tôi không thể kiểm soát điều đó và không muốn nhưng nếu anh ta quay ra để thưởng thức nó - thì cú đẩy này sẽ là điều đúng đắn.


17
Tại sao bạn muốn đẩy bạn mình vào một hướng mà anh ta không quan tâm?
HLGEM

3
Đối với hồ sơ, rất nhiều lập trình viên tôi đã làm việc có bằng cấp toán học. Trên hết, họ khá tốt.
AngryBird

1
Tôi đồng ý với @HLGEM. Tôi sẽ ghét nó nếu ai đó đẩy tôi về phía toán học lý thuyết thuần túy. Tương tự như vậy, những người thích những thứ đó sẽ ghét nó nếu họ bị đẩy về phía những thứ áp dụng nhàm chán.
Công việc

4
Để đưa ra một số quan điểm về mọi thứ - Bạn là 16. Bạn không phải là lập trình viên, bạn là sinh viên đã thực hiện một số chương trình. Bạn của bạn không phải là nhà toán học, anh ấy là một học sinh thích (và đã học được một số) môn toán. Mặc dù tôi thích câu trả lời từ @ perl.j, tôi nghĩ bạn có thể tiếp cận quá mức với câu hỏi này.
Joel Etherton

2
@ perl.j: Cho đến khi ai đó có bằng cấp cần thiết để hiển thị "lĩnh vực nghiên cứu chính" cần thiết, bằng chứng là anh ta không phải là nhà toán học. Ngay cả một người nào đó trong trường đại học có chuyên ngành toán học cũng chưa phải là nhà toán học.
Joel Etherton

Câu trả lời:


60

Logo toán học

Nếu bạn muốn có một ngôn ngữ "giống như toán học", Haskell là người bạn tốt nhất của bạn (cho người bạn thân nhất của bạn). Bạn có thể dễ dàng thực hiện các chức năng mới mà không gặp rắc rối. Đó là khuyến nghị ngôn ngữ tốt nhất tôi có thể cung cấp cho bạn cho bạn của bạn. Dưới đây là một số liên kết:

Toán học

Mathrama của Wolfram là một sở thích khác mà anh ta có thể có.

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.

Mặc dù nó đắt tiền, nó là giá trị nó. Dưới đây là một số liên kết:

Thuật toán

Các thuật toán rất quan trọng đối với bất kỳ chương trình nào, nhưng bạn của bạn nên bắt đầu với những thuật toán này khi anh ấy cảm thấy thoải mái với một ngôn ngữ. Dưới đây là một số liên kết:

Hi vọng điêu nay co ich! Nếu bạn có bất kỳ câu hỏi hoặc phản hồi hãy bình luận! Nhân tiện, tất cả các liên kết này là tài nguyên miễn phí . Nếu bạn muốn có một cuốn sách in, tôi có một vài đề xuất, chỉ cần để lại nhận xét!



2
Tôi là một chuyên gia toán học và tôi có thể giới thiệu Haskell là tuyệt vời từ góc độ toán học. Tôi cũng thích đọc một số nội dung lý thuyết đi kèm với nó, nhiều hơn hầu hết các ngôn ngữ.
Theo Belaire

2
Nếu anh ta học được Haskell, sau này anh ta thậm chí có thể chuyển sang Agda , một ngôn ngữ được gõ phụ thuộc phù hợp để làm bằng chứng.
Peter C

4
@ SK-logic Làm thế nào bạn có thể nói điều đó? Toán học là tất cả về việc học các hệ thống logic mới và lý luận về chúng (đừng quên rằng các nhà toán học đã phát minh ra máy Turing). Bạn thành thật nghĩ rằng ai đó có thể xử lý toán học không thể xử lý ý tưởng về đột biến? Và quan điểm của tôi là, để làm một cái gì đó đơn giản như đột biến biến trong Haskell đòi hỏi phải có một cửa hàng đơn nguyên! Nói rằng dễ hơn x = x + 1là chỉ lố bịch.
JeremyKun

2
@Bean, đó thực sự là phản ứng đầu tiên của tôi đối với một câu lệnh gán (và tôi không biết gì ngoài các phương trình tuyến tính nguyên thủy từ toán học hồi đó). Kể từ đó tôi thấy phản ứng tương tự lặp đi lặp lại. Tôi cố tình giới thiệu các khái niệm lập trình chức năng cho những người không có kinh nghiệm lập trình trước đó, dần dần chuyển sang những thứ bắt buộc. Nó luôn luôn dễ dàng trước tiên, và tất cả những gì "WTF?!?" ngoại hình luôn bắt đầu chỉ với việc giới thiệu các khái niệm bắt buộc và OOP.
SK-logic

18

Lập trình hàm và ngôn ngữ trong gia đình ML hoặc Haskell có xu hướng phù hợp khá tốt với tâm trí của các nhà toán học.


Rất đúng! Danh sách vô hạn và tất cả những gì tuyệt vời cho tâm trí toán học.

14

Nếu anh ta học chuyên ngành toán thì anh ta sẽ không nghi ngờ gì về việc lập trình khá nhiều, nếu không phải là ngôn ngữ cấp thấp như C ++, thì ở cấp độ cao hơn, toán học cụ thể, các ngôn ngữ như Maple hay Mathicala tùy thuộc vào những gì anh ta đang làm.

Ngoài ra, tùy thuộc vào lĩnh vực nghiên cứu của mình, cuối cùng anh ta có thể thực hiện toán học ứng dụng hoặc phân tích thống kê, cả hai sẽ đòi hỏi một lượng lập trình đáng kể. Anh ta tốt hơn nên làm quen với lập trình bây giờ bất kể anh ta quyết định gì.


1
Bạn cũng có thể cố gắng lén Python vào tâm trí anh ta bằng Sage ( sagemath.org ).
Anton Barkovsky

Đây là một ngôn ngữ cấp độ cao hơn, dành riêng cho toán học: math.uiuc.edu/Macaulay2
RyanTM

Tôi đề nghị bạn chỉ cho phép anh ta khám phá lập trình. Khi anh ta tiếp xúc với nó, và anh ta chắc chắn sẽ được yêu cầu làm một việc gì đó đòi hỏi anh ta phải làm một cái gì đó bằng ngôn ngữ toán học cụ thể, anh ta sẽ thích nó hoặc ghét nó. Nếu anh ấy thích nó khi điều này xảy ra, anh ấy sẽ có thể chọn ngôn ngữ phù hợp nhất với anh ấy. Không phải là bạn không nên giúp bạn mình, nếu không có hứng thú, thì bạn nên bỏ nó đi.
Ramhound

12

Dạy anh Haskell. Đó là một ngôn ngữ mà bạn có thể nghĩ giống như trong toán học:

  • Hàm là thứ ánh xạ đầu vào thành đầu ra
  • Công cụ được đánh giá là cần thiết
  • Kiểu suy luận và một hệ thống kiểu điên
  • Cú pháp thuận tiện
  • Cộng đồng tuyệt vời (ví dụ trên StackOverflow )
  • Đơn nguyên

Tôi khuyên bạn nên cho anh ấy xem http://learnyouahaskell.com , một trong những hướng dẫn tốt nhất cho Haskell.


11

Là một người học toán (tôi có bằng BS về toán học thuần túy và vừa nhận bằng MS về Toán ứng dụng / Thống kê) và sau đó nhận ra niềm vui / tính thực tế / tầm quan trọng của lập trình trong sự nghiệp, tôi thực sự đánh giá cao câu hỏi này. Tôi ước tôi có một người bạn như bạn 10 năm trước để thúc đẩy tôi hướng tới lập trình.

Cả hai bạn nên kiểm tra Project Euler . Nó là gì?

Project Euler là một chuỗi các vấn đề lập trình toán học / máy tính đầy thách thức sẽ đòi hỏi nhiều hơn là những hiểu biết toán học để giải quyết. Mặc dù toán học sẽ giúp bạn đạt được các phương pháp thanh lịch và hiệu quả, việc sử dụng máy tính và kỹ năng lập trình sẽ được yêu cầu để giải quyết hầu hết các vấn đề.

Mặc dù nó không phải là một gợi ý cụ thể về ngôn ngữ, nhưng nó sẽ là một động lực tuyệt vời để bắt đầu với lập trình (đặc biệt là nếu đã có hứng thú với toán học). Các vấn đề bắt đầu rất dễ dàng và dễ tiếp cận nhưng nhanh chóng trở nên rất khó khăn và / hoặc khó khăn. Một thử thách và động lực tốt mà cả hai bạn đều có khả năng thích thú.

Về việc sử dụng ngôn ngữ nào, tôi có kinh nghiệm với C ++, R, Matlab và Mathematica, tất cả đều tuyệt vời và được sử dụng rộng rãi trong cộng đồng toán học. Nhưng cụ thể hơn, tôi thực sự khuyên bạn nên học Python rất hữu ích cho môn toán nhưng không bị giới hạn trong môn toán như một số môn khác (trong trường hợp anh ta muốn có nhiều lựa chọn hơn trong cuộc sống). Thật dễ dàng để bắt đầu với Python nhưng có rất nhiều thứ để học. Nó cũng miễn phí không giống như một số người khác. C ++ có thể là một lựa chọn tốt nhưng có thể có nhiều rào cản hơn ngay từ đầu.


+2 cho Project Euler, sẽ thêm vào như một nhận xét cho câu hỏi chính cho đến khi tôi thấy câu trả lời của bạn. OP và bạn của anh ấy chắc chắn nên hòa nhập với nhau.
cobanduck

10
  • Đối với các nhà toán học, bật nhất là Thuật toán. Bạn của bạn phải bắt đầu triển khai chúng trong Python (nó thân thiện).

  • Các môi trường điện toán số như MATLAB sẽ hữu ích cho các thao tác ma trận, vẽ đồ thị của các hàm và dữ liệu, thực hiện các thuật toán.


10

Nó phụ thuộc vào lĩnh vực toán học mà anh ta quan tâm.

Nếu anh ta thích môn Đại số trừu tượng hoặc Kết hợp, có lẽ anh ta sẽ thích Haskell vì hệ thống loại phức tạp cho phép lập trình trực tiếp nhiều loại toán học. ATS cũng có thể là một lựa chọn.

Tôi khuyên bạn nên Tìm hiểu cho bạn một Haskell cho một điều tốt đẹp cho một hướng dẫn giới thiệu và Cấu trúc dữ liệu chức năng hoàn toàn cho các thuật toán.

Nếu anh ấy thích phân tích ma trận, phương trình vi phân hoặc hệ thống động lực, tôi khuyên dùng Matlab , NumPy hoặc Octave . APL là thông qua Dyalog cũng có thể được quan tâm; mặc dù tôi sẽ không bắt đầu anh ta về điều đó. Công thức toán số , trong khi trong C ++ có thể được điều chỉnh để phục vụ như một hướng dẫn tốt cho các thuật toán.

Nếu anh ấy muốn làm Thống kê thì R là sự lựa chọn tự nhiên.


5

Tôi là một sinh viên tốt nghiệp toán học, và đã học đại học về khoa học máy tính. Tôi giữ một blog tên là Toán học ∩ Lập trình trong đó tôi khám phá các ứng dụng toán học để lập trình (và ngược lại), và tôi phải thừa nhận rằng tôi thấy hầu hết các khía cạnh toán học ít hơn của khoa học máy tính khá khô khan và không mệt mỏi (về cơ bản, sự phản đối của tôi đối với tất cả các vụ hack lố bịch đi vào lập trình hệ thống theo kinh nghiệm của tôi trong ngành công nghiệp).

Mặt khác, trên blog của tôi, tôi xem xét các vấn đề như nhận dạng khuôn mặt (khá nhiều đại số tuyến tính), phương pháp mã hóa, máy Turing và máy tự động di động, mô hình để dự đoán hoạt động giết người hàng loạt, công cụ tìm kiếm và một loạt các khái niệm toán học khác . Phần tốt nhất là tôi có thể thực hiện các ý tưởng, và bất kỳ ý tưởng nào của riêng tôi!

Để khiến bạn của bạn yêu thích lập trình như những người khác trong chúng ta, hãy tìm cho anh ấy một điều thực sự thú vịdự án. Khía cạnh lập trình sẽ không gắn bó nếu không làm việc với một sản phẩm mà anh ấy thấy đẹp. Đối với các ngôn ngữ, tôi khuyên dùng Mathicala, Vợt (một dẫn xuất Scheme rất thân thiện nhưng vẫn mạnh mẽ), Python và Haskell. Mathematica có lẽ là tốt nhất, bởi vì anh ta có thể thực hiện có chọn lọc các hàm toán học của riêng mình và sử dụng các thư viện được xây dựng của Mathicala để hoàn thành dự án (ví dụ, viết một hàm tính toán các hệ số Fourier, sau đó sử dụng Mathicala để thực hiện phần còn lại của phân tích, chẳng hạn như lọc, tạo hình ảnh, v.v.). Ngay cả các chủ đề cơ bản như tích hợp cũng đưa ra một số dự án hấp dẫn (các quy tắc bậc hai khác nhau, tích hợp monte carlo, chuyển đổi nhẹ nhàng sang học máy với các tập dữ liệu lớn).

Ngoài ra, có vẻ như rất nhiều câu trả lời ở đây là từ những người không làm toán hoặc những người chưa sử dụng ngôn ngữ mà họ đề xuất để làm phần mềm toán học. Lý do mọi người khuyên dùng Haskell là vì nó càng gần với việc thực hiện theo nghĩa đen của lý thuyết thể loại càng tốt và phù hợp với một số định nghĩa toán học của một số khái niệm cơ bản. Nhưng nếu bạn của bạn gần bằng tuổi bạn, thì anh ta chưa sẵn sàng cho lý thuyết phạm trù về mặt toán học (sự trưởng thành đó ít nhiều vô dụng cho đến khi tốt nghiệp đại học, và khó khăn để tự dạy mình), và là ngôn ngữ đầu tiên Haskell có độ dốc cao nhấtđường cong học tập của các ngôn ngữ được đề xuất (có lẽ Prolog dốc hơn). Tôi đã sử dụng Haskell để triển khai trình biên dịch Javascript và tôi đã kết thúc với một đoạn mã thanh lịch rất đẹp, nhưng đối với những thứ trực quan như đột biến biến, bạn đã phải lao vào các đơn nguyên không cần thiết.

Python và Mathematica sẽ thân thiện hơn nhiều và Mathicala có đường cong học tập nông nhất chỉ đơn giản vì tất cả các thư viện được đóng gói vào một giao diện người dùng đẹp với tài liệu tuyệt vời (chỉ cần nhấn F1!). Mặt khác, có một cuốn sách tôi đã nghe nói (nhưng chưa đọc) cung cấp cả quá trình chuyển đổi sang toán học nâng cao và giới thiệu về Haskell cùng một lúc . Nó dường như có các đánh giá tích cực trên Amazon, vì vậy bạn có thể muốn kiểm tra nó. Anh ta có thể chuyển sang các ngôn ngữ như C # và Java nếu anh ta muốn làm công cụ công nghiệp, nhưng nhiều khả năng anh ta sẽ không bao giờ cần phải vào khu rừng đó (và dù sao thì rất nhiều công cụ toán học công nghiệp hoàn toàn là Matlab).

Nhưng như tôi đã nói, với dự án phù hợp, việc học ngôn ngữ sẽ trở thành niềm vui, bất kể dự án có thể là gì.


3

Nếu bạn của bạn thích logic chính thức và thấy Trí tuệ nhân tạo thú vị, anh ta có thể muốn xem Prolog .

Với ngôn ngữ này, bạn nêu các vị ngữ của mình (giả định ban đầu, "sự kiện") và quy tắc suy luận ("quan hệ"), sau đó đặt câu hỏi.

Prolog sau đó tắt và tìm hiểu xem câu hỏi có thể được trả lời hay không chỉ bằng cách sử dụng các sự kiện và quan hệ nhất định, và nếu vậy, sẽ cho bạn biết câu trả lời.

Vì vậy, bạn nói với nó rằng "tom là một con mèo" và "tất cả những con mèo là động vật" và hỏi "tom là một con vật?" và bạn sẽ nhận được câu trả lời "đúng".

Hoặc bạn có thể yêu cầu nó "liệt kê tất cả các động vật mà bạn biết" và bạn sẽ nhận được danh sách vật phẩm duy nhất "tom".

Tất nhiên cú pháp phức tạp hơn một chút so với điều đó, nhưng bạn có được ý tưởng chung.


Prolog rất gần với logic thứ nhất, nhưng thực sự không tương thích, vì nó không có cách nào để phân biệt "chưa được chứng minh" và "sai". Đó là một ngôn ngữ gọn gàng theo một số cách, nhưng tôi sẽ không thúc đẩy nó trên một nhà toán học và gọi nó là logic lập trình.
David Thornley

Bạn có thể không chỉ đơn giản là kiểm tra các phủ định?
Bill Michell

2

Cách tốt nhất để khuyến khích bạn của bạn dùng thử có thể là để anh ấy bắt đầu lập trình mà không suy nghĩ quá nhiều về thực tế là anh ấy đang lập trình.

Khi anh ấy sẵn sàng đối phó nhiều hơn với "lập trình", cả hai bạn có thể bắt đầu với cùng một cuốn sách và học lập trình từ một nền tảng toán học hơn. Hai trong số những cuốn sách yêu thích hiện tại của tôi là:

SICP có thể xem miễn phí tại trang web MIT Press .

Nếu bạn của bạn có khuynh hướng toán học, Lisp sẽ không gặp khó khăn gì, và nó giải phóng bạn khỏi việc phải học bất kỳ cú pháp đặc biệt nào. Tôi nghĩ Lisp dễ học hơn Haskell.


1

Tôi đồng ý với Haskell, nhưng từ quan điểm thực tế, anh ta cũng nên học một ngôn ngữ trên một cỗ máy trừu tượng được sử dụng rộng rãi. Tôi có nghĩa là một ngôn ngữ JVM hoặc ngôn ngữ .NET tất nhiên.

Có những ngôn ngữ trên các nền tảng này thú vị hơn một chút so với các ngôn ngữ hàng đầu. Trên JVM, hãy xem Clojure và Scala. Trên nền tảng .NET, hãy xem F #.

Ngoài ra còn có một ngôn ngữ .NET từ Microsoft Research gọi là c-omega rất thú vị, nhưng chỉ là một dự án nghiên cứu.


1

Matlab thường được sử dụng cho lập trình toán học và khoa học. Nó là một ngôn ngữ dựa trên kịch bản, không khó để học và tất cả các vấn đề về bộ nhớ được ẩn khỏi người dùng.

Kỹ thuật phần mềm và Kỹ thuật điện có thể được kết hợp thành Kỹ thuật máy tính.


0

Nếu bạn của bạn không muốn thử lập trình, tôi không hiểu lý do tại sao bạn muốn buộc vấn đề. Tôi nghĩ rằng một chìa khóa để trở thành một lập trình viên là sẵn sàng học hỏi, và nếu anh ta không muốn học thì lập trình có lẽ không dành cho anh ta

Nhưng điều đó đang được nói, đặt cược tốt nhất của bạn có thể là tự mình tạo ra một chương trình nhỏ và thể hiện nó với anh ta. Có lẽ để lại một số phần của nó chưa hoàn thành và xem liệu bạn có thể khiến anh ấy quan tâm đến việc giúp bạn hoàn thành nó. Tôi biết đối với tôi, các thuật toán và logic đằng sau một chương trình thú vị hơn nhiều sau đó viết ra cú pháp, vì vậy có lẽ hãy thử và nhờ anh ấy hỗ trợ bạn về logic của chương trình, sau đó bạn đi và viết mã cho anh ấy xem kết quả của nó

Nếu anh ta thể hiện bất kỳ sự quan tâm nào trong mã nguồn, thì hãy chỉ cho anh ta cách viết nội dung của riêng mình. Cá nhân tôi nghĩ rằng ngôn ngữ tự nó không quan trọng miễn là nó dễ học và có nhiều tài liệu.


0

Có cả một thư viện toán học và cộng đồng miễn phí được xây dựng xung quanh Python. Tôi bắt đầu với "Sage", anh ấy thực sự thích sử dụng nó và sẽ học Lập trình bằng Python một cách tình cờ.


0

Tôi nghĩ bạn nên cho bạn của bạn xem một số biến thể khác nhau, như:

  • C
  • LISP / Đề án
  • CĂN BẢN
  • vỏ bourne
  • Prolog

Tôi nghĩ C và LISP là điểm khởi đầu tốt, cho thấy các ngôn ngữ khác nhau có thể phù hợp hơn cho các nhiệm vụ khác nhau. Tôi không tin vào việc sử dụng Haskell hoặc Erlang cho mọi thứ.

Mã máy (hoặc trình biên dịch) cho bộ xử lý đơn giản cũng có thể thú vị. Tôi luôn thấy vui khi bắt đầu với mã máy trên chiếc C64 đầu tiên của mình . ( MOS 6510 ) Trải nghiệm thực tế khó có được khi trưởng thành với thời gian hạn chế để "lãng phí".


Tôi phải không đồng ý. Tại sao một đứa trẻ, thú vị trong toán học, sẽ bị thu hút bởi Mã máy? Và tại sao C? Hội giả định quá nhiều kiến ​​thức về bộ xử lý. C tương tự đưa ra nhiều yêu cầu tốt nhất để lại cho ai đó muốn học lập trình nghiêm túc: con trỏ, thanh ghi, phạm vi, loại. Đối với phần giới thiệu đầu tiên về lập trình cho một người như vậy, một cái gì đó tập trung vào các thuật toán hoặc các ứng dụng của ý tưởng toán học (xác suất, ngẫu nhiên, mô phỏng), sẽ tốt hơn nhiều. Python, Lisp / Forth, cơ bản thậm chí. Vỏ sò ?? Tại sao? ...
Assad Ebrahim

0

Đối với tôi, lập trình bắt đầu từ việc muốn "làm một cái gì đó", một "nếu như?" câu hỏi:

  • "Tôi muốn tạo một trang web của riêng mình", vì vậy hãy tìm hiểu về HTML, v.v.

  • "Tôi ghét việc tôi phải nhấp vào X hoặc tôi thấy Y trên trang web này mỗi khi tôi truy cập. Không có cách nào để tự động hóa điều đó sao?" Vì vậy, bạn tìm hiểu về bookmarklets hoặc viết phần mở rộng trình duyệt.

  • "Tôi muốn lập danh mục tất cả âm nhạc của mình và không có công cụ nào tôi thấy làm theo cách tôi muốn", vì vậy bạn tìm hiểu về cơ sở dữ liệu.

  • "Tôi muốn theo dõi chi phí cho Câu lạc bộ toán học của mình", vì vậy bạn tìm hiểu về bảng tính, macro lập trình hoặc thậm chí có thể là cơ sở dữ liệu.

Để ổ đĩa thực sự ở đó, vấn đề tiềm ẩn phải đến từ anh ta . Tôi sẽ cố gắng tìm một vấn đề anh ấy muốn giải quyết và sau đó chọn một công cụ / ngôn ngữ / hệ thống cho phép anh ấy tự động hóa / lập trình giải pháp.


-2

Theo tôi, Haskell và Mathicala là con đường để đi. Hầu hết các ngôn ngữ chức năng là tốt cho toán học là tốt. Python cũng tốt, kiểm tra tài liệu toán học .

Mô-đun này luôn có sẵn. Nó cung cấp quyền truy cập vào các hàm toán học được xác định bởi tiêu chuẩn C.

Các hàm này không thể được sử dụng với số phức; sử dụng các hàm cùng tên từ mô đun cmath nếu bạn cần hỗ trợ cho các số phức. Sự khác biệt giữa các hàm hỗ trợ các số phức và các hàm không được tạo vì hầu hết người dùng không muốn học toán học nhiều như yêu cầu để hiểu các số phức. Nhận một ngoại lệ thay vì kết quả phức tạp cho phép phát hiện sớm hơn số phức bất ngờ được sử dụng làm tham số, để lập trình viên có thể xác định cách thức và lý do tại sao nó được tạo ở vị trí đầu tiên.

Các chức năng sau được cung cấp bởi mô-đun này ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.