Skip to content

Commit 21680d2

Browse files
committed
Make clearer the people involved in BSP
1 parent 34298bf commit 21680d2

File tree

1 file changed

+26
-41
lines changed

1 file changed

+26
-41
lines changed

blog/_posts/2018-06-15-bsp.md

Lines changed: 26 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,23 @@
11
---
22
layout: blog-detail
33
post-type: blog
4-
by: Jorge Vicente Cantero
4+
by: Jorge Vicente Cantero, Justin Kaeser and Ólafur Páll Geirsson
55
title: "Announcing the Build Server Protocol v1.0.0"
66
---
77

8-
I've always been convinced that the choice of an editor, IDE or build tool is
9-
personal and, therefore, asking you to go out of your way to learn a new tool
10-
to write Scala is not a viable solution. First, because changing people's
11-
habits is difficult and takes time. Second, it frustrates beginners who just
12-
want to learn the language. Last, it distracts seasoned developers from
13-
writing good Scala code until they master their toolchain. In the worst case,
14-
people will give up and not learn the language because the "cognitive
15-
overhead" would be too high.
8+
The choice of an editor, IDE or build tool is personal and, therefore, asking
9+
you to go out of your way to learn a new tool to write Scala is not a viable
10+
solution. First, because changing people's habits is difficult and takes time.
11+
Second, it frustrates beginners who just want to learn the language. Last, it
12+
distracts seasoned developers from writing good Scala code until they master
13+
their toolchain. In the worst case, people will give up and not learn the
14+
language because the "cognitive overhead" would be too high.
1615

1716
Instead it is much better if we, tooling developers, can bear the burden of
1817
shipping tools that integrate with your existing workflow and you, as a user,
1918
can just install them with a quick search and a single click.
2019

21-
Today, I introduce the Build Server Protocol, a project that I believe plays
20+
Today, we introduce the Build Server Protocol, a project that we believe plays
2221
a fundamental role in bringing us closer to making this vision a reality.
2322

2423
## Any IDE, Any Build Tool
@@ -81,20 +80,18 @@ alongside LSP.
8180

8281
## The Build Server Protocol v1.0.0
8382

84-
Today I'd like to announce `v1.0.0` of the Build Server Protocol. This
85-
version has been the result of a fruitful collaboration between the Scala
86-
Center (me and [Ólafur Páll Geirsson][olafurpg]) and [Justin
87-
Kaeser][jastice], the [JetBrains] developer responsible for sbt support in
88-
[IntelliJ IDEA].
83+
Today we have released `v1.0.0` of the Build Server Protocol. This version has
84+
been the result of a fruitful collaboration between the Scala Center ([Jorge
85+
Vicente Cantero][jvican] and [Ólafur Páll Geirsson][olafurpg]) and JetBrains
86+
([Justin Kaeser][jastice]).
8987

90-
Justin and I have spent the past months implementing a prototype of the Build
91-
Server Protocol between [IntelliJ IDEA] (client) and [Bloop] (server). Bloop
92-
is a build-tool-agnostic compilation server that integrates with build tools
93-
such as [sbt], [mill] or [Maven] to allow you [to compile, test and run your
88+
We have spent the past months implementing a prototype of the Build Server
89+
Protocol between [IntelliJ IDEA] (client) and [Bloop] (server). Bloop is
90+
a build-tool-agnostic compilation server that integrates with build tools such
91+
as [sbt], [mill] or [Maven] to allow you [to compile, test and run your
9492
applications much faster and outside of your stock build
95-
tool](https://www.scala-lang.org/blog/2017/11/30/bloop-release.html). Bloop
96-
has a client-server architecture, so it is the perfect project to implement
97-
BSP.
93+
tool](https://www.scala-lang.org/blog/2017/11/30/bloop-release.html). Bloop has
94+
a client-server architecture, so it is the perfect project to implement BSP.
9895

9996
The goal of this prototype was two-fold. On the one hand, we wanted to
10097
experience first-hand the challenges of implementing BSP and learn new
@@ -174,7 +171,7 @@ IntelliJ's BSP import for Bloop and other build tools. The goal is to bring
174171
BSP import to a production-ready level where users can benefit from a
175172
build-tool-agnostic import project that is both faster and more reliable.
176173

177-
Second, I'd like to invest some resources in creating a better synergy
174+
Second, we'd like to invest some resources in creating a better synergy
178175
between build tool authors and IDE implementors. The [Scala Tooling Protocols
179176
Working Group](https://github.com/scalacenter/tooling-working-groups/)
180177
created by [Jon
@@ -183,18 +180,17 @@ ago will help us discuss and refine the protocol so that all tooling
183180
developers in our community can implement the protocol at scale and gain more
184181
experience from this process.
185182

186-
Third, I'd like to collaborate more closely with developers working on Scala
183+
Third, we'd like to collaborate more closely with developers working on Scala
187184
language servers like [Metals] or [Dotty IDE] to bring Scala support to all
188185
editors. There is a big chunk of Scala developers that don't use IntelliJ and
189-
I'd like to make sure that they benefit from a smooth developer experience
186+
we'd like to make sure that they benefit from a smooth developer experience
190187
too.
191188

192-
193-
Last but not least, I'd like to reach out to folks in other programming
189+
Last but not least, we'd like to reach out to folks in other programming
194190
language communities to find out ways we can pull our efforts together.
195191
The Build Server Protocol is **a language-agnostic protocol that can be
196-
modified to add support for any programming language** and I would love to
197-
see other communities improving the future of the build tools and IDE
192+
modified to add support for any programming language** and we would love to see
193+
other communities improving the future of the build tools and IDE
198194
communication.
199195

200196
## How to get involved
@@ -211,17 +207,6 @@ like to help test the integrations, join our
211207
[`scalacenter/bsp`](https://gitter.im/scalacenter/bsp) Gitter channel and
212208
let's discuss ways we can work together.
213209

214-
## Acknowledgements
215-
216-
I'd like to thank my colleague at the Scala Center, Ólafur Páll Geirsson, for
217-
being the co-author of the Build Server Protocol. His help and insights, as
218-
well as his detailed understanding of [LSP], have been fundamental in
219-
designing BSP and focusing on the ergonomics of the clients (IDEs) first.
220-
221-
Finally, I'd like to thank Justin Kaeser and, more broadly, JetBrains for
222-
being part of this initiative. I am optimistic our collaboration can lead to
223-
better and faster developer tools for the broad of the Scala community.
224-
225210
[sbt]: https://www.scala-sbt.org/
226211
[Maven]: http://maven.apache.org/
227212
[Bazel]: https://bazel.build
@@ -237,4 +222,4 @@ better and faster developer tools for the broad of the Scala community.
237222
[Metals]: https://github.com/scalameta/metals
238223
[Dotty IDE]: https://dotty.epfl.ch/docs/usage/ide-support.html
239224
[olafurpg]: https://github.com/olafurpg
240-
[bloop-instructions]: https://scalacenter.github.io/bloop/docs/installation/#generate-configuration-files-for-your-project
225+
[bloop-instructions]: https://scalacenter.github.io/bloop/docs/installation/#generate-configuration-files-for-your-project

0 commit comments

Comments
 (0)