Next Generation Shell

You deserve a better-than-telegraph shell

    • About Next Generation Shell
  • NoT Notation for Parameters in Next Generation Shell

    “NoT” (Name or Type) notation for parameters of functions in Next Generation Shell’s documentation.

    Ilya Sher

    April 7, 2025
    Notation, Programming Language
    open-source, semantics
  • Exceptional Processism

    Exceptional processism in programming is treating your own process more favorably with regard to exceptions. Errors that happen in your own process throw exceptions while errors that happen in processes that you are running are not mapped into exceptions in your own process. This breaks the uniformity of error handling in the language: Languages with…

    Ilya Sher

    March 2, 2025
    Programming Language
    open-source, semantics, syntax
  • Teaching old assert() new Tricks

    Many languages have assert(). This post describes how assert() is implemented in Next Generation Shell and how these aspects/features are consistent with the rest of the language. Implied in the above is that the ideas below might not be a good fit for assert() in your favorite language or framework. Note that assert(EXPR, PATTERN) in…

    Ilya Sher

    October 6, 2024
    Programming Language
    assert, pattern matching
  • Predicates, Upgraded

    This post describes the thought process and implementation of moving from predicates to patterns while keeping this feature consistent with the rest of the language and compatible with existing code. Minimalistic example: Background While implementing the language, I’ve added higher order functions that seemed “obvious” to have in a language: Observation What I’ve noticed after…

    Ilya Sher

    November 12, 2023
    Programming Language
    pattern matching
  • “if grep”, the bomb

    Take 2 This is version two of the post, based on the feedback in this Reddit discussion. Some things need clarification. That includes the title which should be something like Why NGS has more ergonomic error handling than bash Background I was using bash and Python for “DevOps” scripting. Frustrated by both, I’ve started working…

    Ilya Sher

    November 7, 2023
    Programming Language, Rant
  • The Journey to retry_assert()

    I was annoyed quite a bit with bash (no, not because I was new, I used it professionally daily for 12 years before starting NGS). One of the red herrings was the constant need to reimplement small stupid things like retry() function for example (or copy it all the time across projects and adjust as…

    Ilya Sher

    November 7, 2023
    Programming Language
  • UI in NGS

    Before describing UI design in Next Generation Shell, let’s clarify which problems we are trying to solve. Problems Warming exercise: CLI is an interface that focuses on a single line, the Command Line. Stop for a moment to ponder that. Unusable Output and Missing Semantics Treating the output of a program as if it was…

    Ilya Sher

    September 30, 2023
    UI
    CLI, semantics
  • main() in NGS

    Background oilshell, added in-main builtin recently, allowing the following: OSH: YSH: Source: https://www.oilshell.org/blog/2023/09/release-0.18.0.html I commented about why not have main() that is invoked manually. That’s exactly what NGS does after all. There was a request for clarification and I decided to post it here. Python I’ll start with Python because frustration with Python and bash…

    Ilya Sher

    September 18, 2023
    Programming Language
    CLI
  • AWS CLI with NGS instead of jq

    I’ve been using jq to process the output of AWS CLI for years. I suspect many others are doing the same. Let’s take a closer look at jq and its alternatives. jq The Good Why jq is so good? Because it’s domain specific; think sed, grep, and awk mixed together and not for text but…

    Ilya Sher

    September 14, 2023
    Programming Language
    jq
  • The Unix Shell’s Humble If – Fixed

    I’ve seen this post – https://thoughtbot.com/blog/the-unix-shells-humble-if and there was no place for comments. Here is my humorous response then. ( Below: removed added ) The Unix shell is often overlooked by software developers (many times for good reasons) more familiar with higher level (read normal / saner / better / actually designed and not accidental)…

    Ilya Sher

    August 8, 2023
    Uncategorized
    humor
1 2
Next Page→
  • Facebook
  • Twitter
  • Instagram

A WordPress.com site

  • Subscribe Subscribed
    • Next Generation Shell
    • Already have a WordPress.com account? Log in now.
    • Next Generation Shell
    • Subscribe Subscribed
    • Sign up
    • Log in
    • Report this content
    • View site in Reader
    • Manage subscriptions
    • Collapse this bar