Article:
Làm quen với Clojure
1138
ngocdaothanh.myopenid.com 148Updated 24 days ago |
Java Virtual Machine (JVM) là nền tảng hấp dẫn vì có nhiều thư viện nhất trong các loại nền tảng và tốc độ nhanh. Ngôn ngữ chỉ là tập hợp các qui luật logic, bất kì ngôn ngữ nào cũng chỉ cần dịch sang byte code theo đúng chuẩn JVM là chạy được trên nó, nên ngoài Java trên JVM hiện có cả trăm ngôn ngữ.
Xu hướng hiện nay là đa lõi, hiện có 2 ngôn ngữ nổi bật trên JVM hỗ trợ đa lõi là Scala và Clojure. Bài Khủng hoảng đa lõi: Scala vs. Erlang đã đề cập Scala, bài này giới thiệu Clojure bằng cách so sánh với Scala và Erlang, sau đó hướng dẫn cách thiết lập môi trường học.
Article:
Thay defstruct và defmulti/defmethod bằng defrecord và defprotocol
73
ngocdaothanh.myopenid.com 148Updated about 1 month ago |
Clojure là ngôn ngữ thuần functional có hỗ trợ OOP. Về mặt khoa học máy tính, có nhiều cách để thực hiện đa hình. Ở phiên bản trước 1.2, đa hình trong Clojure được thực hiện thông qua giải pháp polymorphic dispatch thông qua defmulti/defmethod rất tổng quát. Từ phiên bản 1.2, Clojure thêm defprotocol giúp đơn giản hóa trường hợp đa hình theo kiểu type-based dispatch truyền thống (kiểu của các ngôn ngữ như C++ và Java). Hơn nữa để tăng tốc độ chạy, Clojure 1.2 khuyên nên dùng defrecord thay cho defstruct trong mọi trường hợp.
Dưới đây là đoạn mã ví dụ theo tinh thần của bài tập 4OOP. Theo phong cách của Clojure, số lượng kiểu được giữ ở mức tối thiểu (phong cách Clojure là thà thiết kế 100 hàm để thao tác trên 1 kiểu dữ liệu còn hơn 10 hàm trên 10 kiểu dữ liệu), nên ta chỉ tạo 2 kiểu là Cat và Dog, không tạo kiểu Zoo.
Forum:
Xử Lý Ảnh
94
Article:
Cài và xài RVM
122
ngocdaothanh.myopenid.com 148Updated about 1 month ago |
Khi xài Ruby, thường ta có nhu cầu cài nhiều bản Ruby (1.8.7, 1.9.2 v.v.) và gem. RVM (Ruby Version Manager) là chương trình cho hệ điều hành *nix giúp dễ dàng cài đặt và quản lí Ruby và gem trên cùng một máy, switch qua switch lại giữa các bản Ruby và các bộ gem rất nhanh chóng tiện lợi. Xài RVM thì không cần package Ruby do distro cung cấp sẵn.
Bài viết này hướng dẫn cách cài và xài RVM trên *nix. Để hiểu bạn cần chút kinh nghiệm Ruby và *nix.
Forum:
Phân vùng ảnh(Segmentation)
1471
nguyenviet88.myopenid.com 1about 1 month ago |
Article:
Cài JDK của Sun lên CentOS 5
128
ngocdaothanh.myopenid.com 148Updated about 1 month ago |
Có vài loại JDK: Sun JDK, IBM JDK, OpenJDK v.v. Sun JDK thường được chuộng hơn cả vì cho cảm giác an tâm, vì thi thoảng chương trình viết xong chạy ngon lành trên Sun JDK nhưng lại văng lỗi khi chạy trên OpenJDK chẳng hạn.
Bài viết này tóm tắt cách cài Sun JDK lên CentOS 5 bản 64 bit.
|
vuhung.myopenid.com about 1 month ago |
Article:
Lựa chọn ngôn ngữ
696
nguoitapdich.myopenid.com 35Updated about 1 month ago |
Dưới đây là trích đoạn bài viết Choosing languages của Steve Yegge, cựu nhân viên của Amazon và đương kim nhân viên của Google. Mặc dù bài này viết năm 2005, đã lâu, nhưng chứa một số ý tưởng có lẽ vẫn còn đúng tại thời điểm hiện tại.
Article:
9 khác biệt của Lisp
405
nguoitapdich.myopenid.com 35Updated about 1 month ago |
Theo thời gian, các ngôn ngữ đã từng bước tiến hoá về Lisp. 1-5 bây giờ đã phổ biến. 6 đã bắt đầu xuất hiện trong các ngôn ngữ được sử dụng nhiều nhất. Python có ý tưởng của 7, mặc dù nó chưa chính thức có cú pháp riêng cho ý tưởng này. 8 (là cái cho phép viết macro trong Lisp, đi đôi với 9) vẫn chỉ có trong Lisp, có lẽ vì (a) cần sử dụng dấu ngoặc ( ), hoặc cái gì đó tương tự, và (b) nếu ngôn ngữ của bạn làm được, thì bạn không thể tuyên bố bạn mới phát minh ra được ngôn ngữ mới, mà ngôn ngữ của bạn chỉ là một biến thể của Lisp
Article:
Mã nguồn mở hoạt động như thế nào?
413
nguoitapdich.myopenid.com 35Updated about 1 month ago |
Cách mã nguồn mở hoạt động vẫn là bí ẩn đối với nhiều người. Hi vọng bài viết nhằm gây quỹ cho Clojure dưới đây sẽ giúp giải tỏa thắc mắc cốt lõi của nhiều người về mã nguồn mở: mô hình kinh doanh. Hoặc dễ hiểu hơn: tiền đâu?
It is important when using open source software that you consider who is paying for it, because someone is. There is no such thing as free software.
Một điều quan trọng khi sử dụng phần mềm mã nguồn mở là bạn để ý xem ai đang trả tiền cho nó, bởi vì, nguời nào đó đang trả tiền. Chả có cái gì là phần mềm miễn phí cả.
Article:
You Might Be A Blub Neck (Bạn Có thể là Lập trình viên Không hiểu biết Công nghệ)
394
nguoitapdich.myopenid.com 35Updated about 1 month ago |
In Beating the Averages, Paul Graham formulated the Blub paradox. In short a programmer who only knows a language called Blub looks down on all languages that don't support features that Blub has. At the same time, he1 is incapable of understanding why he would want to use some weird language that has features that Blub doesn't have. The Blub programmer is so used to thinking in Blub that he can't get his head around anything non-Blub.The question is, how do you know if you or somebody else is a Blub programmer? Of course it goes without saying that anybody who reads this blog is kind, highly intelligent, open minded, and motivated to learn.
Trong Đánh bại những Công ty Làng nhàng, Paul Graham đã trình bày về mâu thuẫn Blub. Nói ngắn gọn là, một lập trình viên chỉ biết duy nhất một ngôn ngữ gọi là Blub coi thuờng tất cả các ngôn ngữ không hỗ trợ các tính năng mà Blub có. Cùng lúc đó, anh ta [1] không có khả năng hiểu tại sao anh ta lại cần sử dụng các ngôn ngữ quái đản có các tính năng mà Blub không có. Lập trình viên Blub quá quen suy nghĩ theo Blub đến nỗi anh ta không thể nghĩ đến cái gì khác ngoài Blub. Câu hỏi là, làm sao bạn biết đuợc nếu bạn hay một nguời nào đó là một lập trình viên Blub? Dĩ nhiên ở đây cho rằng ai đọc blog này đều là nguời tử tế, trí tuệ cao, đầu óc cởi mở, và năng động học hỏi.
The comedian Jeff Foxworthy had about five minutes of fame with a schtick of starting each joke with "you might be a redneck if..." Five minutes is a lot more fame than the average blog entry gets, so I thought I'd steal his formula for success.
Diễn viên hài Jeff Foxworthy có năm phút nổi tiếng với một chuỗi hài huớc là bắt đầu mỗi chuyện cuời bằng "bạn có thể là một gã da trắng nghèo nếu..." Năm phút đó nổi tiếng hơn nhiều so với một bài blog làng nhàng, vì vậy tôi nghĩ tôi sẽ lấy trộm công thức thành công của ông ấy.
Here, with a slight modification of the formula, I present
Đây, sau khi sửa đổi chút ít công thức, tôi xin giới thiệu cùng quí vị
148








about 1 month ago