I have been using a MacBook Pro (M3) as my primary development machine for almost 6 months. I use JetBrains Rider as my primary IDE, and occasionally, I use VS Code.

This arrangement works perfectly as .NET is a first-class citizen on OSX, and Rider is a brilliant IDE.

For software like databases (PostgreSQL, SQL Server) and the usual tools like Redis, RabbitMQ, Seq, ElasticSearch and Kibana, I run these on Docker via the excellent OrbStack.

The biggest pain point has been when I needed to write some C# or F# quickly to experiment or prototype without launching a full IDE and going through the edit - compile - run cycle.

I should also point out that I have used a Mac as my primary machine for over 10 years, but my primary development was on a Windows Virtual Machine.

I am also running a Windows 11 ARM virtual machine on Parallels, on which I run Visual Studio 2022 for some legacy maintenance work. On that VM, I run LinqPad for quick prototyping and experimentation.

LinqPad is not available on OSX, and the closest thing I have found is NetPad, which tries but lacks a lot of the polish and convenience of LinqPad.

Until today, that is, when a pre-release beta was released.

It looks very promising.

This is the main screen showing the basic UI.

Linqpad1

It fully supports acquiring and using NuGet packages.

LinqPad2

It has the expected intellisense support.

LinqPad3

And it seems to run OK.

LinqPad4

Naturally, it is a pre-release beta and has a few elements that are still works in progress, to whit:

  • Integrated Debugger (high priority)
  • Results to Data Grids (high priority)
  • Multi-monitor support
  • The Roslyn Syntax Tree visualizer
  • The static EF Core driver (for connecting to your own DbContexts)
  • Support for third-party data context drivers and samples
  • The password expiry update dialog in the LINQ-to-SQL driver
  • Charting
  • The lprun command-line tool (requires a new C++ CLR host)
  • ILSpy integration
  • F# support
  • Reordering queries in folders
  • File path autocompletion
  • Custom style sheet support for results styling
  • Offline Activations
  • Undo buffer restoration between sessions
  • Syntax highlighting in JSON/XML output

But what has been done so far looks good.

I will be extensively using it and providing feedback to the author. And so should you!

Happy hacking!