Jonathan Turner, Andrés N. Robalino, and Yehuda Katz, core contributors to Nushell, delve into the modern shell's innovative features built for the GitHub era. They discuss the advantages of Rust, the evolution of shell technology, and the importance of community involvement. Insights include how Nushell enhances data manipulation with intuitive commands, the significance of Minimum Viable Products in software development, and experiences that shaped their collaborative journey. Tune in for a deep dive into making command-line interfaces more accessible and engaging!
Nushell, developed in Rust, aims to modernize the shell experience for the GitHub era by improving user interaction and functionality.
The use of Rust provides low-level control and safety features, allowing Nushell to run efficiently across multiple platforms without common programming errors.
Nushell prioritizes community engagement and inclusivity, promoting collaboration and openness to enrich development through diverse contributions and feedback.
Deep dives
Genesis of New Shell
New Shell originated from discussions between developers Jonathan and Yehuda, who were inspired by PowerShell's capabilities. They noted that while PowerShell has its strengths, it also has limitations stemming from its outdated design choices, which felt cumbersome and not user-friendly. The duo decided to merge their individual shell projects into one cohesive idea that would leverage the Rust programming language's modern features and capabilities. Their goal was to innovate and provide a shell experience tailored for the current GitHub era, allowing for improved user interaction and functionality.
Choice of Rust
The choice of Rust for developing New Shell was primarily based on the language's combination of low-level control, performance, and portability. Rust's ecosystem enables developers to build applications that can run smoothly across multiple platforms, including Windows, macOS, and Linux. This flexibility was crucial for the New Shell developers as they aimed to create a versatile tool that could attract users from various operating systems without compromising performance. Additionally, Rust's safety features help prevent common programming errors, making it an appealing choice for building a reliable shell environment.
Community Involvement and Contributions
Community engagement plays a vital role in the success of New Shell, encouraging developers around the world to contribute to the project. The developers emphasize the importance of openness, allowing anyone with ideas or skills to join the effort without the constraints often found in corporate projects. They actively promote a collaborative environment, utilizing platforms like Discord for real-time discussions and GitHub for managing contributions and tracking issues. This inclusive approach ensures that various backgrounds and perspectives enrich the project, fostering innovation and creativity as the shell evolves.
Innovative Features of New Shell
New Shell introduces unique features that enhance user accessibility and streamline command usage. One standout feature is the ability to work with structured data easily through table formats, allowing users to filter and manipulate outputs without requiring complex scripting knowledge. The design enables users to execute commands that manipulate tabular data seamlessly, such as filtering results based on various conditions. This intuitive method not only simplifies interactions but also makes working within New Shell more akin to familiar spreadsheet environments, appealing to a broader range of users.
Future Development and Ecosystem
The developers plan to enrich New Shell by fostering a thriving ecosystem of plugins, enabling users to extend and customize their experience. As they move forward, they envision a diverse community where language-specific plugins and tools can be easily shared and accessed. The ongoing evolution of the shell will include listening to community feedback, adapting to user needs, and iterating on existing features to enhance overall performance and usability. Building a strong ecosystem around New Shell will empower users to innovate and contribute beyond the core functionalities, yielding a richer experience for everyone.
Vision for User Experience
A major goal for New Shell is to demystify the terminal experience, making it accessible and less intimidating for users unfamiliar with traditional command-line interfaces. By prioritizing user-friendly design and clear error messaging, the developers aim to ensure that both novice and experienced users feel comfortable navigating the shell. They envision a future where users can leverage New Shell without extensive shell knowledge, allowing them to focus on their tasks rather than getting bogged down in complex syntax. Ultimately, they seek to transform the perception of shells from outdated tools to modern, efficient environments that enhance productivity.
Jonathan Turner, Andrés Robalino, and Yehuda Katz joined the show to talk about Nushell, or just Nu for short. It’s a modern shell for the GitHub era. It’s written in Rust, and it has the backing of some of the greatest minds in open source. We talk through what it is, how it works and cool things you can do with it, why Rust, ideas for the future, and ways for the community to get involved and contribute.
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Sponsors:
Linode – Our cloud server of choice. Deploy a fast, efficient, native SSD cloud server for only $5/month. Get 4 months free using the code changelog2019. Start your server - head to linode.com/changelog
GitPrime – GitPrime helps software teams accelerate their velocity and release products faster by turning historical git data into easy to understand insights and reports. Ship faster because you know more. Not because you’re rushing. Learn more at gitprime.com/changelog.
TeamCity by JetBrains – Build and release your software faster with TeamCity — a self-hosted continuous integration and delivery server developed by JetBrains. TeamCity is super-smart at running incremental builds, reusing artifacts, and building only what needs to be built, which can save over 30% of the daily build time. Learn more at teamcity.com/changelog.
Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com.