Archive for April, 2010

Literal

FP xem tất cả mọi thứ đều là giá trị, kể cả hàm. Mặc dù F# không phải là một ngôn ngữ thuần functional, nhưng nó vẫn khuyến khích bạn viết chương trình theo phong cách functional. Nghĩa là thay vì dùng những câu lệnh có thể gây ra hiệu ứng phụ, bạn được khuyến khích sử dụng các biểu thức và phép toán trả về giá trị. Ở phần tiếp theo, bạn sẽ khảo sát qua một số cấu trúc chính của ngôn ngữ F# hỗ trợ FP paradigm, để học cách lập trình theo phong cách functional dễ dàng hơn.

Literal biểu diễn các giá trị không đổi và là những khối xây dựng hữu ích dành cho việc tính toán. Literal trong F# khá phong phú, được liệt ở bảng dưới đây.

Read more

ASP.NET 4.0 có gì mới?

Có 12 cái mới sau:

  1. Output cache extensibility
  2. Session state compression
  3. View state mode for individual control
  4. Page.MetaKeyword and Page.MetaDescription properties
  5. Response.RedirectPermanent method
  6. Routing in ASP.NET
  7. Increase the URL character length
  8. New syntax for Html Encode
  9. Predictable Client IDs
  10. Web.config file refactoring
  11. Auto-Start ASP.NET applications
  12. Improvements on Microsoft Ajax Library

Xem thêm tại đây: http://www.simple-talk.com/dotnet/asp.net/asp.net-4.0-features/

Tải, cài đặt và sử dụng F#

Visual Studio

F# được cài đặt mặc định với Visual Studio 2010, nên nếu bạn đang dùng phiên bản này thì chắc hẳn bạn cũng đã có F#. Để kiểm tra lại, bạn hãy vào Add/Remove Programs xem đã có Microsoft Visual F# Runtime hay chưa. Nếu chưa có, từ Add/Remove Programs, bạn vào Maintenance Mode của Visual Studio và lần này nhớ chọn option Visual F#.

Trong trường hợp bạn dùng Visual Studio 2008, rất may mắn là bạn có thể download plugin F# tại trang web http://msdn.microsoft.com/fsharp/. Đây là trung tâm thông tin và tài nguyên liên quan đến F#, và tôi khuyên bạn nên thường xuyên ghé đến nơi này để học tập các mẹo vặt lập trình. Bạn hãy tải về phiên bản có phần mở rộng là MSI, vì nó sẽ giúp tích hợp F# vào Visual Studio, còn bản có phần mở rộng là ZIP chính là bản phân phối F# dành cho các hệ thống non-Windows. Trong bản phân phối F# bao gồm bộ biên dịch fsc.exe, bộ soạn thảo trên dòng lệnh fsi.exe, một vài công cụ phân tích, thư viện cơ bản của F#, tài liệu và các ví dụ tham khảo.

Read more

F# là gì?

FP là một hướng tiếp cận tốt để giải quyết nhiều bài toán gai góc, tuy nhiên thuần functional lại không phù hợp để lập trình với những mục đích thông dụng. Do đó, các ngôn ngữ FP dần dần chấp nhận đặc tính lai tạp từ imperative và OO, để vừa giữ được tư tưởng FP truyền thống, lại vừa tích hợp được những tính năng cần thiết để viết chương trình dễ dàng. F# là ngôn ngữ phát triển theo con đường này. Read more

Vì sao Functional Programming lại quan trọng?

Khi người ta nói đến FP, họ thường xem đặc tính không có trạng thái của nó như là một thiếu sót trầm trọng, mà quên đi những ưu điểm của nó. Một lập trình viên có kinh nghiệm làm việc với nhiều paradigm khác nhau có thể chỉ ngay ra rằng: imperative dành 90% số lượng code cho phép gán, trong khi FP thì không có phép gán nào, và số lượng code phải viết trong FP ngắn hơn 90% so với imperative. Tuy nhiên, không có nhiều người bị thuyết phục để lao vào sống trong thế giới “khổ hạnh” của lập trình đệ qui và không trạng thái, như John Hughes đã chỉ ra trong bài báo mang tên “Why Functional Programming Matters”:

“The functional programmer sounds rather like a medieval monk, denying himself the pleasures of life in the hope that it will make him virtuous.”

John Hughes, Chalmers University of Technology
(http://www.cs.chalmers.se/~rjmh/Papers/whyfp.html) Read more

Functional Programming là gì?

Functional Programming[1] là thể loại lâu đời nhất trong ba paradigm[2] lập trình chính. Ngôn ngữ FP đầu tiên là IFP, được phát minh vào năm 1955, một năm trước khi có Fortran. Sau đó, LISP ra đời năm 1958, một năm trước khi có COBOL. Cả Fortran và COBOL đều là những ngôn ngữ imperative[3] (hay còn gọi là procedural). Chúng đặc biệt thành công khi được ứng dụng vào tính toán khoa học và nghiệp vụ, và trở thành paradigm thống trị trong suốt 30 đầu của kỉ nguyên thông tin. Vào những năm 1970, Object-Oriented[4] paradigm bắt đầu phát triển. Cùng với sự trưởng thành của các ngôn ngữ lập trình hướng đối tượng, OO trở thành paradigm được sử dụng phổ biến nhất cho đến ngày hôm nay.

Read more