CoreCLR
GtkSharp
CoreCLR | GtkSharp | |
---|---|---|
22 | 11 | |
12,786 | 854 | |
- | 1.6% | |
0.0 | 6.0 | |
over 1 year ago | about 1 month ago | |
C# | ||
- | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
CoreCLR
-
The Performance Impact of C++'s `final` Keyword
Yes, that is true. I'm not sure about JVM implementation details but the reason the comment says "virtual and interface" calls is to outline the difference. Virtual calls in .NET are sufficiently close[0] to virtual calls in C++. Interface calls, however, are coded differently[1].
Also you are correct - virtual calls are not terribly expensive, but they encroach on ever limited* CPU resources like indirect jump and load predictors and, as noted in parent comments, block inlining, which is highly undesirable for small and frequently called methods, particularly when they are in a loop.
* through great effort of our industry to take back whatever performance wins each generation brings with even more abstractions that fail to improve our productivity
[0] https://github.com/dotnet/coreclr/blob/4895a06c/src/vm/amd64...
[1] https://github.com/dotnet/runtime/blob/main/docs/design/core... (mind you, the text was initially written 18 ago, wow)
- How are stack machines optimized?
-
Best .net/c# resources for senior engineer
Sort of, some topic are not relevant anymore, consider this - https://github.com/dotnet/coreclr/tree/master/Documentation/botr
-
Is there a C# under the hood tutorial?
Fairly advanced stuff but the Book Of The Runtime (BOTR) it's a invaluable resource
-
In depth learning of C#?
After that you can check out the The Book of the Runtime, which is the CoreCLR version of the previous book.
-
.NET 6 is now in Ubuntu 22.04
Technically the restrictions already exist, just as a part of the development experience.
- .NET Hot Reload is only implemented on Windows. It requires support in the .NET runtime, which is technically possible to implement, but the team has not gotten around to implementing it for years. This doesn't have to do with the issue around MS removing the "dotnet watch" command, it's for the "Edit and Continue" feature in IDEs.[1][2]
- MS was considering deprecating Omnisharp, the open-source language server that implements C# support for VS Code, and replacing it with a closed-source version. Since the announcement, commits to omnisharp-vscode have dropped off significantly. The lack of Omnisharp would mean there would be no real open-source C# development environment for Linux anymore, since MonoDevelop was abandoned a few years ago. [3]
[1] https://youtrack.jetbrains.com/issue/RIDER-31366/EditContinu...
[2] https://github.com/dotnet/coreclr/issues/23685
[3] https://github.com/omnisharp/omnisharp-vscode/issues/5276
-
what a .NET specialist should know
The next step is to realize everything you think you know about .NET is just an abstraction. Next step is to learn about what is going on behind all that syntax sugar and facades. 1st step might be https://github.com/dotnet/coreclr/tree/master/Documentation/botr then go down the rabbit hole and have fun
- Trouble with random numbers
-
Is CLR via C# still good?
Book of the Runtime
-
Understanding dotnet
As for the books, back in the days I really enjoyed reading “CLR via C#" by Jeffrey Richter which helped a lot to understand what is under the hood. Other from that, try The Book of the Runtime
GtkSharp
-
Is it a recently-added new feature to select TreeView nodes by dragging?
Thanks, but I still have a question. Is that "rubber band selection" on GtkTreeView a new feature that was added to GTK4? Because, I use GTK# (the C# library for GTK) which uses GTK 3.22. I created a simple GtkTreeView, but I cannot do rubber band selection, on the same Linux PC where I recorded that rubber band selection in the OP. I wonder if this is because it is GTK3, or because I had not added the code to enable rubber band selection.
-
.NET MAUI on Linux Makes Progress
I noticed GtkSharp is on version 3.24, quite mature. I hope MS takes this seriously brings much needed Linux support, as all the dependency components are in place.
-
.NET 6 is now in Ubuntu 22.04
There's also the more direct route by using say Gtk directly[1].
[1]: https://github.com/GtkSharp/GtkSharp
-
How quickly and efficiently do you believe Linux will get support for MAUI apps?
Looks like a "blocker" is getting GtkSharp working with .Net6. Unclear from this GitHub issue when such support will be merged into the project's main branch.
- Cross platform gui frameworks that aren't xaml-based?
-
Writing a GUI app on Linux, for Linux
For .NET GUI development on Linux, my go-to choice would be GTK#. This is a managed wrapper on GTK+2 or 3. If you have experience on developing GUI application using C and GTK+, you can reuse most of the concepts (and even some of the Glade files) in GTK#.
-
F# for Linux People
Your only real choice for GUI development with F#/.NET on Linux is GTK#. (I've gotten feedback on Twitter that this statement may be a bit harsh, will update when I dive a bit deeper into other options).
-
Pinta 2.0
https://github.com/GtkSharp/GtkSharp is used rather than the mono gtk-sharp-3
-
What language do you use for developing GTK-Applications?
mono/gtk-sharp is still stuck on 2.0 I think, but GtkSharp/GtkSharp uses 3.22 and up.
-
WinForms Alternative
GTK https://github.com/GtkSharp/GtkSharp
What are some alternatives?
.NET Runtime - .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
Maui.Markup - The .NET MAUI Markup Community Toolkit is a community-created library that contains Fluent C# Extension Methods to easily create your User Interface in C#
sdk - Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI
Avalonia - Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The most popular .NET UI client technology
Introducing .NET Multi-platform App UI (MAUI) - .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
maui-linux - .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
referencesource - Source from the Microsoft .NET Reference Source that represent a subset of the .NET Framework
gir.core - A C# binding generator for GObject based libraries providing a C# friendly API surface
AspNetCore-Developer-Roadmap - Roadmap to becoming an ASP.NET Core developer in 2024
Uno Platform - Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.
Windows UI Library - Windows UI Library: the latest Windows 10 native controls and Fluent styles for your applications
Avalonia.FuncUI - Develop cross-plattform GUI Applications using F# and Avalonia!