01/10/2018, 11:00

Ngôn ngữ lập trình hàm cho người mới bắt đầu

Ngôn ngữ lập trình hàm - functional language - đầu tiên mà bạn tiếp cận là ngôn ngữ nào nhỉ? Hoặc dự định học ngôn ngữ nào? Tham khảo tí.

Hung viết 13:10 ngày 01/10/2018

Đầu tiên mình nhá:
Haskell, Elixir, Elm.

Vô Thin viết 13:15 ngày 01/10/2018

Mình đã từng chứng kiến ít nhất 3 thằng mà theo mọi người nhận xét là “chúng mày là bọn ăn hại, còn lâu mới trở thành lập trình viên được”, thế mà cả 3 thằng sau này đều trở thành lập trình viên Java, lương tháng > 1.500 đô-la. Bọn này bắt đầu học ngôn ngữ lập trình chả ai biết đó là đâu https://en.wikipedia.org/wiki/Scheme_(programming_language)

Triet viết 13:01 ngày 01/10/2018

Ngôn ngữ gì vậy anh? Ở đâu dạy mà họ học được?

Hung viết 13:04 ngày 01/10/2018

Scheme lần đầu mình biết luôn.
Bạn là 1 trong 3 người?

Hung viết 13:07 ngày 01/10/2018

Lập trình hàm là họ ngôn ngữ lập trình khác, sử dụng thuật ngữ và phong cách lập trình riêng, khác với C++, Python,…, là ngôn ngữ thủ tục, OOP

Đổi gió sang phong cách lập trình mới để khỏi nhàm chán


Không có ai dạy, toàn tự học.

Zhang Jike viết 13:00 ngày 01/10/2018

Mình cũng viết back end với Elixir. Ngôn ngữ lập trình hàm rất sáng sủa

Vô Thin viết 13:09 ngày 01/10/2018

Điều khôi hài là cái ngôn ngữ Scheme có nhiều điểm khác biệt với Java, nhất là trong việc nó lập trình thủ tục (đôi lúc được xem là xưa cũ, lỗi thời) hơn là hướng đối tượng.

Nhưng mà khi học Scheme tốt, rất dễ để chuyển sang một ngôn ngữ khác, có lẽ Scheme cũng giống như Pascal, nó vốn là ngôn ngữ để bắt đầu học lập trình, nó không phải là ngôn ngữ mạnh để làm ra sản phẩm, cho nên người nào học thường ít bị xao nhãng, chú tâm vào việc lập trình hơn là bị ngứa ngáy phải làm gì đó. Việc này khá giống với việc đi học võ với tinh thần học cho khoẻ, học cho có bạn bè bà tám, học vì thấy múa đẹp,… không phải để đánh nhau thường sẽ trụ lâu hơn, theo nghề võ cả đời, trong khi những ai mang tâm thế đi học võ để đánh nhau thường sớm rơi rụng.

Hung viết 13:12 ngày 01/10/2018

Bạn làm product trên Elixir luôn rồi à?
Còn mình mới học ngôn ngữ thôi.

Hung viết 13:02 ngày 01/10/2018

Mình bắt đầu với Haskell thay vì Scheme.
Haskell được tạo ra để giảng dạy là chủ yếu. Mục đích Haskell được tạo là để thống nhất và hiện thực chính xác các thuật ngữ bên lập trình hàm. Ứng dụng thực tế của Haskell không có nhiều.

Sau khi học cơ bản của Haskell thì mình thấy các ngôn ngữ khác vay mượn thuật ngữ và ý tưởng rất nhiều: lambda, curry function, high order function, lazy collection (stream), functor, applicative functor, monad.

Vế scheme, mình thấy phần MetaProgramming của Elixir vay mượn lại từ Scheme thì phải. Tuy nhiên, bên Scheme tổng quát hơn Elixir.

Zhang Jike viết 13:11 ngày 01/10/2018

Đúng rồi. Mình đang làm Elixir/Phoenix

Nguyen Ca viết 13:08 ngày 01/10/2018

Java 8 bắt đầu mang hơi hướng lập trình hàm rồi, đang muốn thay đổi mindset để học đây. mà đúng là chả dễ thay đổi mindset tí nào.

Kevin viết 13:09 ngày 01/10/2018

học Kotlin - a modern programing language - bạn ơi

Hung viết 13:08 ngày 01/10/2018

Topic thảo luận ngôn ngữ hàm mà
Kotlin là ngôn ngữ hỗn hợp từ thủ tục, OOP, lập trình hàm.

Nếu bạn biết phần lập trình hàm của Kotlin, hay hơn như thế nào thì bạn cứ đóng góp.
Mình cũng chưa học Kotlin sâu lắm đâu.

Hung viết 13:11 ngày 01/10/2018

Bạn thử học 1 ngôn ngữ thuần hàm đi bạn.
Trước mình học Scala (OOP + hàm) mà vẫn không thay đổi được mindset. Từ khi mình chịu bỏ thời gian, học Haskell thì lúc đó mình mới đầu có mindset cơ bản.

Tầm nửa tháng cho Haskell

Nguyen Ca viết 13:12 ngày 01/10/2018

chắc để thử, 5 năm làm với OOP, code nó cứ quen tay theo OOP =))

Kevin viết 13:04 ngày 01/10/2018

Học ngôn ngữ theo nhu cầu, đừng học theo trào lưu, chúng ta là software dev, ko phải là những con quạ mà theo đuổi những thứ lấp lánh. Ngôn ngữ lập trình cũng giống như võ thuật vậy, ko có ngôn ngữ của Chúa-không có môn võ mạnh nhất, chỉ có sản phẩm tốt và võ sĩ mạnh nhất

Thành Trần Công viết 13:12 ngày 01/10/2018

la (OOP + hàm) mà vẫn không thay đổi được mindset. Từ khi mình chịu bỏ thời gian, học Haskell thì lúc đó mình mới đầu có mindset cơ bản.

Cũng đang cày Haskell xoắn đến mấy cái Monad mới thấy nó đã =)). Đúng là ko nên lập trình functional với thằng Scala vì nó có tính OOP trong đó chơi thuần Functional Haskell là chuẩn, Lisp thì bịn Retain Assign

Tuấn Nguyễn viết 13:14 ngày 01/10/2018

em chưa hiểu về lập trình hàm lắm, pascal có phải không,

Thành Trần Công viết 13:01 ngày 01/10/2018

Pascal thì chỉ là lập trình thủ tục thôi. Cứ học từ từ đừng quan tâm đến nhiều quá vì thới giới IT rất rộng lớn. Trong quá trình học thì sẽ lắp hoặc bắt gặp được những kiến thức và sẽ nạp vào sau thôi.

Tên Gì Cũng Được viết 13:05 ngày 01/10/2018

scala, ở trường mình chơi với cái đó

Bài liên quan
0