2009-09-29 26 views
7

Tôi biết tất cả 3 đều có liên quan, và tôi đã thấy một vài câu trả lời cho các vấn đề trong số Project Euler được viết bằng J, và một số văn bản K. Điều tôi thắc mắc là bạn sẽ đề xuất điều gì học hỏi, và bạn sẽ gợi ý đi đâu về việc nhận tài liệu để học nó?Học J/K/APL

+1

@Mark: Compiled C nhìn vào trong một trình xem hex không có ý nghĩa nhiều, hoặc, nhưng có một logic để mớ hỗn độn đó chỉ giống nhau. – MPelletier

Trả lời

2

Do bản chất của ngôn ngữ cá nhân, và sự sẵn có của vật chất, tôi sẽ đi với J.

J phiên dịch hiện tại không phải là mã nguồn mở, nhưng spec ngôn ngữ là. Vì vậy, nếu thông dịch viên chính thức của J không còn miễn phí nữa, một dự án nguồn mở có thể thực hiện nó.

K có vẻ như đã chết và được thay thế bằng Q. Tất cả giấy phép trên đó dường như là độc quyền và thông dịch viên có vẻ khó tìm hơn (vì họ đang cố gắng bán kdb, chứ không phải Q).

Tôi không thể tìm thấy phiên bản APL để sử dụng.

+1

Đối với APL: try NARS2000 –

+0

Tôi thấy J là thứ dễ sử dụng nhất hiện có. Tôi quá than phiền vì thiếu một giải pháp mã nguồn mở hiện đại, đặc biệt là kể từ khi J Software không quan tâm đến việc hỗ trợ một trong các nền tảng của tôi, nhưng có vẻ như tình hình có thể thay đổi vì có vẻ như là một sự đổi mới quan tâm đến các ngôn ngữ này. –

8

APL

Created by Kenneth Iverson là ngôn ngữ lập trình mảng gốc. Sử dụng bộ ký tự không phải ASCII vì không có từ dành riêng. British APL Association giữ danh sách thông dịch viên cập nhật (cả miễn phí lẫn thương mại) cũng như thông tin về các ngôn ngữ lấy cảm hứng từ APL được trình bày bên dưới.

A +

Created by Arthur Whitney như một theo dõi để APL. Mã nguồn có sẵn theo GPL và có phần mở rộng XEmacs đi kèm. Tải xuống từ số website.

J

Created by Kenneth Iverson và Roger Hui, điều này chỉ đòi hỏi ký tự ASCII. Nguồn được sử dụng để chi phí tiền bạc, mặc dù gần đây đã được phát hành theo GPL. Tải xuống từ số website.

K

Một ngôn ngữ Arthur Whitney, điều này cũng sử dụng các ký tự ASCII. Công ty đằng sau nó đã ngừng hoạt động ngôn ngữ, nhưng có mã nguồn mở Kona.

Q

Được xây dựng trên đỉnh của K bao gồm truy vấn giống SQL/join khả năng (bảng là một built-in container), ngôn ngữ này được xây dựng trên xử lý nhiều dữ liệu. Phiên bản được cấp phép phi thương mại có thể được tải xuống từ website.


Đối với những gì được sử dụng tích cực, Q khá phổ biến về tài chính, trong khi J có sự hỗ trợ từ học viện và người có sở thích. Hai người đó là đặt cược tốt nhất của bạn cho lập trình mảng trong những ngày này.

0

Có một thông dịch viên APL miễn phí có tên NAS2000, nhưng tôi thấy rằng nó chỉ là hữu ích cho bằng chứng của khái niệm. Đôi khi tôi nhận được kết quả không chính xác (tôi đã lập trình trong APL năm trước về mọi thứ từ một máy tính 8K IBM 1130 đến PC/XT và đôi khi tôi cho rằng kết quả là sai) trong khi thời gian khác chúng chỉ chậm một cách khủng khiếp. Trường hợp tốt nhất trong J nó chạy nhanh như mọi thứ. Tôi chưa bao giờ sử dụng K, tôi đã cố gắng thực hiện khoảng 100 vấn đề Euler trong J, và tôi mới bắt đầu thực sự hiểu thứ hạng. (Khoảng 10 trong số đó, tôi đã thực hiện trong D, một trong Lisp với tính toán hỗ trợ trong J, và một trong gói lập trình tuyến tính số nguyên mà sau đó tôi đã bỏ qua D khi tôi thấy rằng nó sẽ không trả lời đúng cho dù tôi được gọi là các ràng buộc được mã hóa đúng cách

J là một ngôn ngữ toán học và phù hợp với hầu hết các vấn đề về Euler, vì vậy chỉ cần hunkering xuống và thực hiện chúng, tìm kiếm trên trang jsoftware.com khi bạn cần phải, là điều tốt nhất bạn có thể làm