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
