| ||||
| Comment on My //build/ talk on Friday @ noon PDT (webcast) by Martin
Thanks for the info. It’s great to hear that there are at least plans to fix some of the more serious issues others have, such as the getting the two-phase look up and ‘more fixed’ C header file preprocessing and all! Read More »Comment on My //build/ talk on Friday @ noon PDT (webcast) by bames53
I just watched the talk and I’m looking forward to the plans shown for VC++. On the question about how widely applicable deduced return types will be, I thought I’d point out that once modules are adopted it will be useful not just for template functions and other functions that appear in headers. Since modules, as described in Douglas Gregor’s presentations, allow for translation units to import declarations exported by other translation units without headers, one will be able to define a normal function with a deduced type, and whatever the deduced signature is will be importable into other translation units. Modules will be one of those added features that make C++ simpler, Read More »Comment on My //build/ talk on Friday @ noon PDT (webcast) by bames53
Oh, and two more things; You mentioned that VC++ hasn’t been using ASTs and that’s why it hasn’t been able to implement features like two-phase look up. Is there someplace I can read more about that? Secondly, I and people who’ve been complaining about non-conforming behavior will be happy to have two-phase lookup, as well as any other fixes we can get, but I wonder how loud the complaints will be from others who just want their legacy code to keep working with the new compiler? Read More »Comment on My //build/ talk on Friday @ noon PDT (webcast) by Felix Petriconi
It is nice that the mssing features are comming. And it is great, what is comming more. I personally am a little dissapointed that the new unions come so late, but I understand that the majority of users would profit more from the other features. Comment on My //build/ talk on Friday @ noon PDT (webcast) by Jonathan Ruttenberg
It was a very interesting talk, even for a non-Microsoft developer. Thanks for the heads-up! The Channel 9 video production was slick, but somewhat thoughtless. Somebody has too much fun pressing those video manipulation buttons and choosing cool camera angles. Far too many times, while code was being discussed, the code was obscured or totally invisible. Regards, Read More »Comment on My //build/ talk on Friday @ noon PDT (webcast) by Zura
Slight off-topic: Herb, could you please tell me if you’re still hiring? I mean the C++ team, C++ AMP, Casablanca, library and compiler teams, etc… Read More »Comment on My //build/ talk on Friday @ noon PDT (webcast) by pjmlp
Given the promises that were made in regard to MSVC++ 2012 updates, given the current situation, how many Visual Studio versions do you think we are willing to pay for, or even trust that what has been communicated today will not change as well? Read More »Comment on My //build/ talk on Friday @ noon PDT (webcast) by jalf
Ok, so several parts of the talk caught me by surprise: fixing two-phase lookup and adding (some) C99 functionality? I really didn’t see that coming. (If I wanted to be mean, I would say that I also never expected your team to actually *finish* variadic templates, given the delays so far, but hey, that would be mean :)) Anyway, I think those improvements are much needed, so thank you for that. :) However, as others above have said, it’s hard not to be concerned about a few things: - you’ve promised that *this* release would be different several times before. Remember the paradise of out-of-band feature updates we were promised for VS2012? Remember how you said back in 2010 that *now* your team was going to take C++11 seriously, after which… pretty much nothing happened? This roadmap looks very impressive, but can you deliver? (Or, again putting on my cynic hat, if you haven’t been able to deliver for the past 4 years, what is going to make the next year or two different?) - the faster release schedule seems to mean we’ll have to pay up twice as often, but what does it get *us*? It might reduce the latency from a feature is developed and until it is made available to us, sure, but I fail to see how it does anything to increase the throughput, and let’s be honest, the MSVC team’s throughput in terms of C++11 features has not been impressive so far. So we have to pay up more often (in a world where nearly every IDE and every compiler is available for free, I might add), but for what? Is that somehow key to the plan to catch up on C++ conformance? Why couldn’t (some of) these new features be shipped as free updates? (and no, I don’t buy the argument that simply putting them behind a paywall somehow makes them less risky or less likely to break existing code. Supporting and maintaining the updates, and making them optional reduces that risk. The paywall does not. That just seems like short-sighted greed) Anyway, I am impressed at the ambitions and intentions highlighted in your talk. I hope that *this time*, your team can deliver on your promises. :) Read More »Comment on My //build/ talk on Friday @ noon PDT (webcast) by Szymon Gatner
Does a promise of CTP for VS 2013 means the same as the last time? A tease of what will come in VS 2014? I bought VS 2012 because you promised “out of bands” C++ compiler updates. 3 updates for and no single feature added from Nov CTP. And now for some reason we suddenly need a new VC just a year after previous release. It used to be 2 years at least. Please don’t promise what you can’t keep. Read More »Comment on My //build/ talk on Friday @ noon PDT (webcast) by Concerned C++ Programmer
@Herb, can you please make a statement in no uncertain terms, with your credibility on the line, as to the exact nature of updates (+out of band) including language features, libraries and bug fixes for this recent release. I’m not asking you to promise great things, but as we are considering purchasing new licenses, we would like to know if we should: We need to make a decision urgently. Read More »Comment on My //build/ talk on Friday @ noon PDT (webcast) by summerlight
In the presentation, you said current VC does not generate complete AST. In my knowledge, there was an similar attempt to re-enginner compiler codebase by using AST. ( http://blogs.msdn.com/b/vcblog/archive/2006/08/16/702823.aspx ) Especially, I was interested in the plan to provide AST API – though it has not been delivered to user. Do you have any similar plan to expose programmable AST API to user? Read More »Comment on My //build/ talk on Friday @ noon PDT (webcast) by Herb Sutter
@Jay: I hope I didn’t give that impression last year, and I chose my words carefully to try to be very precise. I think you’re combining statements from two different talks: First, in Feb 2012 at GoingNative, we said we’d ship conformance features in “out-of-band” CTP and RTM updates faster than VS’s 2-3 year release cycle; for the CTP part, we did so by shipping the Nov 2012 CTP (and soon another one), and for the RTM stream, it turned out later that all of VS moved to a single-year release cycle so we didn’t need to do anything more than snap to that train and release Preview this month to get an RTM go-live compiler with new conformance updates, which we did. I think one place the confusion got started was that people took the “out of band” from this talk and connected the dots to the VS Updates that came later, but we didn’t even know about the Updates at this time. Then, in Nov 2012 at Build, we shipped the November CTP and announced that we planned “more batches” in the first half of 2013. And we missed the “more batches” promise — we did ship a batch this week at RTM quality in VS 2013 Preview, but “batches” is plural and that ended up being the only batch, so we missed. What we had intended was to ship an additional CTP in the spring, which didn’t happen mainly because VS 2013 ended up materializing on a short release cycle so we concentrated on getting the CTP features up to RTM quality (which means not just bug count, but with IDE support, Intellisense, debugging, and especially standard library use of the language features). Somehow the meme got started that we promised features in Updates, and we did not (at least, if we did, please point it out so I can correct it). I saw this happen over the winter and probably should have stomped on it sooner: Around Jan/Feb people started saying that “maybe” some of the CTP features would be in one of the Updates; then around Mar/Apr I saw people saying that “definitely” some of the CTP features would be in the next Update (which was not true and I probably should have corrected it then); then in just the past month or so I’ve started seeing it grow all the way to “Herb promised they would be in an Update” which I carefully didn’t. (And just a few days ago I even saw someone claim I promised this way back in 2010 of all things, which is two years off any statement about conformance that I’m aware of.) So in yesterday’s talk I tried to clarify, in words and in print on the slides, that RTM-ready conformance features would ship primarily in major releases, not Updates, because we do not ship breaking changes in Updates. It would be horribly awful if someone with a working VS 2012 project installed Update 1 and their project broke! We can and do break binary compatibility on major releases, in this case for the first time just one year apart between VS 2012 and 2013. And I should note that this is already a pretty aggressive schedule for pushing out breaking changes, and we worry about the risk of destabilizing enterprise customers who were used to planning two-year upgrades — a lot of shops can’t handle too-frequent feature updates. That said, this week I deliberately worded it that we reserve the right to ship “some” features in Updates, but if you happened to see a new language feature come in an Update this should be viewed as a pleasant surprise, and we would ship a feature in Update N+1 only if we could prove with very high confidence that it wasn’t going to break any projects using Update N. @Jonathan: Thanks, and sorry if the camera work was distracting — I haven’t seen it yet myself since the video is not yet available. I expect the slides will be made available when the talk video gets posted in a couple(?) of days. @bames53: There’s nothing published that I know of about our compiler’s internals, AST or otherwise. It’s not secret (or I wouldn’t have mentioned it), it’s just not something I’m aware of anyone writing about. Most people don’t care how the compiler works or how hard the compiler writers labors, they mostly just care about whether it supports features and it’s the compiler team’s job to make it so without complaining about how hard it is. :) We have a good team and they don’t complain, they just say, “okay, now we need to modernize this part” and go do the design and engineering work to make it so. And re your breaking changes question: Right, when we do two-phase lookup it could break code that relies on the current behavior. Even though such code is nonstandard and nonportable, we would treat such a breaking change seriously and migrate people through it. One usual path (but not the only possible one) is to first ship the feature under a switch that’s off by default in one release but still warn by default on code whose meaning could change that there’s a possible future behavior change coming; then in the next major release ship the new-behavior switch on by default; then eventually someway remove the old behavior and the switch. That’s one possible example, but in some way you want to enable customers to migrate to the standard behavior without forcing a bad “fix everything now” surprise on them all in one shot. @Felix: Yes, VS 2013 Preview has a go-live license, so it can be used in production code. See above for Updates — we are setting the expectation that new features will appear in CTPs or in (now-faster) major RTM releases, generally not in Updates. @Zura: Yes, we’re hiring. If you’re a compiler developer, please do email me your resume. @pjmlp: I don’t think we did promise new features in Updates, but clearly somehow that expectation got our there so I’m trying to be very clear about it. I do not know the update pricing for VS — I believe that will be announced in the near future though. Note that if you’re using Express (and we will continue to give away VS 2013 Express as a free SKU), or have a subscription (which includes free releases during your subscription), my understanding is that you have access to new compilers for free anyway. But check with whatever is actually announced, don’t go on what I say since I don’t decide pricing. @jalf: See above about out-of-band releases. We did that — shipped a CTP, and then not just VC++ but all of VS on a cycle faster than the usual 2-3 year band VS always followed before. Oh, here was where I saw the comment about 2010 — the first talk I gave on VC++ conformance to C++11 was GoingNative 2012, summarized above. Re pricing: Again, I don’t control or announce that, but what I can do is let you know about the CTP stream and the RTM stream, when to expect features in each stream (and by default not in Updates), and then you can decide what makes sense to purchase armed with that information. @Szymon: The VS 2013 release actually took the place of where we were thinking of shipping an out-of-the-2-3-year-band RTM release — all of VS essentially went out of the previous band, so we snapped to that. @Concerned: See above — we’re trying to be totally transparent so that you know what to expect and can decide what version to purchase or not purchase. Note that with the Express (always free) or subscription you always can get the latest release without additional cost, as far as I know (and that’s really all I know). We’re working on features, and as they meet the CTP bar and the RTM bar I outlined in the talk, they will be ready to get in the next CTP or the next RTM. But, as I said, RTM by default means major release, which is on a faster than 2-3-year cycle and this time was one year (but I’m deliberately not saying what the next cycle after VS 2013 will be because we don’t know, all we can say is that we’re working on faster cycles than 2-3 years and here’s what it was this time). @summerlight: We’re working on the AST in parallel with C++11/14 features, and maybe after we’re done that we can think about exposing it via an API but right now our focus is on having it internally so we can implement the Standard fully. After that we can see about considering doing more. Read More »Comment on My //build/ talk on Friday @ noon PDT (webcast) by Olaf van der Spek
Can’t wait to get non-static initializers and more. string chunk; while ((chunk = read_chunk()).size()) { .. } Wouldn’t while (auto chunk = read_chunk()) { … } be nicer? Comment on My //build/ talk on Friday @ noon PDT (webcast) by pjmlp
Thanks for taking the effort to explain the whole situation. Read More » | ||||
| ||||
Saturday, June 29, 2013
FeedaMail: Comments for Sutterâs Mill
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment