A long-time satisfied user of LINQPad. It is one of my must haves. I usually upgrade to the latest one when I hit some framework feature or a piece of snippet which requires it. It started as a very reasonably priced for the paid edition and there was only one paid edition for a long time. Nowadays, it is a bit pricier and has several editions (a suggestion would be to merge Pro and Developer editions).
I use LINQPad to manage my collection of snippets to do some ad hoc tasks on my machine. I also use it for testing out new code and learning about new features. It would be great when it becomes cross-platform, but last I heard Jo Albahari mentioned that the investment required was quite big and not worth it (at that time).
On the side note, I had a chance to see Jo Albahari's presentation few years ago in Sydney and I think he is unsung hero of .NET world (along with Ayende)!
Regarding a cross-platform version of LINQPad, I'm actively working towards supporting MacOS. I can't give a timeframe right now, but it might be sooner than later if XPF turns out to be a viable option.
A true essential tool. One of the few pieces of software for which I own a personal license.
One of the useful features is that it keeps the executable running even after the script has finished, and will re-execute in the same process.
This has some downsides and quirks (if you're not careful, you can double-initialize things like database connections), but has benefits for debugging.
The newer versions have "built in" support for Benchmark.NET too which is a really nice feature for quickly proving code.
Great piece of software that I basically use for scripting/notebooking. Been writing C# so long it's my lingua franca and this tool lets me do pretty much everything (except actual shell scripting for use on e.g. build servers and deployment pipelines) in C#.
Yeah for sure. I do set up crons on my local machine using linqpad scripts every now and then, because it's just my special little snowflake one off.
But for Devops, build pipelines, etc. I prefer something a little more universally applicable and legible and that doesn't require a runtime. So bash is usually my approach there. Sometimes PowerShell if I know I'm going to be running it on a Windows box anyway.
Much as I love C#, if I came into an environment and all the Devops/CI/CD was done using Linqpad and lprun I'd immediately wonder what in the actual fuck I had gotten myself into, lol.
Linqpad is one of the few tools that do what they need to do without much fuzz and in a straightforward manner. Beyond Compare is also in the same category.
I am glad that the UX people haven't gotten around to mess it up yet.
The only reason I would use something like LINQPad is for the syntax tree and semantic analysis support, for compiler extensions. With a name like RoslynPad, seems funny that such a feature would be missing from that "alternative"
I haven't used Linqpad in a long time but one of the most useful features it had was the ability to add connections to your SQL Server databases and then write quick throwaway LINQ/Lambda style syntax queries against it, e.g.
They don't have Syntax Tree analysis yet but I hear it will be released soon
Notice a common theme here? Literally zero ways to browse C# syntax trees available on the Mac. Nothing in the cloud either from what I could find. Roslyn was open-sourced in April 2014, which was 122 months ago.
(edit: Another commenter pointed out that there is in fact a new VS Code extension that can do this, released Aug 2023)
By the way, you can't get autocomplete either while interactively debugging C# outside of Windows. The debugger is proprietary. Maybe there's a way, but I haven't found one.
I don't bother making anything run on linux unless it's meant to run as a service. It's just not worth the time and trouble to test it on multiple operating systems, probably with different libraries, just for what is a very vocal minority.
Windows has a bit less than half the marketshare for developers according to the last Stackoverflow suvery. By not having a Linux and a MacOS version, you are losing close to half of developers.
I use LINQPad to manage my collection of snippets to do some ad hoc tasks on my machine. I also use it for testing out new code and learning about new features. It would be great when it becomes cross-platform, but last I heard Jo Albahari mentioned that the investment required was quite big and not worth it (at that time).
On the side note, I had a chance to see Jo Albahari's presentation few years ago in Sydney and I think he is unsung hero of .NET world (along with Ayende)!
One of the useful features is that it keeps the executable running even after the script has finished, and will re-execute in the same process.
This has some downsides and quirks (if you're not careful, you can double-initialize things like database connections), but has benefits for debugging.
The newer versions have "built in" support for Benchmark.NET too which is a really nice feature for quickly proving code.
But for Devops, build pipelines, etc. I prefer something a little more universally applicable and legible and that doesn't require a runtime. So bash is usually my approach there. Sometimes PowerShell if I know I'm going to be running it on a Windows box anyway.
Much as I love C#, if I came into an environment and all the Devops/CI/CD was done using Linqpad and lprun I'd immediately wonder what in the actual fuck I had gotten myself into, lol.
I am glad that the UX people haven't gotten around to mess it up yet.
[1]: https://winmerge.org
(though I end up disabling it to reduce extra pressure on language server when it's unneeded)
I often write/compile .NET Core code in watch mode and then use LinqPad to explore existing libraries.
https://forum.linqpad.net/discussion/1935/installation-on-ma...
It's not as good as LINQPad, but it runs on the Mac.
Notice a common theme here? Literally zero ways to browse C# syntax trees available on the Mac. Nothing in the cloud either from what I could find. Roslyn was open-sourced in April 2014, which was 122 months ago. (edit: Another commenter pointed out that there is in fact a new VS Code extension that can do this, released Aug 2023)
By the way, you can't get autocomplete either while interactively debugging C# outside of Windows. The debugger is proprietary. Maybe there's a way, but I haven't found one.
Even Microsoft themselves understood this.