6 ms·
Pattern matching! Tuples! Awesome, C# 7.0 is scratching two itches I've felt every time I've worked with it. If only .NET had a suitable cross-platform UI tool
by mintplant 10y ago
Pattern matching! Tuples! Awesome, C# 7.0 is scratching two itches I've felt every time I've worked with it.
If only .NET had a suitable cross-platform UI toolkit, then I'd be using it everywhere. Eto.Forms is a good attempt but I found rather buggy and limited at this point in development. Avalonia, while further along in terms of stability and features, doesn't even try to fit in with any platform's look and feel.
- jimmaswell 10y agoWhy not winforms? Very convenient, and mostly works in mono
- Aeolos 10y agoWinForms is a dead end. It doesn't support Windows modern or Mac OS X, and it looks completely out of place on Linux.
- snaky 10y ago> It doesn't support Windows modern That's a good thing. > or Mac OS X "Does Winforms run on OSX? Yes, as of Mono 1.9, Winforms has a native OSX driver that it uses by default" http://www.mono-project.com/docs/faq/winforms/ http://www.mono-project.com/docs/faq/winforms/ > it looks completely out of place on Linux On KDE3? KDE4? KDE Plasma? Gnome2? Gnome3? MATE? Cinnamon? LXDE? LXQt? Xfce? CDE? GnuStep? Unity? Enlightenment? Non-DE X Window System environment - with which Window Manager, with which theme?
- jsight 10y agoI'm pretty sure that it looks out of place in all of the Deskktop environments that you have mentioned.
- creshal 10y agoGoing by the documentation you linked yourself: > In terms of integrating visually with the desktop, we currently ship with a classic Win32 theme. That sticks out like a sore thumb everywhere, including every Win32 release since Windows 2000.
- Koshkin 10y agoThe standard Win32 theme is the classic, an engineering marvel. Everything else that came after that - starting with the infamous native Windows XP theme - was and is a horrible mess.
- jimmaswell 10y agoOn Windows it takes the style of whatever window theme you're using, what do you mean?
- creshal 10y ago"mostly works" is rather… optimistic.
- gsmethells 10y agoFeels kinda crazy to see tuples and pattern matching "just arrive" when other languages have had them for years.
- rco8786 10y agoSure. Like how streams "just arrived" in Java yet C# has had the equivalent for years. No language has every feature. C# is making enormous strides ahead of many of its counterparts.
- premium-concern 10y agoScala seems to be vastly more expressive while simultaneously having only 20% of C#'s feature set.
- Newtopian 10y agoF# would probably be a better comparison peer to Scala than C# would IMHO
- jinst8gmi 10y agoJava's a pretty extreme outlier for late or non-adoption of modern features, but it is true that Java is the closest direct competitor/peer to C# in terms of usage/marketshare. C# seems to be steadily shifting from being a language which initially (v1.0) looked like Java to one which looks increasingly like Scala (e.g. addition of pattern matching, tuples, local methods etc.).
- codesterling 10y agoJava is generally C#'s main competitor. Comparing them is the most appropriate comparison.
- int_19h 10y agoWhat's your bar for "other language"? Remember that C# is a mainstream language, with all that entails in terms of stability and conservatism of language design (and the other way around - it's popular partly because it's conservative). Comparable languages are Java, C++ and the like; and in that category, C# is, generally speaking, more on the "progressive" end of the spectrum. Comparing it to something like Scala is rather apples and oranges.
- vyrotek 10y agoThis is the feature I've been waiting for! Correct me if I'm too excited, but won't these be an excellent alternative to maintaining lots of DTOs for SQL calls?
- elboru 10y agoI was thinking the same, I never really liked having those, also good for handling responses from services.
- jsmeaton 10y agoVery glad to see tuples and pattern matching also. But allowing the tuples to be structs with mutable public fields seems off. Once a tuple is constructed it shouldn't be mutable IMO, unless I'm missing some important use cases?
- JimmyM 10y agoQuick'n'dirty construction of custom mutable trees, I guess? Don't know about important. Best guess I have.