J може бути читабельним

  
Жесть! Це як програмування через регулярні вирази…
Ні, ви мене не змусите! Більше ніколи!
Дивлюся на код і відчуваю себе ідіотом. Це правда не езотеричний мову типу brainfuck? Їм хтось реально користується? І ці програми потім читають?
quicksort=: (($:@(<#[), (=#[), $:@(>#[)) ({~ ?@#)) ^: (1<#)
Perl нервово курить збоку.
Хабрахабр про J
 
 imageJ — корейська серед мов програмування. Вибух на фабриці спецсимволов. Купа скобочек, точок, Слеш, і все це ще й працює. Не інакше як за велінням чорної магії, а то й самого Сатани.
 
Деякі з тих, хто пише на J, забувають прості правила написання будь-якого коду в гонитві за стислістю або просто захопившись. Ці правила не нові, але вони набувають критичне значення стосовно до APL-подібним мовам, тому як при читанні конструкцій на зразок
((]i.~[:{.[){([:{:[),]`([:<[$:[:>])@.([:32&=[:3!:0[:>]))"2 0
навіть тренований мозок згортається в трубочку.
 
Отже, прості правила написання читаного коду на J під катом.
 
Без словничка під кат краще не потикатися. Вас попереджали.
І нагадаю, список корисних посилань тут .
 
Читати далі →

J: програмування на смайликах

  Мова J багатьма, в тому числі і на Хабре , вважається write-only language (що, загалом-то, неправда) або програмуванням через регекспи. Важливо пам'ятати, що J — це ASCII-версія математичної нотації Айверсона, що лежить в основі APL. Точно так само, як неможливо прочитати Хиндли-Мілнера , не знаючи математичної нотації, код кшталт
value =: [:(]`{.@.([:1&=#))[:,[:>[((([:<[)=[:{.])#[:{:])[:>]
не може бути зрозумілий людині, незнайомому хоча б зі словником мови.
 
Під катом невелика добірка підручників і туторіали по темі для зацікавилися. (Увага: все ресурси англійською мовою)
Читати далі →