Hacker Newsnew | past | comments | ask | show | jobs | submit | zigzag312's commentslogin

I agree, .NET Standard limitation unnecessarily complicates development experience. I think it's because some tools (Visual Studio) is still use legacy .NET Framework. I don't understand why they didn't integrate them via out of process architecture into these tools, since source generators didn't exist in the legacy framework anyway.

I sometimes generate code from plain CLI projects (avoiding source generators altogether), as whole debugging and DX is so much better.


Yeah, I went with that approach for most of the code generation in the emulator I'm currently working on. Source generators handle a few core things, but more advanced compilation tasks went to just ahead of time generation; couldn't get my parser combinator library to play nicely with .NET Standard, so that was just a dead-end.


You add PolySharp to your source generator project to get back some of the modern C# features. https://github.com/Sergio0694/PolySharp


.NET standard isn’t the biggest issue with making source generators. You can’t add dependencies to your project, which is an absolutely huge oversight IMO.


You can add dependencies, it's just important, that you also add the dependencies to the project where the source generator is used:

SourceGenerator.csproj:

  <ProjectReference Include="..\Dependency.csproj" />
FinalProject.csproj:

  <ProjectReference Include="..\Dependency.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
  <ProjectReference Include="..\SourceGenerator.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
And I also recommend to add "<LangVersion>latest</LangVersion>" to SourceGenerator.csproj to use new features like raw string literals.


NativeAOT compiled C# library can create C compatible exports which can be used with any language that supports C libraries.


Wrong? You are comparing number of possible values that can be stored not the amount of bits. Drive sizes are specified in bytes not possible combinations it can store.


Start menu in I Windows 11 is quite bad. One things that really annoys me is how little space the start menu has for pinned shortcuts.


Encapsulation


In a way, this is similar to tags vs folders.

Folders are hierarchical way of organizing, akin to inheritance and tags are compositional way of organizing.

I'm kind of waiting for any language to invent some sort of #hashtag interfaces to define contracts :)


DataFusion is another option I would be interested to see in a comparison like this.


Much better UX and integrated ReSharper.


> But no one who opts for canvas turns around and remembers to do their landmarks.

Not completely true. Flutter has been adding some accessibility for web canvas target. [1]

I think Avalonia is in in the make it work phase. Accessibility will probably be added in the make it right phase.

[1] https://docs.flutter.dev/ui/accessibility/web-accessibility


I would much rather see web apps become canvas rendered WASM versions of desktop apps than desktop apps become webview apps. Latter is what we have been seeing in the recent years unfortunately.

Canvas rendered cross-platform UI frameworks like Flutter & Avalonia targeting browsers (WASM), might shift the balance back in favor of desktop UI.


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

Search: