Jeffrey Snover and the Making of PowerShell

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • winget-cli

    WinGet is the Windows Package Manager. This project includes a CLI (Command Line Interface), PowerShell modules, and a COM (Component Object Model) API (Application Programming Interface).

    The Winget module is a wreck. The way it is designed, unfortunately, neither fits the object oriented approach of PowerShell nor follows the PowerShell guidelines for cmdlets.

    For instance https://github.com/microsoft/winget-cli/issues/3820 or https://github.com/microsoft/winget-cli/issues/3231.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • tree_plus

    A `tree` util enhanced with tokens, lines, and components. `pip install -U tree_plus`

    I don’t like powershell because it’s so surprising in a billion ways from bash. The tab being replaced with right arrow screws me up, and so does not having the normal commands, and it’s quite opinionated about naming.

    That said, powershell seems more capable than bash if you know it well, because it has a better type system and arguments are easier to mess with, whereas bash things are amorphous strings.

    https://github.com/bionicles/tree_plus/blob/main/tests/more_...

    That’s a slightly out of date version of what I use to provision stuff on my windows machine to test things, and can show what’s possible a bit.

  • PowerShell

    PowerShell for every system!

  • UniGetUI

    UniGetUI: The Graphical Interface for your package managers. Could be terribly described as a package manager manager to manage your package managers

    UniGetUI (formerly WingetUI) is a really great tool since it supports multiple package managers.

    https://github.com/marticliment/UniGetUI

  • psavalonia

    Avalonia bindings for PowerShell

    There are some third party tools like PowerShell Pro tools or PowerShell Ultimate (https://ironmansoftware.com/). I appreciate they cost, but if you are a builder of tools for others, they really can help massively!

  • CSharpRepl

    A command line C# REPL with syntax highlighting – explore the language, libraries and nuget packages interactively.

    Adding packages is `dotnet add {PackageName}`. That's it.

    Worrying about version compatibility for new projects has stopped being an issue long time ago. The package either targets NS2.0 or whatever latest LTS currently is, in which case you just add its reference, or it doesn't in which case you use something else.

    If it does, in 98% situations it just works. In the last 2% it has native dependencies which means either a) the package ships with binaries build for all popular platforms, b) the package adds a platform-specific dependent package automatically, or manually and mentions that in README, or c) the package comes with windows only native dll, which is happens with ancient poorly maintained packages, it's a rare case nowadays but it does happen.

    As someone whose primary PL is C#, I found https://github.com/waf/CSharpRepl and https://github.com/dotnet-script/dotnet-script far more accessible and useful. Compilation caching for the latter works relatively well to make startup latency tolerable.

    Or I just do `dotnet new console -o MyScriptName --aot`, echo code into Program.cs and `dotnet publish -o .` it. Some do that with Rust as well. Especially useful if you need your script to go through a lot of data quickly and parallelize that well too.

  • dotnet-script

    Run C# scripts from the .NET CLI.

    Adding packages is `dotnet add {PackageName}`. That's it.

    Worrying about version compatibility for new projects has stopped being an issue long time ago. The package either targets NS2.0 or whatever latest LTS currently is, in which case you just add its reference, or it doesn't in which case you use something else.

    If it does, in 98% situations it just works. In the last 2% it has native dependencies which means either a) the package ships with binaries build for all popular platforms, b) the package adds a platform-specific dependent package automatically, or manually and mentions that in README, or c) the package comes with windows only native dll, which is happens with ancient poorly maintained packages, it's a rare case nowadays but it does happen.

    As someone whose primary PL is C#, I found https://github.com/waf/CSharpRepl and https://github.com/dotnet-script/dotnet-script far more accessible and useful. Compilation caching for the latter works relatively well to make startup latency tolerable.

    Or I just do `dotnet new console -o MyScriptName --aot`, echo code into Program.cs and `dotnet publish -o .` it. Some do that with Rust as well. Especially useful if you need your script to go through a lot of data quickly and parallelize that well too.

  • bike

    Common Lisp .Net Core Interop

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • No changelog in windows store. not the end of the world but why not.

    2 projects | /r/firefox | 28 Mar 2023
  • Are there "IT"? companies where I can send my computer in to have them set up my computer so certain libraries or headers are added to my paths and set up my coding environments?

    2 projects | /r/AskProgramming | 3 Feb 2022
  • Electric - A Windows Package Manager that's 2x Faster than Winget and 5x Faster than Chocolatey

    2 projects | /r/Python | 23 Aug 2021
  • Ask HN: What Windows apps/programs do you use daily and recommend?

    2 projects | news.ycombinator.com | 9 Jun 2024
  • Fresh W11 Install - Winget acting weird

    1 project | /r/sysadmin | 7 Dec 2023

Did you konow that C# is
the 9th most popular programming language
based on number of metions?