I'd be interested in seeing .net9 vs Java 22 vs Go vs Rust.
But this probably won't happen.
Simple hello world,
Graphql,
Grpc,
RESTful api with a simple model.
And then spice up the concurrency and measure memory consumption as well, a 24h test.
I just want to point out that for years Microsoft told us to abandon WinForms and jump on WPF. Now we're years later and Winforms keeps getting new features.
Is this the feature that would let you put extension properties on everything?
The most obvious way to store backing fields for arbitrary objects is to have a global concurrent dictionary that stores weak keys, and a compiler-generated class to store the backing fields as the value. But then you have a performance problem of needing to do a lookup from a weak-concurrent-dictionary every time you access any extension backing field.
The higher-performance alternative would be a second shadow variable in code that uses the extension backing fields. Do your dictionary lookup, then cache the backing-fields-object so you don't need to redo lookups for it. But that would be function-local.
If the extension property doesn't need a new backing field, it's trivial, you're just making a new getter and setter function pair.
Is there a development environment for this which is graphical and interactive and as easy-to-use as say Visual Basic 1.0 or Livecode (formerly Runtime Revolution which was a HyperCard clone)?
The nearest thing is probably a Monaco based IDE that generates self-contained executables (like VB before .Net) with modernization for todays OS ecosystem.
It's always a bit amusing to see comments like "ooh, large performance improvements, that's great" and "meh, no new shining language features, maybe next year" next to each other, but it does show that there is a healthy variety in the user base.
llm_nerd|1 year ago
Large performance improvements.
edtech_dev|1 year ago
[0] - https://devblogs.microsoft.com/dotnet/performance-improvemen...
lakomen|1 year ago
And then spice up the concurrency and measure memory consumption as well, a 24h test.
matdehaast|1 year ago
mirages|1 year ago
leosanchez|1 year ago
bob1029|1 year ago
https://learn.microsoft.com/en-us/dotnet/csharp/language-ref...
https://github.com/dotnet/runtime/issues/34800
https://github.com/dotnet/runtime/issues/34812
Dwedit|1 year ago
The most obvious way to store backing fields for arbitrary objects is to have a global concurrent dictionary that stores weak keys, and a compiler-generated class to store the backing fields as the value. But then you have a performance problem of needing to do a lookup from a weak-concurrent-dictionary every time you access any extension backing field.
The higher-performance alternative would be a second shadow variable in code that uses the extension backing fields. Do your dictionary lookup, then cache the backing-fields-object so you don't need to redo lookups for it. But that would be function-local.
If the extension property doesn't need a new backing field, it's trivial, you're just making a new getter and setter function pair.
jf22|1 year ago
mihular|1 year ago
qingcharles|1 year ago
WillAdams|1 year ago
mmerlin|1 year ago
twinBasic https://twinbasic.com
Joker_vD|1 year ago
balencpp|1 year ago
unknown|1 year ago
[deleted]