HN2new | past | comments | ask | show | jobs | submitlogin

Why wait for the future, you can program in APL or (I recommend this one) J today!

Have a look at quicksort in J: quicksort=: (($:@(<#[), (=#[), $:@(>#[)) ({~ ?@#)) ^: (1<#)

Cute, isn't it?

I was playing with J for some time - a few weekends maybe - I managed to get to the level of conscious incompetency, which is a lot for such a foreign language and then stopped, I just had enough. J is certainly very powerful, consistent and logical language and I believe that after some years I would be able to read and comprehend J's code almost as fast as any other language from the get go. I'm just not convinced it's worth it.

Put another way: I certainly hope that future programming languages will not look more like J. And you can, of course, grab a J system and use it today if you want.



What about APL? The quicksort example from http://rosettacode.org/wiki/Sorting_algorithms/Quicksort reads:

qsort ← {1≥⍴⍵:⍵⋄ e← ⍵[?⍴⍵]⋄ (∇(⍵<e)/⍵), ((⍵=e)/⍵), ∇(⍵>e)/⍵}

Unlike J, all the brackets/parens/etc are balanced, and the functions and operators have single-character names.

Having played with both APL and J, I find APL to be easier to read. J was really just an experiment, adding rank matching and forks and hooks to APL, as well as using ASCII only for syntax. It doesn't take long to remember the keys for entering the non-ASCII characters into APL, and it looks more readable than J.

I think a future programming language should have precedences for its operators, though.


You just don't like using English punctuation as function names.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: