A J dictionary type is a good idea and it has been kicked around many times
before. The hard part is not implementing it, but doing a careful and
thorough spec that is backed by a complete model written in J.

Presented with a full spec that had community buy in, would probably be
followed by implementation.

On Mon, Jan 31, 2022 at 11:14 AM Alex Shroyer <ashro...@gmail.com> wrote:

> I agree with Raoul that competing with Python is not a good idea.
> But J can learn from Python's decisions (good and bad) to grow and improve.
> In my opinion, numpy is Python's "killer app" because it brings reasonable
> performance without much conceptual overhead.
> The feature of Python that enabled numpy is its extensibility, down to the
> C layer.
>
> There are other good features of Python that J could copy, in particular
> the 'dictionary' data type.
> The array language K has dictionaries, so J might take some inspiration
> from there for integrating them into the language.
>
> Cheers,
> Alex
>
>
> On Mon, Jan 31, 2022 at 5:30 AM Raoul Schorer <raoul.scho...@gmail.com>
> wrote:
>
> > Just my 2c, but I think that competing with python in general is somewhat
> > delusional. I think the key point for expanding J use to have a "killer J
> > app". For example, an improved clone of or excellent plugin for VisiData
> (
> > https://www.visidata.org/) is my idea of a killer app. But someone here
> > may
> > have a better idea?
> >
> > Cheers,
> > Raoul
> >
> > Le lun. 31 janv. 2022 à 03:49, Ric Sherlock <tikk...@gmail.com> a écrit
> :
> >
> > > Yes from a data structure point of view, inverted tables get you a lot
> of
> > > the way (note they're also available in the 'general/misc' addon - load
> > > 'general/misc/inverted' ) and I've used them to good effect in my
> > > 'data/struct' addon (https://github.com/tikkanz/data_struct).
> > > I agree that J's arrays are more general, flexible & powerful. But when
> > > you're dealing with a tabular data set there is an overhead to keeping
> > the
> > > fields in a table in sync that dataframes can help with. Perhaps it's
> > > something abstracting the structure so you don't have to deal so much
> > with
> > > the mechanics of manipulating it? At least for me :)
> > >
> > > On Mon, Jan 31, 2022 at 3:28 PM Elijah Stone <elro...@elronnd.net>
> > wrote:
> > >
> > > > https://code.jsoftware.com/wiki/Essays/Inverted_Table, perhaps?
> > > >
> > > > That said, I think a great strength of j is that data are _not_
> > > explicitly
> > > > tabular.  The associations are defined in an ad-hoc manner as needed
> by
> > > > the programmer.  This is also an essential difference between the
> array
> > > > paradigm and the relational paradigm (cf SQL): in the former,
> pointers
> > > > come with implicit context; in the latter, that context must be
> > explicit.
> > > >
> > > >   -E
> > > >
> > > > P.S. regarding analysis/optimization: I would love to see it, but for
> > > some
> > > > reason everybody is scared of building a compiler because of the
> > parsing
> > > > problem.
> > > >
> > > > On Mon, 31 Jan 2022, Ric Sherlock wrote:
> > > >
> > > > > Yes, I've been thinking that a Dataframes equivalent in J would be
> > > > useful.
> > > > > Most things are already possible with J's arrays, but conceptually
> > > > > DataFrames are well understood by many now, and they make it easy
> to
> > > work
> > > > > with datasets as named fields.
> > > > > I've spent a reasonable amount of time working with Pandas, but
> have
> > > > > recently been using Polars (Rust backend with Python bindings)
> which
> > > > really
> > > > > shines for larger datasets. Performance (especially read/write) is
> > > > awesome,
> > > > > and the LazyFrames which optimise your query/analysis plan make a
> big
> > > > > difference too.
> > > > > I haven't taken enough time to explore it, but maybe Jd is the
> > starting
> > > > > point in this space for J?
> > > > >
> > > > >
> > > > > On Mon, Jan 31, 2022 at 9:01 AM Michail L. Liarmakopoulos <
> > > > > m.l.liarm...@gmail.com> wrote:
> > > > >
> > > > >> Hello all,
> > > > >>
> > > > >> I find any parallels between python and J pretty interesting,
> being
> > a
> > > > >> person with some python experience and an interest of the
> > applications
> > > > of
> > > > >> both python and J in mathematical modelling, analytics,
> > computational
> > > > math
> > > > >> and perhaps computational physics too.
> > > > >>
> > > > >> If you'd like to bring some features from the python
> math/analytics
> > > > >> libraries/ecosystem in J, I'd suggest you to look at the features
> of
> > > > three
> > > > >> libraries:
> > > > >>
> > > > >> - numpy (I believe most features are already covered from the
> built
> > in
> > > > >> features of an array language such as J)
> > > > >>
> > > > >> - pandas ( a nice library for manipulating csv files within python
> > as
> > > > >> dataframe objects -- see the dataframes from the R language)
> > > > >>
> > > > >> - scipy (a collection of methods and functions ranging from
> solving
> > > > >> numerically: differential equations, evaluating definite
> integrals,
> > > > >> constrained and unconstrained optimization, and I believe
> statistics
> > > > too)
> > > > >>
> > > > >> There is also out there an amazing python library for symbolic
> > > > calculations
> > > > >> (like the ones you can do with Mathematica or WolframAlpha:
> symbolic
> > > > >> evaluation of definite and indefinite integrals, symbolic
> solutions
> > of
> > > > >> diff. equations, symbolic solutions of algebraic and Diophantine
> > > > equations
> > > > >> etc...).  It's called sympy.
> > > > >>
> > > > >> But I'm not sure if you'd like J to include symbolic computations
> > too
> > > > or if
> > > > >> the aim of the language is to excel only in numerics, data
> > analytics,
> > > > >> stats, whatever can be quantified pretty much.
> > > > >>
> > > > >> My few cents as food for thought.
> > > > >>
> > > > >>
> > > > >> Best regards,
> > > > >>
> > > > >> ---
> > > > >> Michail L. Liarmakopoulos, MSc
> > > > >>
> > > > >> On Sun, Jan 30, 2022, 20:39 R.E. Boss <r.e.b...@outlook.com>
> wrote:
> > > > >>
> > > > >> >
> > > > >> >
> > > > >> > I copied the first chapter of the book A Journey to Core Python
> > (in
> > > > >> >
> > > > >>
> > > >
> > >
> >
> https://drive.google.com/file/d/1p1uIANh-LFniNNRqjDeeWWd4_-ddEZmz/view?usp=sharing
> > > > >> )
> > > > >> > and have the question: do we want that J is competitive with
> > Python?
> > > > >> >
> > > > >> > If the answer is yes, the next question is: what is the to do
> list
> > > to
> > > > be
> > > > >> > competitive and how long will it take?
> > > > >> >
> > > > >> > (And then the unavoidable question: WHY?)
> > > > >> >
> > > > >> >
> > > > >> >
> > > > >> > Personally I think we must aim on the niches in the market, as
> > there
> > > > are
> > > > >> > the mathematical oriented people, e.g. the broad scientific
> > > community.
> > > > >> >
> > > > >> > Then all people experienced in Excel or other spreadsheets or
> > > > calculation
> > > > >> > tools.
> > > > >> >
> > > > >> > Schools and universities. Financial and statistical oriented
> > people.
> > > > >> >
> > > > >> >
> > > > >> >
> > > > >> > What we should do, IMHO, is
> > > > >> >
> > > > >> > - to emphasize the strengths of J,
> > > > >> >
> > > > >> > - to improve (considerably) the error handling of J,
> > > > >> >
> > > > >> > - to admit the steep learning curve,
> > > > >> >
> > > > >> > - to facilitate the use of mnemonics instead of primitives (I
> > tried
> > > > this
> > > > >> > afternoon the primitives.ijs for half an hour, but was not
> capable
> > > of
> > > > use
> > > > >> > any mnemonic, not even with
> > > > >> > https://code.jsoftware.com/wiki/Primitives_to_Mnemonics)
> > > > >> >
> > > > >> > - to decide which of the features, benefits or applications (of
> > > > Python)
> > > > >> we
> > > > >> > want J to have.
> > > > >> >
> > > > >> >
> > > > >> >
> > > > >> >
> > > > >> >
> > > > >> > Just my 2 cents.
> > > > >> >
> > > > >> > R.E. Boss
> > > > >> >
> > > > >> >
> > > > >> >
> > > > >> >
> > > > >> >
> > > > >> >
> > > > >> >
> > > ----------------------------------------------------------------------
> > > > >> > 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
> > > >
> > > ----------------------------------------------------------------------
> > > 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