Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Xamarin studio is in many ways lighter and more asynchronous than vs proper, so there is some upside. But it's missing visual studio's absolutely killer feature, which is the superb c# repl. Add that and my windows virtual machine will start gathering a lot of dust.


We just released Workbooks 1.0 [0]. You can use it on both Windows and Mac, and run your code in a variety of platforms.

Try a Console workbook for something quite similar to (and in some ways more powerful than) the Visual Studio REPL.

Workbooks go beyond the REPL and can include rich content so that they can be saved and shared. But I use it every day for random REPL tasks that I used to use `csharp` for.

[0] https://developer.xamarin.com/releases/interactive/interacti...


Wow, I did not know about this. I just spent 30 minutes playing with it and am intrigued and hope this will reach its full potential, then it could be something rather special. For now though...

Evaluation is painfully slow, especially when running in the Android context.

Restrictions and missing functionality around importing packages from nuget.

This could really do wonders for Android UI development, I've dreamt of having as tight a feedback loop on Android as I have on the web, and this could one day bring us there. Unfortunately I couldn't find any easy or obvious way to inflate views from xml, and/or supply my own custom activities that I can then manipulate from the workbook.

Would be great to know what your roadmap is for this product...


Thanks for playing with it! You cheated and went outside the scope of the VS REPL though. :-P

* On Windows, first evaluation can take a few seconds (and we're working on that), but subsequent evaluations should feel instant. If that's not the case, would love a bug filed so we can explore a bit more. Of course, there is the startup penalty of launching the Android app and potentially an Android emulator, but I assume you're talking about evaluations after the workbook has connected.

* Agreed! Our NuGet functionality needs a lot of work, but our goal is to have it work as easily as it does in the IDE.

* I don't personally know much about Android view XML, but creating new custom Activities or other Java subclasses at runtime is a significant technical challenge. We have a bug [0] to track it, if you want to subscribe to any updates. This is an unfortunate limitation on Android, for sure.

We don't have a published roadmap at this time, but you can definitely expect to hear more about this tool in the future. We have a pretty frequent release cadence, too.

[0] https://bugzilla.xamarin.com/show_bug.cgi?id=45382


To clarify...

I'm on a Mac. Tried it scoped to console and evaluations were not instant, but decent. Certainly slower than the Mono REPL. Then tried it scoped to Android and even after everything was warmed up the evaluations were still quite slow. Running against a six-month old build of the Xamarin Android emulator, running a Nexus 4 (Android 4.4) image.

My pleasure and thanks for your efforts!


Hmm...I'm curious what your hardware is like. Maybe I'm spoiled with my 2014 MacBook Pro?


Nope, I'm also on a late-2014 MBP. It's no slouch.


I've used the Mono REPL (in my distro the binary is called "csharp") with no issues for trying out code.


The Visual Studio REPL is much more polished and feature-rich. It has basically the same code editor and intellisense as what you get when working on a C# file. Multi-line history with editing, file-system aware imports, and a lot of other small features all add up to make it possible to do rather complex things in the REPL.


I only have one gripe with the Visual Studio REPL...it kind of lacks the 'P' part of REPL. If you execute something, it doesn't print it out unless you do Console.WriteLine(). Otherwise, it's pretty nice.

Not sure why they went that route with the C# REPL, because the F# one prints out results after execution.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: