Excellent! ShalI forward this to the Debian crowd?
Marshall Lochbaum wrote: > Well, I'm not tired of this stuff quite yet, so here goes: > > Brainfuck and APL/J/K get compared a lot on account of being "obfuscated." > This is a bit unfair. The correct terms are, respectively, "contorted" and > "terse." > > There is one thing that the two languages share: they are each an attempt > to get to the root of programming and SIMPLIFY the discipline. Each can be > fully specified in a few pages, if you disregard the vocabulary used in an > array language. However, the two have markedly difficult results. Coding in > Brainfuck ends in long strings of>>>>>> or +++++ , and true automation is > impossible. On the other hand, J code is very compact, in part because it > makes assignment very simple--no distinction is made between primitive and > user-defined functions. > > Nonetheless, people complain that J or Brainfuck code is particularly > complicated. Note the distinction between the "language" and "code" here. > Brainfuck is a simple language with complicated code. We can't refer to the > language as "obfuscated," since that word refers to the addition of > unnecessary detail, and Brainfuck does the opposite. However, the code is > often obfuscated in the sense that it fails to abstract away details, and > thus hinders a higher-level view of the program. Array languages do not > suffer from this difficulty. In fact they are far more extensible than > procedural languages, because they also allow functional manipulation. > > I think the word you are in fact looking for to describe these two > languages is "unfamiliar." This word places the blame where it lies--not on > the language, but on the programmer! Given the functional languages in the > list, I won't accuse you of being completely unknown to programming outside > of the C paradigm, but most of the time when I hear similar complaints > they're from people who think a piece of text is a program if and only if > it contains the phrase "for (int i=0; i<l; i++)." Okay, J doesn't have a > lot of words in it. Neither does "((-b) + sqrt(b^2-4*a*c))/(2*a)." I submit > that within a month of actual use, J code will seem clearer, better > designed, and more useful than any other programming language, mathematical > nomenclature included. > > I once had a friend tell me that "if (x>20) return true; else return > false;" was clearer than the J equivalent ">&20". I hope you can see past > the unfamiliar syntax enough to know that that's false, and I hope you are > open-minded enough to not make the same mistake about APL/J/K before > knowing any of the language. > > Marshall > > On Sat, Dec 24, 2011 at 1:36 PM, Roger Hui<rogerhui.can...@gmail.com>wrote: > >> Reminds me of what Ken told me once: Let's you and him fight. No thanks! >> :-) >> >> Merry Christmas everyone. >> >> >> >> On Sat, Dec 24, 2011 at 9:02 AM, PMA<peterarmstr...@aya.yale.edu> wrote: >> >>> Anybody want to take up the flag? >>> Happy Holidays! >>> PMA >>> >>> -------- Original Message -------- >>> Subject: Re: OT programming languages/ systems for advanced applications >>> on Linux >>> Date: Sat, 24 Dec 2011 11:50:59 -0500 >>> From: PMA<peterarmstr...@aya.yale.edu> >>> To: debian-u...@lists.debian.org >>> >>> Rather than APL itself -- value judgement aside -- >>> you might consider its successor and superset, >>> *J* ( http://www.jsoftware.com/ ). >>> >>> >>> Miles Fidelman wrote: >>>> David Christensen wrote: >>>>> >>>>> Any other comments/ suggestions regarding programming languages/ >>>>> systems for advanced applications on Linux? >>>>> >>>> Lisp >>>> Smalltalk >>>> Erlang >>>> Haskell >>>> Caml/OCaml >>>> APL - if you're crazy or want to be; or you could go all the way to >>>> Brainfuck (http://esolangs.org/wiki/Brainfuck) >>>> for that matter, Ada, if you're writing >> mission-critical/safety-critical >>>> systems >>>> >>>> If you're really interested in programming languages: >>>> http://lambda-the-ultimate.org/ >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >>> >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm >> > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm