Skip to content
Ilya Sher P edited this page Sep 24, 2022 · 6 revisions

OpenHack 2022

This is "OpenFriday communication" page, describing the project and motivating to pick it for the OpenHack 2022 hackathon.

About Me

Hi! I'm Ilya Sher, the author of Next Generation Shell.

I've, started my professional career in 2001. While officially being a programmer at the time, my interest in Linux brought additional role as a systems administrator (called DevOps today). Today I'm doing architecture, DevOps, management, and programming (in alphabetical order) at work.

OSS

  • I've started working on Next Generation Shell in 2013. That's my largest contribution to OSS.
  • I contribute to other projects occasionally, small stuff.
  • At the time, I was using Vim a lot, so I contributed relatively small language improvements - https://vimhelp.org/version7.txt.html (search: Ilya Sher)

The Project

Goal: ease the suffering of fellow DevOps world-wide.

I was using bash and Python when I noticed (through suffered) that DevOps actually don't have a good programming language for the tasks at hand. Typically in use are bash and Python/Ruby/Go/etc. bash lacks support for structured data (JQ is a symptom), the error handling and syntax are quite bad. Python and friends are general purpose languages and therefore are not concise/ergonomic for the typical tasks. Want a programming language which is both modern and for DevOps? You are out of luck. Next Generation Shell tries to fix that by filling the niche. More at bash or Python? The Square Pegs and a Round Hole Situation

Part of the project is in C (parser and runtime) and part in NGS language itself (standard library). The idea is to have smallest possible amount of code in C to facilitate potential rewrite in another language and also for productivity reasons.

The work on UI is just starting. The basic idea is to break the current shell CLI paradigm, which can be traced back to use of telegram (and later teletype). Enough of that. We can do better now. More details are at UI Software Design.

GitHub Popularity

... started with a friend posting a link on HN followed by conscious efforts on my side. Unfortunately I'm unable to invest the needed time in PR, for example comparing to somewhat similar projects.

Beware of the popularity metric. Something to think about: at the moment of writing goto for Python (1.1K stars) is more popular than JIT compiler for Ruby (388 stars).

Problems

The main problem is attracting contributors. Contributions are made from time to time, and I'm thankful for that. What's missing is more regular contributors.

Future

The programming language is quite useful. There are some improvements that I would like to make, but largely it's "done". The focus will be on the UI now. The volume of work to be done is enormous but should increase the productivity of the users quite a lot, so worth it :)

I invite you to be part of this future. The potential of this project is to change forever how DevOps interact with computers... and it's about damn time to do that!

Contributing to Open Source

To prevent rejection of your contributions, which can be frustrating, understand first what's expected exactly. Talk to other project members when not sure about how to proceed with a contribution.