How to stop dotnet?
-
@cartman82 said in How to stop dotnet?:
@blakeyrat said in How to stop dotnet?:
@cartman82 Sadly I don't think there are any good languages that do what C# does. Java's closest, but. Java.
I think Rust is kind of aiming towards that area, but my understanding is that it's far from production-ready.
Rust is completely different IMO. They are trying to do uber low levelly speed and safety at the same time. C# is much more practical in terms of speed, taking the hit of garbage collection for the sake of developer ergonomics. Also, rust tooling is absolutely atrocious.
Well, Rust is trying to prove static analysis is superior to garbage collection, because it can also prevent data races, which garbage collection can't help with.
I would also consider C# much more ergonomic if it supported (at least C++ style) const. Const references are a big deal for reasoning about asynchronous operations (yes, you can create a read-only interface for each object, but it's a lot of typing and the library ones don't have them).
-
@Bulb You mean like
in
,ref readonly
, andreadonly struct
?
-
@Bulb said in How to stop dotnet?:
you can create a read-only interface for each object
That doesn't help much with reasoning about the read-only-ness of the object, as something else could have a read-write reference. Immutability is a strictly stronger property than that which is provided by a
const
reference.
-
@Bulb Also, Rust's are even better because they're immutable by default.
-
@stillwater said in How to stop dotnet?:
@cartman82 you're late to the game. Had a ".NET Core is fucking broken" thread around here somewhere.
I've been hating on NET core while you were still learning hello world, punk.
-
@cartman82 said in How to stop dotnet?:
@stillwater said in How to stop dotnet?:
@cartman82 you're late to the game. Had a ".NET Core is fucking broken" thread around here somewhere.
I've been hating on NET core while you were still learning hello world, punk.
LTFY
-
@boomzilla said in How to stop dotnet?:
LTFY
That's my "trolling .NET guys in general" thread. There are a few .NET Core specific ones too :)
-
@cartman82 that's why I didn't include "core" in the link. Also, that one was my favorite.
-
@dkf said in How to stop dotnet?:
@topspin said in How to stop dotnet?:
At least in Windows I can write the equivalent of malloc(100000000000); and get an out of memory exception I can catch and handle, instead of OOM killer deciding my Firefox process has been running for too long already.
I've got a server at work with enough memory in it that the VMs it runs could all do that size of allocation at once and everything would keep running. ;)
And you also work with embedded systems where a 1kB library is much too big to use. Have you ever been diagnosed with multiple personality disorder?
-
@HardwareGeek said in How to stop dotnet?:
@dkf said in How to stop dotnet?:
@topspin said in How to stop dotnet?:
At least in Windows I can write the equivalent of malloc(100000000000); and get an out of memory exception I can catch and handle, instead of OOM killer deciding my Firefox process has been running for too long already.
I've got a server at work with enough memory in it that the VMs it runs could all do that size of allocation at once and everything would keep running. ;)
And you also work with embedded systems where a 1kB library is much too big to use. Have you ever been diagnosed with multiple personality disorder?
No no no, he uses those servers that have hundreds of gigabytes of memory to compile programs that run on the servers that have kilobytes of ram available.
-
@HardwareGeek said in How to stop dotnet?:
Have you ever been diagnosed with multiple personality disorder?
-
dunno how to stop dotnet, but apparently someone found a way to stop nodejs today
-
@sockpuppet7 said in How to stop dotnet?:
dunno how to stop dotnet, but apparently someone found a way to stop nodejs today
I found a way to stop you from deleting your posts.
-
This post is deleted!
-
@pie_flavor said in How to stop dotnet?:
@Bulb You mean like
in
,ref readonly
, andreadonly struct
?No, because none of that annotates object methods. When you pass in an object, and it has mutating methods, the callee may call it. Not so in C++ (ok, C++ is weakly typed, so you can tell it to shut up and do what you say, but it is rather obvious in review).
@dkf said in How to stop dotnet?:
That doesn't help much with reasoning about the read-only-ness of the object, as something else could have a read-write reference. Immutability is a strictly stronger property than that which is provided by a
const
reference.It is exactly equivalent to what C++ does. It helps a lot, because it lets the programmer limit which parts of the code may modify the object. And since C++11 it also indicates which methods are thread-safe, though it's actually only a convention.
For example in Java you get a warning if you create global DateFormat, because it is not thread-safe. And declaring it
final
does not mean it can't be modified, so it does not help. In C++, declaring itconst
would help, because then you could be sure it is not modified and therefore can be used in any thread without locking.@pie_flavor said in How to stop dotnet?:
@Bulb Also, Rust's are even better because they're immutable by default.
Yes, Rust goes the extra step making the object actually immutable while an immutable reference exists, and has immutable, reasonably, as default.
-
@HardwareGeek said in How to stop dotnet?:
@dkf said in How to stop dotnet?:
@topspin said in How to stop dotnet?:
At least in Windows I can write the equivalent of malloc(100000000000); and get an out of memory exception I can catch and handle, instead of OOM killer deciding my Firefox process has been running for too long already.
I've got a server at work with enough memory in it that the VMs it runs could all do that size of allocation at once and everything would keep running. ;)
And you also work with embedded systems where a 1kB library is much too big to use. Have you ever been diagnosed with multiple personality disorder?
He also programs in Tcl, if that's any answer to your question.
-
@Bulb said in How to stop dotnet?:
And declaring it final does not mean it can't be modified
-
@pie_flavor said in How to stop dotnet?:
@Bulb said in How to stop dotnet?:
And declaring it final does not mean it can't be modified
It means the variable cannot be reassigned. But if it is a reference type that doesn't help prevent the object being referenced from being modified.
Like declaring a
char const *
in C++.
(I hope I got that right. I haven't done C++ since last century).
-
@Zecc said in How to stop dotnet?:
@pie_flavor said in How to stop dotnet?:
@Bulb said in How to stop dotnet?:
And declaring it final does not mean it can't be modified
It means the variable cannot be reassigned. But if it is a reference type that doesn't help prevent the object being referenced from being modified.
Like declaring a
char const *
in C++.
(I hope I got that right. I haven't done C++ since last century).char * const
isfinal byte[]
char const *
isString
const char *
is alsoString
-
@Zecc said in How to stop dotnet?:
@pie_flavor said in How to stop dotnet?:
@Bulb said in How to stop dotnet?:
And declaring it final does not mean it can't be modified
It means the variable cannot be reassigned. But if it is a reference type that doesn't help prevent the object being referenced from being modified.
Like declaring a
char const *
in C++.
(I hope I got that right. I haven't done C++ since last century).If you have a
char const *
then you cannot directly use that reference to modify the data. But there may be other mutable references, and unless the object resides in read-only memory you can just cast away the const.
-
-
@Bulb said in How to stop dotnet?:
It is exactly equivalent to what C++ does.
It only applies through the reference. Other references may be mutable. That means that you can't safely optimise out reads of memory, which is something that it is safe to do when you know the object itself is actually immutable (while live). However,
const
is very useful on methods. (Full immutability would be like whereconst
is applied to every method/field.)
-
@topspin said in How to stop dotnet?:
He also programs in Tcl
Yes. And you could have left the
in
out and still had a true statement.
-
@dkf Dig yourself deeper...
-
Can I reply to a deleted post?
Edit: Yes. Yes, I can.
-
This post is deleted!
-
@pie_flavor You wanted proof?
-
-
@pie_flavor said in How to stop dotnet?:
@pie_flavor said in How to stop dotnet?
And a deleted post can reply to you!
You're missing with causality, dude....
-
-
@dkf said in How to stop dotnet?:
@djls45 said in How to stop dotnet?:
@pie_flavor You wanted proof?
Would 80% proof be good enough?
80 proof would be 40%, but I'm a teetotaler and @pie_flavor is under 21, so...
-
-
-
@djls45 said in How to stop dotnet?:
80 proof would be 40%, but I'm a teetotaler and @pie_flavor is under 21, so...
So there'll be some left over for @Polygeekery …
-
@dkf Exactly enough, I'll wager.
-
@Tsaukpaetra said in How to stop dotnet?:
A teetotaler who Upvoted almost everything he read, for he could not remember if he'd seen it otherwise.
When you put it like this, it's hard to believe you're actually abstinent.
-
@Gąska said in How to stop dotnet?:
@Tsaukpaetra said in How to stop dotnet?:
A teetotaler who Upvoted almost everything he read, for he could not remember if he'd seen it otherwise.
When you put it like this, it's hard to believe you're actually abstinent.
Keeping people guessing is something I like to (try to) do. Ref: My comment about anecdote or personal experience. ;)