10 ms·
From the article: > The goal is a tool-assisted migration of idiomatic code, not a fully automated migration of all code.
by Tijdreiziger 2y ago
From the article:
> The goal is a tool-assisted migration of idiomatic code, not a fully automated migration of all code.
- adrian_b 2y agoThat is just an acknowledgment of the fact that for something as complex as C++ a fully automated migration is unlikely to be achievable. This does not mean that they will intentionally avoid to make possible a fully automated migration. Normally the migration tools should be designed to attempt to do a fully automated migration, but whenever there are corner cases for which the effort to handle them completely automatically would not be worthwhile, then human intervention shall be required.
- tialaramex 2y agoYes. In C++ in particular one of the most obvious ways to write unmaintainable C++ which such automation couldn't be expected to migrate is via abuse of the pre-processor. C++ retains the entire C pre-processor, which is a weird not-quite-language-agnostic text macro language on top of C. We can abuse this to write a different programming language, with different rules, and then at compile time the pre-processor transforms it into C++ which compiles. I'm confident a migration tool could not always usefully translate this, and I'd argue that's not a failing of the tool so much as an inevitable consequence of writing this unmaintainable code.