State of Array Languages in 2024

Поділитися
Вставка
  • Опубліковано 28 вер 2024

КОМЕНТАРІ • 54

  • @AzureFlash
    @AzureFlash 8 місяців тому +30

    2024 YEAR OF THE UIUA

    • @lkuty
      @lkuty 8 місяців тому +8

      Or BQN 🙂

  • @kleinmarb4362
    @kleinmarb4362 8 місяців тому +9

    Nice video! Dont stop making these videos please

  • @FraktalLogik
    @FraktalLogik 8 місяців тому +4

    J was my first array language, and I still use it on all my computers and phones. I am now plunging into UIUA especially since graphics and sound are a bit easier to create and play with, although J's viewmat and tangentstorm's work has made J fun too. My goal is generative animations and audio made with just UIUA. Keep up the good work, Conor! Whatever happened to the documentary being made, "Chasing Men Who Stare at Arrays"?

    • @batlin
      @batlin 8 місяців тому

      Did not know uiua had nice graphics and sound stuff! ike seems pretty sweet too -- it's a web-based graphical thing based on oK (an open-source k implementation).

  • @NikolajLepka
    @NikolajLepka 8 місяців тому +8

    uiua isn't functional anymore; it no longer has first class functions

    • @GamingKing-jo9py
      @GamingKing-jo9py 8 місяців тому +1

      omg why

    • @arseniy2943
      @arseniy2943 8 місяців тому +1

      ​@@GamingKing-jo9py because custom modifiers (functions that take functions) combined with partial application already cover most of the use cases

    • @NikolajLepka
      @NikolajLepka 8 місяців тому +1

      @@arseniy2943 that and the special case of having boxes that can execute as functions just makes the spec messier than it needs to be

  • @RafaelNoronhadeOliveiraSoveral
    @RafaelNoronhadeOliveiraSoveral 8 місяців тому +2

    Amazing video as always!

  • @josephpierce8926
    @josephpierce8926 8 місяців тому +9

    Do these Iversonian array languages allow data structures other than arrays? In your 1 problem, N languages videos I notice that the APL/BQN solutions, while beautiful and elegant, are sometimes algorithmically slower than other solutions where hashmaps are used.

    • @code_report
      @code_report  8 місяців тому +4

      BQN has support for objects and OOP: mlochbaum.github.io/BQN/doc/oop.html

    • @ataraxianAscendant
      @ataraxianAscendant 8 місяців тому +4

      uiua has an experimental feature for a map structure (it's still an array tho)

    • @cranknlesdesires
      @cranknlesdesires 8 місяців тому +3

      BQN has recently got hashmaps. K & Q have always had dictionaries.
      Aaron Hsu has shown great methods for structuring trees in arrays.

    • @amadocabrera5007
      @amadocabrera5007 8 місяців тому

      I think that APL namespaces work like hashmaps

    • @arseniy2943
      @arseniy2943 8 місяців тому

      While the array is the main data structure available to the user, some functions (like taking an intersection of 2 arrays for example) may convert them into other intermediate data structures under the hood. But yes, most of these do have hashmaps

  • @BrianTRice77
    @BrianTRice77 8 місяців тому

    I’ll finally give Uiua a try (having learned J but never quite applying it). I think input methods make a lot of difference to symbolic languages, and I’d like a sort of elegant feel while I work with data abstractions.

  • @fabricehategekimana5350
    @fabricehategekimana5350 8 місяців тому

    Thanks for this continuous good quality content ! I like discovering those kind of powerful languages. Do you know by any chance some references of someone triying to implement genericity on multidimentional arrays ?

  • @lamnotshy5843
    @lamnotshy5843 6 місяців тому

    Note: As for 16 March, No all, cascade, unpack, sine glyph, recur, at. Now we have coordinate, import ~, by, on, and don’t see the experimental because it showing is hide in the setting.

    • @lamnotshy5843
      @lamnotshy5843 6 місяців тому

      Yes, we have the supine glyph, just different.

  • @cory1111
    @cory1111 8 місяців тому +1

    What language is the C lambda logo?

  • @carminator12
    @carminator12 8 місяців тому

    Didn't even know this family of languages. Do you have a video that explain principles and basics of such languages? Yes it's the noob question.

    • @davidzwitser
      @davidzwitser 8 місяців тому

      I recommend the BQN tutorials 😁 they’re very good

  • @Hofer2304
    @Hofer2304 8 місяців тому

    Which array languages can be used offline on an Android-Phone? I have dzaima APL installed on my phone, but I can only use it as a calculator. I am not able to write functions. I would prefer Dyalog APL or any other full APL.
    I have installed J and K, kona to be exact.
    Could you make a tutorial on how to use array languages on a phone? If I install a programming language I want to use it offline.

    • @batlin
      @batlin 8 місяців тому

      J has an offline interpreter you can use on my phone which lets you use functions and save/load. It's not totally complete AFAIK.

    • @GamingKing-jo9py
      @GamingKing-jo9py 8 місяців тому

      dzaima recomended me to use cbqn in the termux app, though i personally like the dzaima/bqn app for it's nice keyboard (it doesn't have 3 or 4 symbols like under, so might need to copy paste them or edit the keyboard src)

    • @0LoneTech
      @0LoneTech 8 місяців тому

      I have CBQN (with replxx, that matters) and Emacs installed in nix-on-droid on my tablet, mostly used with a bluetooth keyboard, but I imagine that's less convenient for a phone. dzaima made a Hacker's Keyboard fork that includes APL and BQN support.
      I otherwise like Unexpected Keyboard, which doesn't need patching to load custom layouts.

  • @geeshta
    @geeshta 8 місяців тому

    What's a golfing language?

    • @Welank
      @Welank 8 місяців тому +3

      A language designed to solve tasks in the fewest number of characters possible. Challenges for solving problems in as few characters in possible (in any language) are called "Code Golfing". It can be a fun way to learn edge cases of languages you already use or challenge yourself to solve issues in non-standard ways.

    • @TankorSmash
      @TankorSmash 8 місяців тому

      A language designed for the fewest keystrokes. So the less you type the more golfy it is

  • @osmanfb1
    @osmanfb1 8 місяців тому +1

    apl, j

  • @Scoopta
    @Scoopta 6 місяців тому +1

    I'm actually surprised that proprietary languages are still a thing...guess it's not that surprising given C# only somewhat recently open sourced and obviously there are loads of proprietary implementations of languages but usually those are second class to the FOSS versions...kinda weird...

  • @euanpound639
    @euanpound639 5 місяців тому +1

    These all scare me but I love watching the videos

  • @foobar69
    @foobar69 8 місяців тому +2

    the only language i know off is cpp, java and some golang.
    watching your vdos, i now want to explore array languages.
    which one do you recommend?

  • @raskr8137
    @raskr8137 7 місяців тому +1

    Personally wouldn't put Uiua in the Iversonian category; it's array oriented for sure, but I feel like ambivalence and infix notation are necessary for a proper APL-style lang. Like regardless of how much you want to, you don't write uiua programs with the same mindset as J, APL, BQN, or K. It's closer to Forth or Joy even if that's not what the developer intended

  • @deadmarshal
    @deadmarshal 8 місяців тому +1

    J ❤

  • @Roibarkan
    @Roibarkan 8 місяців тому +1

    0:20 fortran? I didn’t know people considered Fortran to be an array language. I guess fortran 90 is legitimately an array language.

    • @jackelhuevo2133
      @jackelhuevo2133 8 місяців тому

      I guess it’s because those languages have native support for matrices

    • @code_report
      @code_report  8 місяців тому +2

      Some do some don't. It has "array operations" like MINVAL and MAXVAL that work on multidimensional arrays and take rank (DIM) as an argument.

    • @AsherMancinelli
      @AsherMancinelli 8 місяців тому +4

      Fortran has elemental functions which are rank agnostic. Many operators like + work on arrays of any rank. ‘Where’ clauses allow functions to work on slices more elegantly than c++23 mdspan slices. Many intrinsics are rank agnostic as well.

  • @hotdog2c
    @hotdog2c 8 місяців тому

    Would love to see a video on futhark, not much material on this language on YT

  • @FraktalLogik
    @FraktalLogik 8 місяців тому

    What about Jelly vs. UIUA?? Would make a nice vid.

  • @rorykemp5218
    @rorykemp5218 8 місяців тому

    No mention for open source Ks?

  • @RedHair651
    @RedHair651 8 місяців тому

    Your videos have piqued my curiosity but I am not sure which to choose. Any suggestions for an array beginner?

    • @TankorSmash
      @TankorSmash 8 місяців тому +6

      Uiua is absolutely the easiest to learn. It's got syntax highlighting and an LSP, docs for every function, and its got simpler syntax. BQN is a great one but is still slightly more complex

    • @code_report
      @code_report  8 місяців тому +4

      Yea, my recommendation would either be BQN or Uiua. BQN is my personal favorite but I have heard from many Uiua is much easier to learn and read.

    • @cranknlesdesires
      @cranknlesdesires 8 місяців тому

      Bqn was my first dip into array programming, and is still my go to. The documentation and tutorial is good, the matrix/discord chat room is super helpful.