• Kissaki@feddit.org
    link
    fedilink
    English
    arrow-up
    2
    ·
    2 days ago

    Yeah, I experienced a similar barrier.

    I got interested and hooked on the description, but hadn’t used it productively or made the switch. Trying to use it felt quite irritating. After a few instances like that (maybe three to five), I had something I wanted to do and committed to finding the appropriate commands and syntax. After one or two such cases, I felt more comfortable, and progression was much easier through needing and finding additional individual commands, etc.

    Because it’s so different, there’s definitely a barrier, which I think is mainly the set of commands you have to know and, at times, data transformation flow (records vs tables vs lists, and the appropriate mental model to use the correct operations on them).

    I didn’t use special resources or a full guide or introduction that was not the official docs.
    Mainly official Nushell docs, command help/docs, web search, and at times LLMs.

    • hoppolito@mander.xyz
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 day ago

      That makes sense and I do think nushell has a legitimate place between simple zsh/bash scripts and more complex python ones for me. I think mostly I had issues rubbing against the functional nature of dealing with variables, but hearing your similar experience of grokking the mental model motivates me to try exploring a bit more again :-)

      Also, I am surprised by how much it changed since I last tried it around version 0.87 or so! Perhaps I’ll wait for the API to settle down a bit and then strike out again.

      Thanks!

      • Kissaki@feddit.org
        link
        fedilink
        English
        arrow-up
        1
        ·
        24 hours ago

        I’m used to implementing C# LINQ (method syntax) queries, which I like a lot (for simple queries) as a functional style linear data transformation process.

        It’s a bit different than classic procedural scripts, but most things and scripts operate on data either way, where it’s no worse and can be better in terms of scoping.

        When the simple, direct implementation does not succeed, I tend to do it step by step. Query into a variable, then I can print out the variable, verify my assumptions, and then start from the variable, continuing with the next set of transformations. Using stored json files instead of just variables can also be helpful.

        It could certainly change some more, given that it’s not a 1.0 stabilized API. Still, I find it comparatively stable. Specifically, the core stuff.


        I’ve used Nushell at work to work with a mass of BSON files for managing “IoT” devices. After implementing a Rust plugin for BSON, Nushell was very useful, and everything else would have been much more of a hassle.


        There’s also !nushell@programming.dev, btw.