Re:Meta developer tools: Working at scale
by dmoy on Wednesday June 28, 2023 @11:40AM
(#36508085)
> FB's code search is just grep. It's literally called BigGrep. Grep can get you pretty far but it's just not the same as something with semantic understanding. Google has codesearch, which does understand code, and it's miles ahead. This has all sorts of weird side effects too, like Hack code at FB can't use namespaces or type aliasing because then grep wouldn't be able to find it. When there were name conflicts you'd sometimes be forced to rename something to get something to compile;
Pedantically, codesearch is also grep. But codesearch calls out to Kythe (nee Grok) which has a semantic graph of the code.
But.... internally everyone thinks the Kythe team is just codesearch anyways, so that's about right lol.
Kythe is partially open source, but critically a lot of the postprocessing to get it to work at massive monorepo scale is not, so FB would have a bunch of work to do to replicating it.
Also we don't have a PHP indexer, because nobody's written one.
Pedantically, codesearch is also grep. But codesearch calls out to Kythe (nee Grok) which has a semantic graph of the code.
But.... internally everyone thinks the Kythe team is just codesearch anyways, so that's about right lol.
Kythe is partially open source, but critically a lot of the postprocessing to get it to work at massive monorepo scale is not, so FB would have a bunch of work to do to replicating it.
Also we don't have a PHP indexer, because nobody's written one.