Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove Go content #943

Closed
wants to merge 2 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 11 additions & 15 deletions source/standards/programming-languages.html.md.erb
Original file line number Diff line number Diff line change
Expand Up @@ -77,30 +77,26 @@ production.

[PEP373]: https://www.python.org/dev/peps/pep-0373/

### Go
### Languages we do not use for new projects

#### Scala

We used Scala in the early days of GDS. GOV.UK Licensing is the only remaining
application written in Scala but we've found it hard to support because of a lack
of skills in GDS. Do not use Scala for new projects.

#### Go

Go is no longer a core backend development language in GDS.

The only Go service currently in production operation is the [GOV.UK
router][router], and it is the core language for [Cloud
Foundry](https://www.cloudfoundry.org/), which GOV.UK PaaS uses, although
GOV.UK PaaS is being [decommissioned][pass-decom]. As such, the knowledge and
experience of building and running services in Go is small and decreasing.
Foundry](https://www.cloudfoundry.org/), which was used by GOV.UK PaaS.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You may want to keep the precious copy? Router is still used, right? And CloudFoundry is no-mo, along the paas-decom.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure what's happened with this commit, but this paragraph makes no sense. I'm assuming this is supposed to say GOV.UK Router, and there's no need to mention PaaS:

the GOV.UK Foundry, which was used by GOV.UK PaaS


Go _may_ be an appropriate language for instances of systems programming, like
proxying, routing, and transforming HTTP requests. However you should only
write these sorts of components if there is no alternative maintained open
source tool available.
PaaS has now been [decommissioned][pass-decom].
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PaaS has not yet been completely decommissioned. While it's no longer available for general use, it's still being operated within GDS, and used by DBT.


[router]: https://github.com/alphagov/router
[pass-decom]: https://gds.blog.gov.uk/2022/07/12/why-weve-decided-to-decommission-gov-uk-paas-platform-as-a-service/

### Languages we do not use for new projects

We used Scala in the early days of GDS. GOV.UK Licensing is the only remaining
application written in Scala but we've found it hard to support because of a lack
of skills in GDS. Do not use Scala for new projects.

## Using other languages

There will be sensible reasons to not follow the above guidance on languages.
Expand Down