https://mastodon.social/@Migueldeicaza/115770620333626312
@mattblaze
DARPA's TRACTOR also is for C AFAIK, not C++, and iirc they expected it to take years to be usable. It's been about a year.
For C++, Google has Carbon. MS has … an AI mandate?
@SteveBellovin @cstross @Migueldeicaza
@rbanffy
I'm not even so convinced it's "they" as much as this Galen guy. The source isn't something from an MS page after all, but Galen's Linkedin.
I don't know what the long term resolution of this is, but might turn out to be something like a LinkedinLunatics post
@mattblaze @SteveBellovin @cstross @Migueldeicaza
@mattblaze @SteveBellovin @cstross @Migueldeicaza
DARPA's TRACTOR (for which I'm the program manager) is focused on C to Rust, not C++. The Microsoft effort is unrelated to our effort.
TRACTOR performer teams have been rolling for about six months, and their first engagement with our test & evaluation team is going on now. As soon as it's ready, we'll push everything out for public release.
There are many challenges with code translation: correctness, idiomaticity, performance. And there are many approaches. By the time TRACTOR is done, which will take several years, we'll hopefully have good answers and good tools.
(I could spend hours just on the topic of "C programmers do the darndest things", where it's sometimes unclear why something even compiles, much less what it's suppose to mean.)
Why not C++? First we need to show we can do C, since (approximately) every valid C program is also a valid C++ program.
I'm pretty sure Galen's project is a research project too.
And agreed about "C programmers do the darndest things." Back when I was working on the PREfix static analysis tool, one of the things we checked for potential divide-by-zero errors. Occasionally we'd see people literally using the constant 0 as a denominator ... and there was always a good story behind why they did it that way.