From 2343945878bcfc6483f8419c3b5c6648ec4e6ca0 Mon Sep 17 00:00:00 2001 From: Aida DeWitt Date: Tue, 22 Sep 2020 15:27:35 -0700 Subject: [PATCH 1/6] Add history of code intelligence From notes I took in various discussions. --- handbook/engineering/code-intelligence/index.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/handbook/engineering/code-intelligence/index.md b/handbook/engineering/code-intelligence/index.md index 29db3480fe4..fc5d0870413 100644 --- a/handbook/engineering/code-intelligence/index.md +++ b/handbook/engineering/code-intelligence/index.md @@ -12,6 +12,20 @@ The Code Intelligence team builds tools and services that provide contextual inf - Robust, extensible, and scalable infrastructure to index code across all languages, keep those indexes up-to-date, and efficiently resolve code intelligence queries against all indexed code. +## History + +The origin of this team is the core of Sourcegraph, the first iteration was [srclib](https://github.com/sourcegraph/srclib) a code analysis tool developed by our co-founders [Beyang](https://github.com/beyang) and [Quinn](https://github.com/sqs) in 2015. + +2016 - We evolved our strategy to utilize LSP (Language Server Protocol) to power the new Sourcegraph code search engine. LSP is a user oriented protocol and requires an implementation of a language server for each programming language. + +2017 - Over time we started to experience some issues with LSPs; they can be difficult to deploy, slow at runtime, slow community adoption, and slow to develop! + +2018 - We added a new basic code intelligence that is built on search-based heuristics to allow us to provide quick and good enough i.e. "imprecise" support for the [most popular programming languages](https://sourcegraph.com/extensions?query=category%3A%22Programming+languages%22). + +2019 - While looking for more effecient alternatives to LSPs we found LSIF (Language Server Index Format) and realized we could bring back good parts of srclib with pre-indexing and pre-computed answers to queries. + +2020 and beyond - Code Intelligence is the platform for all features at Sourcegraph! This team is responsible for how sourcegraph understands code and for providing data to power search, campaigns and code insights. Our API is the point of discovery for the knowledge graph for all source code. + ## Vision To be the point of discovery for the knowledge graph for all source code. From 59d1b1723fb61dc9be774095591da45bbc6714ee Mon Sep 17 00:00:00 2001 From: Aida DeWitt Date: Tue, 22 Sep 2020 15:34:02 -0700 Subject: [PATCH 2/6] Update handbook/engineering/code-intelligence/index.md Co-authored-by: Eric Fritz --- handbook/engineering/code-intelligence/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/handbook/engineering/code-intelligence/index.md b/handbook/engineering/code-intelligence/index.md index fc5d0870413..ac8e402ee11 100644 --- a/handbook/engineering/code-intelligence/index.md +++ b/handbook/engineering/code-intelligence/index.md @@ -22,7 +22,7 @@ The origin of this team is the core of Sourcegraph, the first iteration was [src 2018 - We added a new basic code intelligence that is built on search-based heuristics to allow us to provide quick and good enough i.e. "imprecise" support for the [most popular programming languages](https://sourcegraph.com/extensions?query=category%3A%22Programming+languages%22). -2019 - While looking for more effecient alternatives to LSPs we found LSIF (Language Server Index Format) and realized we could bring back good parts of srclib with pre-indexing and pre-computed answers to queries. +2019 - While looking for more efficient alternatives to LSPs we found LSIF (Language Server Index Format) and realized we could bring back good parts of srclib with pre-indexing and pre-computed answers to queries. 2020 and beyond - Code Intelligence is the platform for all features at Sourcegraph! This team is responsible for how sourcegraph understands code and for providing data to power search, campaigns and code insights. Our API is the point of discovery for the knowledge graph for all source code. From bd261435906f6737a56ee606726e0eb37de91ff3 Mon Sep 17 00:00:00 2001 From: Aida DeWitt Date: Tue, 22 Sep 2020 16:47:46 -0700 Subject: [PATCH 3/6] Reworded origin statement to make it more clear. --- handbook/engineering/code-intelligence/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/handbook/engineering/code-intelligence/index.md b/handbook/engineering/code-intelligence/index.md index ac8e402ee11..f17a8590085 100644 --- a/handbook/engineering/code-intelligence/index.md +++ b/handbook/engineering/code-intelligence/index.md @@ -14,7 +14,7 @@ The Code Intelligence team builds tools and services that provide contextual inf ## History -The origin of this team is the core of Sourcegraph, the first iteration was [srclib](https://github.com/sourcegraph/srclib) a code analysis tool developed by our co-founders [Beyang](https://github.com/beyang) and [Quinn](https://github.com/sqs) in 2015. +The origin of our work is the core of Sourcegraph, first implemented as [srclib](https://github.com/sourcegraph/srclib) a code analysis tool developed by our co-founders [Beyang](https://github.com/beyang) and [Quinn](https://github.com/sqs) in 2015. 2016 - We evolved our strategy to utilize LSP (Language Server Protocol) to power the new Sourcegraph code search engine. LSP is a user oriented protocol and requires an implementation of a language server for each programming language. From d120b4d1910f320875c10189b37b902ed62f8d7d Mon Sep 17 00:00:00 2001 From: Aida DeWitt Date: Wed, 23 Sep 2020 12:54:14 -0700 Subject: [PATCH 4/6] Update handbook/engineering/code-intelligence/index.md Co-authored-by: Beyang Liu --- handbook/engineering/code-intelligence/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/handbook/engineering/code-intelligence/index.md b/handbook/engineering/code-intelligence/index.md index f17a8590085..9349765d081 100644 --- a/handbook/engineering/code-intelligence/index.md +++ b/handbook/engineering/code-intelligence/index.md @@ -24,7 +24,7 @@ The origin of our work is the core of Sourcegraph, first implemented as [srclib] 2019 - While looking for more efficient alternatives to LSPs we found LSIF (Language Server Index Format) and realized we could bring back good parts of srclib with pre-indexing and pre-computed answers to queries. -2020 and beyond - Code Intelligence is the platform for all features at Sourcegraph! This team is responsible for how sourcegraph understands code and for providing data to power search, campaigns and code insights. Our API is the point of discovery for the knowledge graph for all source code. +2020 and beyond - The Code Intelligence team is responsible for how Sourcegraph understands code and for providing data that powers semantic search, campaigns and code insights. Our API is the point of discovery for the knowledge graph for all source code. ## Vision From d465e2cca12ae1d2a4991daba6f8c353f0218d06 Mon Sep 17 00:00:00 2001 From: Aida DeWitt Date: Wed, 23 Sep 2020 12:54:42 -0700 Subject: [PATCH 5/6] Update handbook/engineering/code-intelligence/index.md Co-authored-by: Beyang Liu --- handbook/engineering/code-intelligence/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/handbook/engineering/code-intelligence/index.md b/handbook/engineering/code-intelligence/index.md index 9349765d081..84e97b94fc6 100644 --- a/handbook/engineering/code-intelligence/index.md +++ b/handbook/engineering/code-intelligence/index.md @@ -18,7 +18,7 @@ The origin of our work is the core of Sourcegraph, first implemented as [srclib] 2016 - We evolved our strategy to utilize LSP (Language Server Protocol) to power the new Sourcegraph code search engine. LSP is a user oriented protocol and requires an implementation of a language server for each programming language. -2017 - Over time we started to experience some issues with LSPs; they can be difficult to deploy, slow at runtime, slow community adoption, and slow to develop! +2017 - Over time we started to experience some issues with language servers. They can be difficult to deploy, slow at runtime, slow to adopt by members of their respective language communities, and slow to develop. 2018 - We added a new basic code intelligence that is built on search-based heuristics to allow us to provide quick and good enough i.e. "imprecise" support for the [most popular programming languages](https://sourcegraph.com/extensions?query=category%3A%22Programming+languages%22). From a970b44543f287a514fc851dc8027f69305676be Mon Sep 17 00:00:00 2001 From: Aida DeWitt Date: Wed, 23 Sep 2020 12:54:53 -0700 Subject: [PATCH 6/6] Update handbook/engineering/code-intelligence/index.md Co-authored-by: Beyang Liu --- handbook/engineering/code-intelligence/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/handbook/engineering/code-intelligence/index.md b/handbook/engineering/code-intelligence/index.md index 84e97b94fc6..8241c52116a 100644 --- a/handbook/engineering/code-intelligence/index.md +++ b/handbook/engineering/code-intelligence/index.md @@ -22,7 +22,7 @@ The origin of our work is the core of Sourcegraph, first implemented as [srclib] 2018 - We added a new basic code intelligence that is built on search-based heuristics to allow us to provide quick and good enough i.e. "imprecise" support for the [most popular programming languages](https://sourcegraph.com/extensions?query=category%3A%22Programming+languages%22). -2019 - While looking for more efficient alternatives to LSPs we found LSIF (Language Server Index Format) and realized we could bring back good parts of srclib with pre-indexing and pre-computed answers to queries. +2019 - While looking for more efficient alternatives to language servers we found LSIF (Language Server Index Format) which provided an index-based implementation of precise code navigation (similar to srclib) with the advantage of being able to build on top of the work done in the LSP community (LSIF and LSP are sister protocols). 2020 and beyond - The Code Intelligence team is responsible for how Sourcegraph understands code and for providing data that powers semantic search, campaigns and code insights. Our API is the point of discovery for the knowledge graph for all source code.