SharpDevelop vs. MonoDevelop vs. VisualStudio

windows
(IVELIN PEYCHEV) #1

Which one is better for beginners with csharp?
Why?

(don’t want to start a feud, just need to understand)

VisualStudio is very complex it creates tons of unnecessary stuff that only confuse me. And it launches really slow (3 mins just to launch it is too damn much)

#2

I would go with Visual Studio. Very powerful IDE and provides a free community version.
Something must be wrong with your installation, it launch in less than 7 seconds on my machine (and it’s a quite old one)…

(IVELIN PEYCHEV) #3

old machine or old visual studio?
I had problems with 2017 and 2018 and recently installed 2019 still performance issues.

I have i7 4770 + 16 gigs of ram, that is why I think 3 mins is too damn slow.

#4

Old Machine. AFAIK there is no VS 2018.
I am using the 2017 version. Did you try uninstalling it completely and starting with a fresh install? Also install only the workloads you need - only .NET Desktop Development if you develop only for Rhino and Grasshopper.

(IVELIN PEYCHEV) #5

I installed also XAMARIN stuff, I’m willing to test android and webapp stuff. But that’s irrelevant. The libraries that are loaded depend on the type of the project. Launching even without a project is slow.

#6

I wonder if Visual Studio Code is mature and feature-rich enough to be considered a candidate on par with the other three mentioned (i.e. for say Grasshopper and Rhino plugin development in C#):

It’s certainly simpler/more light weight.

1 Like
(IVELIN PEYCHEV) #7

I agree it is simpler. I have never considered it for csharp. Only for python and other scripting javascript/html/css etc.

btw, I was also investigating how to use csc.exe to compile .cs files myself to avoid all that nonsense that VS is creating in the project.

maybe combination of VScode and csc.exe is the key

(Nathan 'jesterKing' Letwory) #8

You can use whatever you like. The main point is to be able to compile your code into a functioning Rhino plug-in.

For Visual Studio we do much of the boring work for you in the form of template wizards

With other environments you’ll have to do some leg work, but once you have a plug-in project that you can compile into an RHP you’re set.

  • reference the correct assemblies
  • compile the code
  • make sure the DLL is renamed to RHP if it isn’t already integral part of the project settings

Don’t copy any of the RhinoCommon DLLs, nor the Eto DLLs into the directory where you collect the final plug-in files (RHP and other third-party libraries).

(IVELIN PEYCHEV) #9

This is the problem. I can’t “like” anything before I learn to use it. Why do you think I resist csharp so much. Because I have only tried csharp with scripting in Unity3D (MonoDevelop), but everything was very clean. The other thing I’ve tried is VisualStudio and it is overwhelming. Too many menues and panels, settings, assemblies, properties. And then when I start one of your (McNeel) template projects there is too many stuff in there. Some green ///<summary> stuff that I can’t connect to anything in Python in my head. I have a strong associative memory. If I can find similarities I can work with many things even without enough knowledge.

I don’t mind adding assemblies and renaming dlls myself. Even if I have to I’ll use csc.exe to compile my plugin but it has to be clear what’s what. I’m looking for the proper tool that I’ll start “liking” :wink:

(Nathan 'jesterKing' Letwory) #10

In the end only you can best the obstacles you feel are in your way. One would’ve thought that by now you are aware that the green blocks are comments, just like the comments in Python with #.

The language syntax and constructs don’t change with the tool, they stay the same.

Don’t the tutorials help you get to know your tools? https://visualstudio.microsoft.com/vs/getting-started/

(IVELIN PEYCHEV) #11

not the comments the <summary> :rofl: I know how to comment in plenty of languages

Also there are some regions in csharp defined with # I can’t compare that with pytnon.

Nor namespaces

(IVELIN PEYCHEV) #12

So you’re pro-VS.

How about Mono? You’re MAC-lover :stuck_out_tongue_winking_eye:

(Nathan 'jesterKing' Letwory) #13

I did not say that.

I use Visual Studio Code quite a bit. And Vim.

I don’t like wasting time too much I also use Visual Studio 2017 a lot - because that is what we use to type Rhino bugs with. I mean features.

But I do every now and then switch to just typing with Visual Studio Code, because I have a builder tool I wrote in F# to do that for me in the Rhino project. I still create the initial solution and project files with VS2017. You can compile with devenv.exe without having the Visual Studio GUI popping up…

Used because we have to

I am absolutely not a Mac-lover. I use it because I have to. But I would rather have a good Linux machine.

1 Like
(IVELIN PEYCHEV) #14

Golden :rofl:

How about this:

Why are square brackets used? This is very weird to me.

Also why is AssemblyInfo.cs a separate file?

(Nathan 'jesterKing' Letwory) #15

The comments already mention the name attributes. The internet, while vast and possibly intimidating, is also your friend: https://duckduckgo.com/html/?q=C%23%20attributes

Any code can be divided into separate files that constitute some logic units. You do the same in Python, have classes in their own files, maybe some utility modules, etc.

If you don’t want to learn C# maybe you want to try Fortran95 instead: https://www.silverfrost.com/17/ftn95/ftn95_visual_studio_dotnet_integration.aspx

1 Like
(IVELIN PEYCHEV) #16

Oh hell no, I don’t like dead or almost dead things.

And also filled with out of date crap. 90% of the code snippets I’ve tried when searching don’t compile. Being created for old versions of csharp (or any other language). 5% is complete projects filled with the authors’ idiosyncrasies that are difficult to comprehend if you’re a beginner.

Not really :stuck_out_tongue:, Since I still learn I tend to keep everything in the same file at first to keep track what’s happening.

Also csharp “recommended” is like python’s from something import * also confusing. I saw VS throwing some green-underlined errors with that.

Is it possible, theoretically, that Rhino Plugin is in a single .cs file?

You know, to put everything in the namespace{} block or whatever is the term. Stack?

(Nathan 'jesterKing' Letwory) #17

I don’t know what you use, but for the search I linked to the top 5 links all are good resources. If you use Google Search you probably live in your search bubble.

I suppose.

With anything in the world: what is possible isn’t necessarily sensible.

(IVELIN PEYCHEV) #18

What search do you use?
Of course I use google search, and considering all the profilers’ cookies I am probably in my own search bubble.

(Nathan 'jesterKing' Letwory) #19

You really have to ask, even though I actually linked you to the search (and thus search engine) I used?

1 Like
(IVELIN PEYCHEV) #20

:wink: too busy typing, sorry.
https://duckduckgo.com

first time I heard of this one.