Parsing midi files is something I've done a little of.  Why did you 
consider J unsuited for that?  Is it not great at string manipulation?  
It seems inconvenient to have all strings in an array forced to be of 
the same length.


On 11/28/2017 04:56 PM, Henry Rich wrote:
> There's nothing specific to databases about the value of J. I've never 
> done anything with databases before my current project.  I've used J 
> to model the transformation pipeline of a graphics processor, the 
> texture-mapping system of a flight simulator, a stock-trading program, 
> a program to play Connect Four, a lot of code for recording and 
> manipulating MP3 files, a fair amount of image processing...  The only 
> project I ever had that I considered J ill-suited for was parsing MIDI 
> files, and that was pretty early in my J life & I could do it better now.
>
> Henry RIch
>
>
> On 11/28/2017 4:38 PM, Andrew Dabrowski wrote:
>> Thanks. I keep forgetting that J and its emulators are really popular 
>> for databases.  That's not something I deal with, so perhaps that's 
>> why I'm blind to some of its virtues.
>>
>>
>> On 11/28/2017 04:21 PM, Henry Rich wrote:
>>> I use J for all my own work because I get results fast. Example: I 
>>> am currently working on a database project, a big key/value store 
>>> written as about 200KLOC of C++, and I proposed a major design 
>>> change. Management was supportive but concerned, so I offered to 
>>> write a simulation of the system including the changes.  I said I 
>>> could do it in 8 days, and using J, I did. Well worth doing, too, as 
>>> it led to refinements in the design.  I don't know how long it would 
>>> have taken in C/C++, but I would be thinking months rather than days.
>>>
>>> The combination of interpretive execution, terseness of expression, 
>>> and array-level thinking makes me more productive using J than I've 
>>> ever been in a scalar language.  I completely disagree with you 
>>> about languages being equally good.  When it comes to getting a 
>>> program up and running quickly, J has an edge in most of the places 
>>> I've used it.
>> Yes, but for rapid development isn't Python (or Mathematica) just as 
>> good if not better?
>>>
>>> J is a language for describing a computation.  C/C++ is a language 
>>> for telling a computer how to execute a computation. 
>> I like that distinction.  But J seems to get bogged down in syntactic 
>> issues.  As a beginner I find it impossible to parse a moderately 
>> sized tacit expression.  No doubt one gets better at this, but like 
>> all computer languages, the one dimensional space it lives in seems 
>> to confound any attempts to represent mathematical ideas directly.
>>
>> A computer language based on mathematical notation sounds like a cool 
>> but impractical idea.  It would to have to be 2 dimensional, as in 
>> fact math notation is.
>>
>>> If you don't need to focus on the execution details - that is, if 
>>> you can take your head out from under the hood and think only about 
>>> what needs to be done - you can save a lot of time and effort by 
>>> staying at the higher level.  You have to train yourself to do that, 
>>> though, and doing so is harder than you would expect.
>>>
>>> Henry Rich
>>>
>>> On 11/28/2017 3:59 PM, Andrew Dabrowski wrote:
>>>> As much as I've complained about J in these forums I've been having 
>>>> a good time translating some simple code into J.  Someone gave me 
>>>> wise advice, to stick with explicit definitions until I know the 
>>>> language well, which advice I have cordially ignored because I'm 
>>>> having too much fun playing code golf with tacit tangles.
>>>>
>>>> I was fascinated by J because it seemed to try to build on aspects 
>>>> of the human linguistic system.  Natural language unfolds in one 
>>>> dimension, time, so everything relevant to understanding a 
>>>> particular word in a sentence either came before it or is yet to 
>>>> come.  J seemed to emulate this by having verbs which relate 
>>>> directly only to objects on the immediate left and immediate 
>>>> right.  Moreover J seemed to be following a linguistic paradigm in 
>>>> have nouns which are inert, verbs that act on nouns, and adverbs 
>>>> which modify objects. This seemed like a promising way to exploit 
>>>> humans' natural linguistic capabilities.
>>>>
>>>> But maybe that's not way the J community currently sees J. Do you 
>>>> love J most because of (pick only one)
>>>>
>>>> 1. the NL inspired syntax;
>>>>
>>>> 2. the suite of array utilities;
>>>>
>>>> 3. the concision of J code;
>>>>
>>>> 4. its being open-source; or
>>>>
>>>> 5. _____________________?
>>>>
>>>> I've come to feel that all programming languages are ugly 
>>>> compromises that are about equally good/bad at solving practical 
>>>> problems, and the "best" language is just the one you know the 
>>>> best.  I used to be contemptuous of Perl, but after having learned 
>>>> it well enough for my purposes I now kind of enjoy the brain teaser 
>>>> quality of trying to fit problems into its procrustean bed 
>>>> (although I still think it's a silly language). I have no doubt 
>>>> that I could live happily with J as my primary language, but only 
>>>> after an extended period of being handcuffed to it and forced to 
>>>> assimilate its quirks.  I don't know that I'll have the patience 
>>>> for that.
>>>>
>>>> Is there any project in the J repos that demonstrates the strength 
>>>> of J, as opposed to just showing that it's at least as good as 
>>>> other languages?  Any project that would have been significantly 
>>>> harder to complete with say Python?  Does J have any killer 
>>>> advantage, even in just one aspect of programming? Or does J just 
>>>> appeal to you the way pistachio ice-cream might, it just tickles 
>>>> your palate in a no-accounting-for-taste way? That's how it appeals 
>>>> to me.
>>>>
>>>> I was hoping someone could talk me into studying J seriously, but 
>>>> now it looks to me like a language which, with APL, has had 
>>>> enormous beneficial influence on many other languages, but which 
>>>> has failed to learn in its turn from them.  J seems a tad solipsistic.
>>>>
>>>>
>>>> ----------------------------------------------------------------------
>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>
>>>
>>> ---
>>> This email has been checked for viruses by AVG.
>>> http://www.avg.com
>>>
>>> ----------------------------------------------------------------------
>>> 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
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to