Home

Roadmap for cross platform (ubuntu/linux)?

We are seeing more and more developers using ubuntu + rider instead of windows/vs for .net core development.
The one tool that they are all missing with this stack is linqpad.

I am curious on what the current status for a x-plat linqpad is?

I guess you are still evaluating options for the ui-layer?
Can you provide a rough estimate when we might see an x-plat linqpad? (months, years, decades :-D)

Thanks for a quick feedback.

Comments

  • I'm awaiting a better solution for x-platform UI development than the options we have today. I believe it's likely that something will happen in this space now that we have .NET Core 3. When/if this happens, I will re-evaluate.
  • There is Avalonia which looks fine for the job. You don't need any complicated grids and stuff so it should work just fine.

  • Avalonia doesn't seem very stable at the moment.

    From their site...
    "We're currently in a beta phase, which means that the framework is generally usable for writing applications, but there may be some bugs and breaking changes as we continue development."

  • Anyway it seems better than nothing.

    I switched to Rider and I'm going to switch to non-windows OS soon as well. And I'd like to still use this great instrument. Since netcore has been already embraced in the most recent version it makes sense to make it cross-platform.

  • Right now, I would have to hire a team and budget as much as $500k for a good Linux/macOS/Windows solution. LINQPad is designed to look simple, but there's a lot going on underneath, and a big codebase to make it happen. Features such as "Results to Data Grids" look simple, but that alone took months of prototyping and refining - and considerable messing with Win32 API calls (its architecture also allows for other presentations, such as charting and custom visualizers). The integrated debugger is another hurdle - I seem to remember it was a big deal for JetBrains to make debugging work on Linux. The current LINQPad debugger (which I wrote in 2014) was 8 months' work, to give you an idea. Then there is the browser integration for the results window, which is non-trivial because of LINQPad's support for IObservable/IAsyncEnumerable/Tasks, dump containers, and interactive HTML controls. And integration with the custom editor, to which I've added numerous tweaks and extensions (such as vim emulation mode). All that would need to be completely rewritten (and we've not even got to the main UI yet). And then every subsequent new feature would need to be tested on Windows, macOS, and a variety of Linux flavors.

    I'm not saying that it will never be done, but with the libraries and tools available right now, it doesn't seem viable, especially given that the entire investment could be wasted if a better x-platform model came along in the future.

  • Right now, I would have to hire a team and budget as much as $500k

    It looks really overpriced IMHO. If you cut off 20% of most complicated features away you can have this in less than a man-year.

    It also could be iterative, for example first: very basic features - code interpreter/SQL generation/IL display. It should consist of 99% reusable library code and 1% of simple displaying. It's already something.

    Then autocomplete. It doesn't also seems like very UI-sensitive task. The most important thing is getting list of possible alternatives, then it's just a popup window, which could be different on different frameworks, but it still something as simple as popup.Show(autocompletionText).

    FWIW rider implemented their own debugger cross-platform debugger (because MS license doesn't allow using their own), IIRC it's free and open.

  • I'd stick £50 in a kickstarter

  • @mcintyre321 said:
    I'd stick £50 in a kickstarter

    Well. Count me in as well.

    I'm off Windows for several years already. Not doing .NET exclusively anymore. But it gets more again. Rider is a joy to use in general. But I really miss LINQPad for many things.

    What is described by @JoeAlbahari above, really gives a bit of insight in the really not visible complexity. Thanks for that.

    At the end, just want to leave my vote here and shout out my love to LINQPad. Despite all the x-plat issues and implications, I would love to see LINQPad x-plat sooner than later. Maybe as a start, macOS first. o:)>:)

    But well, maybe in the not so distant future I'll go back to Windows again. All the movement around WSL 2 seems to make it feasible, sooner than later.

Sign In or Register to comment.