So sánh Sách Ngắn - Lập Trình Haskell (Nguyên văn:Short Book Comparison - Haskell Programming)


Summary

Key Points:

Nguyên văn

You have been permanently redirected here from the old URL (https://www.vanirsystems.com/danielsblog/2007/03/07/short-book-comparison-haskell-programming).

A mini book review (and comparison) for those learning the Haskell Programming Language.

I am, as some people know, currently studing the Haskell Programming Language. I have also recently fell in (academic) love with the Functional Programming Philosophy. So I have got two books out of the library and I have bought another, all three are on the subject of Haskell, and all three are aimed at beginners learning at University. They are:

Bird, R. Introduction to Functional Programming using Haskell (2nd Ed). Prentice-Hall 1998.
Hutton, G. Programming in Haskell. Cambridge University Press 2007.
Thompson, S. Haskell: The Craft of Functional Programming (2nd Ed). Addison Wesley 1999.
Bird and Hutton are books that I have from the library. I have bought Thompson as it was my core textbook.

I shall start with Thompson, this is a very very easy book to read. Each chapter is split up into particular topics, with just enough overlap to make it feel continuous. The book is split into just about enough haskell examples, and the books website is useful. Contains little mathematical notation, so suits more of the computing student rather than the mathematical.

Next we have Hutton, a reasonably short book but contains absolutely everything that the beginner needs to know. Takes more of a mathematical standpoint than Thompson, and does tend to use a few mathematical symbols rather than haskell exact code (however there is a mathematical to haskell code table in the back of the book). Topics do tend to merge between chapters, which only the individual reader/programmer can tell whether is a good thing or not for their particular learning style. The books website (and Graham Huttons) is an excellent resource for Haskell and Functional Programming. This book suits both the mathematical student and the computing student. Hutton is the newest of the three.

Finally there is Bird, I found this book really hard to read naturally and I am not entirely sure why, so I will try my best to reason. There are many many examples in this book, which is a good thing. Explanations of how things work, tend to be very broken between examples, which is not so good. Has a good section on Monads and Trees. A lot more mathematical style than both Thompson and Hutton, so mathematical students should be at home, whereas computing students may need to brush up on their mathematics (particularly discrete mathematics). The paperback cover is quite stiff, which means that it is hard to keep the book open, which can be a bit off putting too.
Overall:

If you are a maths student: Go for Bird, but have a look at Hutton.
If you are a maths student with a love for computers, or a computing student with a love for maths: Go for Hutton.
If you are a computing student: Go for Thompson, but also have a very very in-depth read of Hutton as it provides just enough maths to help the computing students background knowledge.
I am a computing student, with a hint of maths (I actually really like logic and philosophy) so I find Thompson very useful.. however if I were to run a course on Haskell I would probably teach from Hutton as its a nice read and prooves every example with plain English explanations.

My ratings:

Bird: 2.5 or 3 star
Hutton: 4.25 star
Thompson: 4.2 star
I hope this has been a good little review for you. If you feel the same, or feel differently then please comment (not going to bite your head off)… or if you have found a different book which you feel is useful then your comment is very warmly welcome.

Quan điểm mới


Nhớ lại cách đây vài năm, khi mình viết bài review nhỏ này về các sách học Haskell, mình cảm thấy khá hào hứng. Lúc đó, mình đang trong giai đoạn “đắm chìm” vào thế giới của lập trình hàm, và Haskell là một ngôn ngữ khiến mình vừa thích thú vừa đau đầu. Mình đã dành khá nhiều thời gian để đọc và so sánh ba cuốn sách, và cảm giác như mình đang khám phá một vùng đất mới vậy.

Cuốn đầu tiên mình đọc là của Thompson. Nó dễ đọc lắm, kiểu như từng chương được chia nhỏ rõ ràng, không quá nhiều toán học, phù hợp với dân công nghệ như mình. Mình thích cách tác giả viết, rất mạch lạc và dễ hiểu. Nhưng rồi mình cũng phải thừa nhận, Hutton mới là cuốn khiến mình ấn tượng nhất. Nó ngắn gọn nhưng chứa đủ mọi thứ cần thiết, và mình thích cách tác giả kết hợp giữa toán học và lập trình. Hutton phù hợp với cả dân toán lẫn dân công nghệ, và mình nghĩ nếu dạy Haskell, mình sẽ chọn cuốn này làm giáo trình.

Còn Bird thì… hơi khó nuốt với mình. Có lẽ vì nó thiên về toán học nhiều hơn, và cách viết cũng không được trôi chảy lắm. Mình cảm thấy như mình phải cố gắng rất nhiều để theo kịp, và điều đó khiến mình hơi nản. Nhưng mình vẫn công nhận nó có những phần hay, đặc biệt là về Monads và Trees.

Nhìn chung, mình thấy mỗi cuốn sách đều có điểm mạnh riêng, và tùy vào background của mỗi người mà sẽ phù hợp với cuốn nào. Mình là dân công nghệ, nhưng cũng thích toán học, nên mình thấy Thompson và Hutton đều rất hữu ích. Còn Bird thì… mình nghĩ nó dành cho những ai thực sự đam mê toán học hơn.

Viết bài review này, mình cảm thấy như mình đang chia sẻ một phần hành trình học tập của mình với mọi người. Mình hy vọng nó sẽ giúp ích cho ai đó đang tìm hiểu về Haskell. Và nếu bạn có ý kiến khác, hoặc có cuốn sách nào hay hơn, mình rất muốn nghe chia sẻ của bạn. Mình không cắn đâu, đừng lo! 😄
Extended Perspectives Comparison:

Reference Articles

Tên môn học: Lập trình giao diện Khoa: Công nghệ thông tin

Mục tiêu, yêu cầu môn học: » Môn học cung cấp cho sinh viên các nguyên lý cơ bản về thiết kế và lập trình các ứng dụng có giao diện trực.

CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

41. Nghiên cứu một số phương pháp cải thiện chất lượng tín hiệu tiếng nói / Bùi Thế. Anh; Người hướng dẫn khoa học: Trịnh Văn Loan. ... Nguyễn Xuân Huy, Nguyễn ...

THƯ MỤC QUỐC GIA THÁNG 7 NĂM 2023

Nguyễn Khanh Văn. Giáo trình Cơ sở an toàn thông tin / Nguyễn Khanh Văn. - Xuất bản lần thứ 4. - H. : Bách khoa Hà Nội, 2023. - 255 tr ...


vanirsystems

Expert

Related Discussions

❖ Related Articles