Programming languages without garbage collection send us down a long path of design decisions that lead to slow compile times and fragile runtime performance cliffs.
-
-
C# behaves differently for ref and val types here. Top one doesn't work. Bottom one does. int[] a = new byte[] { 1, 2, 3 }; object[] b = new string[] { "a", "b", "c" };https://stackoverflow.com/questions/12454794/why-covariance-and-contravariance-do-not-support-value-type …
-
A reference to a string array IS a reference to an object array (and so is a reference to a byte array, I suppose), but a reference to a byte array IS NOT a reference to an int array. Makes perfectly sense to me.
- 3 more replies
New conversation -
-
-
The second most well-known typed functional language, usually spoken of in the same breath as Haskell, has very good support for variance ;-)
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
The more I program the more I appreciate limited mutability. Having everything be immutable is beautiful in theory but makes a lot of code very unergonomic - while mutation everywhere makes writing parallel code a nightmare.
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
You seem to talk about
@scala_langThanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
Scala is one exception, including co/contravariance, at use-site (not declaration), and favoring immutability. Better than Java, but subtyping+generics is still tricky.
-
The not-puritanical functional-first languages like scala and F# intrigue me. I think that's the future, as long as C# doesnt steal all their bacon.
End of conversation
New conversation -
-
-
You should create a new computer language
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
So we all moving to D then? I'm ok with that.
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.