It seems to me that the big distinction between J and python where J falls
far short is not in the core language but in the addon libraries. I
encourage J fans to work away at adding important addons to J!

On Mon, Jan 31, 2022 at 11:27 AM Eric Iverson <eric.b.iver...@gmail.com>
wrote:

> 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