Làm thế nào để tiến vào lập trình chức năng cấp cao hơn [đóng]


12

đầu tiên tôi xin lỗi nếu đây không phải là nơi thích hợp cho câu hỏi này nhưng tôi nghĩ rằng th.CS không phải là nơi phù hợp để chắc chắn không phải là StackOverflow.

Tôi thực sự thích lập trình chức năng và tôi nghĩ tôi là một người ở cấp độ trung bình trong F # và hiểu các khái niệm cơ bản của Haskell khá tốt - và vâng tôi nghĩ tôi biết / cảm thấy như tôi biết Monad là gì.

Bây giờ tôi thực sự muốn đưa nó lên một tầm cao mới và muốn hiểu tất cả những gì nói về functor và những thứ khác là gì. Tôi chỉ không biết bắt đầu từ đâu.

Đọc gì về Lambda Tính? Thể loại lý thuyết? Cả hai tôi đều biết một chút và tôi không nghĩ rằng đây là cách giác ngộ đúng đắn / nhanh nhất.

Có lẽ bạn có thể cho tôi một số gợi ý về điều đó.

Tái bút: Tôi không sợ môn toán và tôi không nản lòng với các bài tập dễ dàng nhưng tôi sẽ mở đầu một số phần giới thiệu / văn bản nơi bạn có thể đặt một số mã xuống vì cách này bạn nhận được phản hồi ngay lập tức.

Câu trả lời:


6

F # là một khởi đầu tốt, bạn nên tiếp tục với Haskell, và chắc chắn đọc lên tính toán lambda và đọc các Giấy tờ Lambda đã đề cập ở trên.

Sử dụng ngôn ngữ lai (Clojure, Scala, OCaml, ...) có thể giúp dễ dàng sử dụng ngôn ngữ này nếu bạn đến từ nền tảng OO, nhưng tôi nghĩ rằng nếu bạn thực sự muốn hiểu về tư duy progamming chức năng, bạn nên đi tìm vật thật (Haskell, Lisp, ...).


cảm ơn - tất nhiên tôi sẽ gắn bó với F # (tôi có thể sử dụng mã này trong mã sản xuất ...) và tôi sẽ cố gắng học thêm haskell - nhưng điều này khó hơn vì tôi thấy khá khó để làm những việc khác ngoài ứng dụng console trong haskell (chưa). - Lược đồ có thể hay (đã có một tập ngắn ở Lisp một lần) nhưng OCaml gần giống như F # (tôi nghĩ)
Carsten

@ CarstenKönig: Có khá nhiều dự án rất thú vị mà bạn có thể làm mà không phải lo lắng về UI. Một lựa chọn tuyệt vời đang làm việc trên một ngôn ngữ lập trình: viết một trình thông dịch Scheme hoặc Prolog đơn giản trong Haskell là một bài tập tuyệt vời và sống hạnh phúc trên dòng lệnh.
Tikhon Jelvis

4

Tôi khuyên bạn nên đọc ba cuốn sách đó nếu thời gian là thứ xa xỉ mà bạn có:

Ba cuốn sách này sẽ làm phong phú thêm sự hiểu biết của bạn về Lập trình chức năng nói chung.


Thời gian ATM không phải là vấn đề - và tôi sẽ mất một chút thời gian nếu tôi tìm thấy năng lượng vào buổi tối ... dù có thể chậm nhưng bình thường tôi có thể đọc được rất nhiều. Tất nhiên với những loại sách tôi tốc độ của tôi sẽ làm chậm như rùa bò ... nhờ (sadly người cuối cùng có vẻ là ra khỏi in ... không thể đứng đọc từ màn hình)
Carsten

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.