Which DLLs do I need?

I don’t know about you, but VS 2017 loads here in around 4 seconds, with the huge Rhino solution it takes around 10 seconds…

To create DLLs you’ll have to compile anyway, also your Python code. I don’t know (yet?) how easy that is going to be with IronPython, see c# - Compiling an IronPython code to EXE or DLL - Stack Overflow and assemblies - How do I create a .NET assembly in IronPython and call it from C#? - Stack Overflow

If you’re saying C# isn’t portable you are wrong - Raytraced mode code I wrote is C# and works fine on the Mac (and would also on Linux if we ever have a Rhino for that platform).

If you mean Visual Studio - there is the Mac version of it, we use it too.

1 Like

Compiling an exe or dll is as easy as a single line of cmd. I usually use batch already prepared. It takes about 15-20 seconds. in a stanalone mode adding an icon (for the exe). Testing the scipt is the same. I dont wait for additional rhino instance to load and the code to build.

Look I’m not gonna argue about things like that since there is plenty I don’t know about how compilers and interpreters work. But in my limited experience python is faster for prototyping, which is what I do basically.

I have never touched a mac. When I have read about it, it is an overpriced piece of equipment with limited support on windows applications (and games). I guess in mac VS is portable because many of these libraries are used solely by VS and none other application in that unix-based environment. Last time I checked same game to run on mac it required about 20% more powerful hardware. 20% more power = about 50% more money for mac’s hardware. Perhaps now things are different?

A post was split to a new topic: Problem getting Rhino-stubs to work

I was thinking about Skin class a better example please and the second SO link I pasted where it is not entirely sure how IronPython-compiled data types behave - that is something you’ll have to figure out yourself.

The second point is that for at least the skin testing you’ll have to restart Rhino anyway.

Your Mac points may be valid on their own, but have nothing to do with portability. For Rhino plug-in purposes .NET code written in C# can be as portable as you want between the supported platforms. None of the other points you raise have anything to do with that.

C# is nothing without Mono or SharpDevelop or VS installed with all of their libraries and compilers and what not. There are CPython and IronPython standalone packages that you can copy and run on every Windows version (I don’t care about mac nor linux for now but perhaps that’s possible too). You can run them from USB flash drive and always work on the same copy. No cloud no internet connection required. No Registry entries to care about, no Windows/system32 or C:\Users\blabla you should care about. You start your script and you run it. No Distro conflicts if there’s any other version of python on the machine. No system vairables. This is what I need. This is how I think it should be. If they make C# as portable as Python and as dynamic as python I’ll start considering it.

Yes, I guess I have to. You could help a bit. :wink: I read that it is planned all assemblies (rhp, pygh, gha) should be just rhp in the future. It is your (McNeel’s) task to ensure the compatibility. So python compiled plugin,assembly,whatever should be treated by Rhino similar to C# compiled one.

I am happy with PyCharm. I can guarantee that every other editor out there will eventually be mentioned if you ask people which one works best.

I don’t think this will work with our current “skin” architecture, but I would be happy to be proven wrong. IronPython compiled DLLs are somewhat different than typical .NET assemblies.

This may be possible in the near future using Rhino.Inside to just automate a task in Rhino from an different process.

Nathan is absolutely correct about the portability of C# code. I’m just going to interpret these comments as “I like python more than C#” and that is just fine.

Not Ironpython specific but I frequently hear people say they prefer PyCharm for large projects, VS Code for a smaller projects, simple text editor with code highlighting or a Jupyter Notebook for a single file.
I’m pretty happy using Pycharm for larger projects, Notepad++ with Python plugin for quick editing and the RhinoPython editor for quick revisions within Rhino. Pycharm can keep up with any changes made in other software so you don’t need to close Pycharm and it autosaves instantly but do need to remember to hit save in the other editor and to close the rhinopython editor before making changes in Pycharm, otherwise it will overwrite your changes on its next save.
I’m also getting into Jupyter Notebooks, though not with Rhino.

See here for worldwide Python dev stats:

This is what I target. currently none work well with IronPython. WingIDE being in the lead due to the .pi files.

For CPython I prefer WingIDE because I’ve never done a bigger python project. But there are projects and connection with versioning servers from WingIDE as well. Also it is possible to make extensions to Wing using python. Much preferable than using java in PyCharm. And WingIDE is truly portable comparing with PyCharm which needs the java virtual machine, or however it is called.

this is funny for two reasons:

  1. It is a survey on PyCharm’s website :smiley:
  2. WingIDE is not even on that list. :smiley: Either all python devs are ignorant or this result is deliberately forged.

Yes, though they claim to work hard at not skewing the results. The survey couldn’t be found via their website and was only publicised via the Python Software Foundation, not via Jetbrains’ official communications channels.

But Vim is, so all is well :stuck_out_tongue_winking_eye:

2 Likes

:rofl: