2 ms·
From my limited machine learning experience, it seems machine learning is great at pattern-matching/cargo-culting itself to 95% solutions. Most of the time, po
by KMag 6y ago
From my limited machine learning experience, it seems machine learning is great at pattern-matching/cargo-culting itself to 95% solutions.
Most of the time, porting between two similar languages can be done by cargo-cult pattern matching, but there are some very tough corner cases for semantic mismatches between the languages: thread safety (std::vector vs. java.util.Vector), iterator invalidation differences, hashmap iteration order differences, etc., etc.
Most of the time, you can ignore these minor differences between languages, but sometimes you need whole-program, or at least whole-module analysis to know if the semantic differences matter. Heck, you could probably mostly get away porting from a lexically scoped language to a dynamically scoped language without putting any effort into fixing up scoping issues.
I hope our tools eventually get good enough to perform these sort of transformations, but at this point, it's far from being safe to trust automated tools for this sort of thing.