2009-09-29 15 views
7

Wiem, że wszystkie trzy są powiązane, a ja widziałem wiele odpowiedzi na problemy w Project Euler napisane w J, i kilka napisanych K. Zastanawiam się, co byś zasugerował uczenie się i gdzie chciałbyś polecić chodzenie o materiały do ​​nauki?Nauka J/K/APL

+1

@ Mark: Skompilowany C spojrzał w szesnastkowym widzu też nie ma większego sensu, ale jest logika do tego bałaganu po prostu to samo – MPelletier

Odpowiedz

2

Biorąc pod uwagę natury poszczególnych języków oraz dostępność materiałów, mam zamiar iść z J.

Prąd J tłumacza nie jest open source, ale język jest spec. Tak więc, gdyby oficjalny interpreter J nie był już wolny, projekt open source mógłby go wdrożyć.

K wydaje się być martwy, a zastąpiony przez Q. Wszystkie licencje na nim wydają się być prawnie zastrzeżone, a tłumacz wydaje się trudniejszy do znalezienia (ponieważ próbują sprzedać kdb, a nie Q).

Nie mogę znaleźć wersji APL do użycia.

+1

Dla APL: spróbuj NARS2000 –

+0

Uważam, że J jest obecnie najbardziej użyteczną rzeczą. Ja też lamentuję nad brakiem nowoczesne rozwiązanie open source, zwłaszcza, że ​​J Software nie jest zainteresowany obsługą jednej z moich platform, ale wydaje się, że sytuacja może ulec zmianie, ponieważ wydaje się, że zainteresowanie tymi językami jest odnowione. –

8

APL

Utworzona przez Kennetha Iverson jako oryginalnego języka programowania tablicą. Używa zestawu znaków spoza zestawu ASCII, ponieważ nie ma zarezerwowanych słów. British APL Association zawiera aktualną listę tłumaczy (zarówno bezpłatnych, jak i komercyjnych), a także informacje o językach inspirowanych przez APL omówionych poniżej.

A +

Utworzony przez Arthura Whitney jako następstwie APL. Kod źródłowy jest dostępny na licencji GPL i zawiera dołączone rozszerzenie XEmacs. Pobierz z website.

J

Utworzona przez Kennetha Iverson i Roger Hui, wymaga to tylko znaki ASCII. Źródło służyło do pokrycia kosztów, choć ostatnio zostało wydane na licencji GPL. Pobierz z wersji website.

K

Innym język Arthur Whitney, to również używa znaków ASCII. Firma, która za tym stoi, wycofała się z tego języka, ale jest open-source Kona.

Q

Zbudowany na szczycie K zawierać zapytanie SQL-like/join możliwości (tabele są wbudowane w pojemniku), język ten jest zbudowany na obsługę dużej ilości danych. Niekomercyjną wersję licencjonowaną można pobrać z website.


chodzi o to, co aktywnie wykorzystywane, Q jest dość popularny w finansach, natomiast J ma pewne wsparcie ze strony środowisk akademickich i hobbystów. Te dwa są obecnie najlepszym rozwiązaniem do programowania tablic.

0

Jest bezpłatny interpreter nazywany NAS2000 APL, ale uważam, że jest to przydatne tylko dla proof of concept. Czasami otrzymuję niepoprawne wyniki (zaprogramowałem w APL lata temu wszystko od 8K IBM 1130 na PC/XT i czasami myślę, że wyniki są złe), podczas gdy inne czasy są po prostu strasznie powolne. Najlepszy przypadek w J działa tak szybko, jak cokolwiek innego. Nigdy nie używałem K, próbowałem zrobić około 100 problemów Eulera w J, i dopiero zaczynam naprawdę rozumieć rangę. (Około 10 z nich, zrobiłem w D, jeden w Lisp z obsługą obliczeń w J, i jeden w całkowitym pakiecie programowania liniowego, który następnie porzuciłem dla D, gdy odkryłem, że to nie dałoby mi poprawnej odpowiedzi pomimo tego, co ja Uważa się, że są to właściwie zakodowane ograniczenia:

J jest w swej istocie językiem matematycznym i dobrze pasuje do większości problemów związanych z Eulerem, więc po prostu przerywa i wykonuje je, przeszukując stronę jsoftware.com, gdy Potrzebuję, to najlepsza rzecz, którą możesz zrobić