|
rjmccall posted:so i can consider my question answered, cool no problem, anytime
|
# ? Jun 12, 2018 20:32 |
|
|
# ? Jun 4, 2024 07:51 |
|
mystes posted:I don't know if it's true but some things Microsoft people have written on blogs and so on have made it sound like there's a constant war between pro .net and anti .net (pro c++) factions. unsurprising because the pro .NET faction was all “use our (new, unproven) stuff, it’ll be cool, love us please!” while the pro C++ faction response was “we have tens of millions of lines of code that make the company all of its money, we’re not rewriting poo poo”
|
# ? Jun 12, 2018 20:39 |
|
Windows hated .NET because it bought the Java myth of “write once run anywhere” and wrapped the platform API and eschewed the platform UI Office hated .NET because Windows hated it and the .NET people told they needed to rewrite to get the most benefit all of the C++/.NET interop efforts have been intended to convince Windows and Office to start doing new stuff in .NET because “see, it interoperates!” and Windows & Office’s response has been “LOL, nice Trojan horse you got there, gently caress off”
|
# ? Jun 12, 2018 20:44 |
|
Windows and Office see DevDiv’s role as primarily to provide tools to build Windows and Office and secondarily to provide tools so third parties can build on the Windows and Office platforms; you’ll note that providing its own developer platform isn’t in that list at all they’re not wrong, and the people responsible for .NET in DevDiv were very lucky to last long enough for Azure to become a thing also the wholesale rewrite of Visual Studio in WPF etc. was due to Windows and Office saying “LOL, you won’t even rewrite your own stuff, why should we rewrite ours” and look how many years that took to not suck
|
# ? Jun 12, 2018 20:49 |
|
Lime posted:they've abandoned both those and that whole approach I am shocked plain c++ sounds like a more correct answer than the last two (three?) though
|
# ? Jun 12, 2018 21:03 |
|
as expected, eschaton's knowledge of the history of microsoft developer tools ends with VS 2010. although xcode is getting dark mode so maybe somebody finally installed dev11.
|
# ? Jun 12, 2018 21:07 |
|
eschaton posted:the people responsible for .NET in DevDiv were very lucky to last long enough for Azure to become a thing side note: one of those unimportant .net guys now owns the windows core os team
|
# ? Jun 12, 2018 21:14 |
|
Fiedler posted:side note: one of those unimportant .net guys now owns the windows core os team not surprising considering the state of windows
|
# ? Jun 12, 2018 21:20 |
|
no you have terry myerson to thank for that
|
# ? Jun 12, 2018 21:22 |
|
I just hope the have some sort of sane strategy that hopefully eventually involves ditching the windows store, but I have a feeling that letting people develop desktop apps with .net core is just going to cause additional confusion. UWP has done an excellent job of getting people to stop developing windows applications, though.
|
# ? Jun 12, 2018 21:26 |
|
5 major versions later the WPFified stuff in VS is still a bit of a step down from the old version
|
# ? Jun 12, 2018 21:55 |
|
Xarn posted:Yes, lets cripple a feature that could make the long-term future much better to make the short-term future easier. This is definitely good language design decision. microsoft-style modules are also a really lovely language design for, y'know, modularity. it's really quite bizarre, like it was written by c programmers: export declarations have to be at namespace scope, so you can export an entire class at a time, but you have to export everything from it; if you want to give it a module-private interface, even just to except the private methods from the interface, you have to stop exporting the entire class and instead redeclare every exported method out-of-line. also, there is no way to split up the interface of your module, so that clients can be clear about what parts of it they're using, without actually breaking it up into separate modules. also, adopting microsoft-style modules is really all-or-nothing: ironically, you can't adopt the feature without making all of your headers non-modular, because including a global header after the module declaration is a huge no-no; the only way to manage it is to put all the necessary includes and forward-declarations at the top of your header files inside #if guards. and the basic model is just as much "a module is an independently-generated pch file" as the google proposal because of the need to interoperate with non-modularized code, which will never ever disappear. and that model is itself good enough to solve the main problem with macros — that a macro from one module can break the interface of a completely different module — without needing to remove the ability to use macros as part of your exported interface, but instead they're just unconditionally asserting that macros don't matter. also there is no remotely reasonable upgrade path for projects to start using microsoft-style modules. leaf projects will see pretty marginal benefits from using modules when none of their dependencies have been modularized, because any incremental edit that would cause multiple files to be rebuilt in a library today will be a change to the module interface unit in the future and therefore cause just as many if not more files to be rebuilt, and the compile-time benefits from just the module interface unit are literally almost exactly the same (actually probably slightly smaller) as the compile-time benefits of a well-tuned pch. library projects can't really adopt modules without either making modules a requirement for their clients or doing terrible, unmaintainable #if hacks in their headers. it is much easier to incrementally adopt the pch-style modules from the google proposal if microsoft-style modules are adopted, it'll just be yet another arbitrary division in the language where different projects use different idioms, and probably even different idioms in different parts of the same codebase. and it won't actually make the language better in any of the ways you're imagining
|
# ? Jun 12, 2018 22:53 |
|
someone added generics to go: https://github.com/albrow/fo it just does a source transformation and then runs it through the go compiler. it doesn't support interface constraints on generic types (which is pretty important) but the author said that they're on their way to implementing it.
|
# ? Jun 12, 2018 23:47 |
|
let's reimplement c++ templates having learned zero lessons!!!
|
# ? Jun 12, 2018 23:58 |
|
Sagacity posted:but if you turn everything into header-only libs you'll have exploding compile-times, unless you turn on precompiled headers which are like a clowncar of hackery in their own right I spent so much time trying to figure out a good way of doing pch, c++ is infernal
|
# ? Jun 13, 2018 00:02 |
|
DELETE CASCADE posted:let's reimplement c++ templates having learned zero lessons!!! well go was a bad reimplementation of c, so that fits
|
# ? Jun 13, 2018 00:03 |
|
rjmccall posted:microsoft-style modules are also a really lovely language design for, y'know, modularity. the work product of the microsoft c++ compiler team is... bad?
|
# ? Jun 13, 2018 00:21 |
|
rjmccall posted:microsoft-style modules are also a really lovely language design for, y'know, modularity. it's really quite bizarre, like it was written by c programmers: export declarations have to be at namespace scope, so you can export an entire class at a time, but you have to export everything from it; if you want to give it a module-private interface, even just to except the private methods from the interface, you have to stop exporting the entire class and instead redeclare every exported method out-of-line. also, there is no way to split up the interface of your module, so that clients can be clear about what parts of it they're using, without actually breaking it up into separate modules. also, adopting microsoft-style modules is really all-or-nothing: ironically, you can't adopt the feature without making all of your headers non-modular, because including a global header after the module declaration is a huge no-no; the only way to manage it is to put all the necessary includes and forward-declarations at the top of your header files inside #if guards. and the basic model is just as much "a module is an independently-generated pch file" as the google proposal because of the need to interoperate with non-modularized code, which will never ever disappear. and that model is itself good enough to solve the main problem with macros — that a macro from one module can break the interface of a completely different module — without needing to remove the ability to use macros as part of your exported interface, but instead they're just unconditionally asserting that macros don't matter. you're forgetting the whole "you can have any number of implementation files for a given module", so you have an interface module, and then maybe just like 20 implementation files and also gently caress you if you wanted these modules to be a hierarchy.
|
# ? Jun 13, 2018 00:53 |
|
ML-style modules are Cool and also Good
|
# ? Jun 13, 2018 01:13 |
|
yeah, but ml-style modules are a completely different feature
|
# ? Jun 13, 2018 01:49 |
|
some kind of joke like "c++ is good, modulo making sense" but i cant be arsed to refine it
|
# ? Jun 13, 2018 05:23 |
|
DELETE CASCADE posted:ML-style modules are Cool and also Good They are not really for separate compilation though (there is the Basis System for that, which is ludicrously overengineered given the relatively small size of ML programs in practice).
|
# ? Jun 13, 2018 05:42 |
|
b0lt posted:well go was a bad reimplementation of c, so that fits c with a garbage collector everything else stems from that
|
# ? Jun 13, 2018 07:00 |
|
your posts collector
|
# ? Jun 13, 2018 08:12 |
|
Symbolic Butt posted:I spent so much time trying to figure out a good way of doing pch, c++ is infernal turns out all you need is a 4191 line script, it's THAT EASY
|
# ? Jun 13, 2018 09:22 |
|
MALE SHOEGAZE posted:someone added generics to go: https://github.com/albrow/fo
|
# ? Jun 13, 2018 13:19 |
|
lol
|
# ? Jun 13, 2018 13:54 |
|
Fiedler posted:even if microsoft was particularly keen on investing in the c++ ecosystem (you may have noticed they've been pushing this c# language instead in recent decades), it's simply too loving expensive to rewrite any significant fraction of their c++. https://twitter.com/thelarkinn/status/1006746626617008128?s=21
|
# ? Jun 13, 2018 14:06 |
|
finally I’ll be able to add date time, string and into cells in excel without errors!
|
# ? Jun 13, 2018 14:25 |
|
mystes posted:I am pleased to say that we now know the real answer to this question! The actual reason Microsoft isn't rewriting things in c# because they were apparently secretly rewriting everything in javascript! lol
|
# ? Jun 13, 2018 14:49 |
|
things to note: 1) that guy is talking about the ui only. the office c++ nightmare hellscape otherwise remains. 2) that guy is a complete loving moron who won't be working at microsoft in a couple of months.
|
# ? Jun 13, 2018 14:52 |
|
teams and skype have some of the worst performing UIs in the world especially considering how simple they are
|
# ? Jun 13, 2018 15:33 |
|
mystes posted:I am pleased to say that we now know the real answer to this question! The actual reason Microsoft isn't rewriting things in c# because they were apparently secretly rewriting everything in javascript! https://twitter.com/mononcqc/status/1006886655817584641
|
# ? Jun 13, 2018 15:33 |
|
They must have outsourced the calendar code to Rockchip.
|
# ? Jun 13, 2018 15:38 |
mystes posted:They must have outsourced the calendar code to Rockchip. at least not to massive entertainment, who hardcoded the division daily event calendar to consist of 12 31 day long months per year
|
|
# ? Jun 13, 2018 16:08 |
|
Krankenstyle posted:c++ is good
|
# ? Jun 13, 2018 16:09 |
|
cinci zoo sniper posted:at least not to massive entertainment, who hardcoded the division daily event calendar to consist of 12 31 day long months per year hahaha
|
# ? Jun 13, 2018 16:11 |
|
|
# ? Jun 13, 2018 16:21 |
|
What the gently caress is this guy talking about with "compiles to native code". Also VS Code doesn't use react-native and doesn't have mobile ports. Jeez.
|
# ? Jun 13, 2018 16:44 |
|
|
# ? Jun 4, 2024 07:51 |
|
Fiedler posted:things to note: how the gently caress is this guy not fired, you dont leak plans to anyone but mjf
|
# ? Jun 13, 2018 16:54 |