TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Choosing Go to implement the new GOV.UK router

75 点作者 benilov超过 11 年前

8 条评论

csmuk超过 11 年前
Not impressed.<p>I have nothing against Go (in fact I like it) but they seem to have built GOV.UK with every damn bit of technology there is available. I&#x27;ve seen Varnish, Go, Ruby, Python, Scala, Java, Mongo, MySQL, nginx, rails, sinatra, Django and PILES of Not Invented Here.<p>Also I&#x27;m not sure it&#x27;s a great use of public money to build stuff like this when they should have nginx&#x2F;apache up front and some configuration.<p>In fact this whole thing stinks of crappy information architecture resulting in a massive front end router hack that they did in Scala, binned and moved to Varnish, then binned and moved to Go.<p>This is not one &quot;cohesive&quot; web front end. It&#x27;s a rat&#x27;s nest and an increasingly expensive one.
评论 #6873944 未加载
评论 #6873933 未加载
评论 #6874206 未加载
评论 #6874050 未加载
评论 #6873935 未加载
评论 #6873946 未加载
评论 #6873909 未加载
评论 #6906316 未加载
评论 #6874134 未加载
评论 #6874531 未加载
评论 #6874339 未加载
评论 #6874534 未加载
floops超过 11 年前
A lot of the comments here seem to be missing something quite important: Scala and Go are not similar languages.<p>Scala is a large and complex language, encompassing multiple programming idioms. Teams programming Scala (as with C++ and many other &quot;large&quot; languages) often have difficulties nailing down what portion of the language they are going to use. &quot;Java-without-semicolons&quot; all the way through to idiomatic, functional Scala.<p>Go is a relatively small, simple language. You could easily learn Go&#x27;s basic syntax and semantics in an afternoon or two. Simplicity and suitability for programmers is an explicit design goal.<p>Switching away from Scala due to lack of experience while simultaneously picking up Go is not as illogical as everyone seems to be implying.
评论 #6874039 未加载
评论 #6873972 未加载
评论 #6874582 未加载
评论 #6874006 未加载
thu超过 11 年前
That seems weird to me:<p><pre><code> * No one having a deep knowledge of Scala is mentioned as a problem, but they will learn Go. * They rule out a language because of its syntax.</code></pre>
评论 #6874023 未加载
评论 #6874467 未加载
shawabawa3超过 11 年前
On the github page it says the router sits between nginx and varnish and does:<p><pre><code> * Reverse proxy, forwarding requests to and serving responses from multiple backend servers on a single domain. * Redirector, serving HTTP 301 and 302 redirects to new URLs. * Gone responder, serving HTTP 410 responses for resources that used to but no longer exist. </code></pre> Does anyone know why they have this as a separate piece of software instead of getting nginx to do it?
评论 #6873927 未加载
txutxu超过 11 年前
Something is wrong with this statement:<p><pre><code> &quot;Scala is great for performance, but quite bad at resource usage&quot; </code></pre> Maybe it&#x27;s directly related to the next statement:<p><pre><code> &quot;No-one in the core GOV.UK team had a deep knowledge of Scala, and particularly how the old router worked&quot; </code></pre> But the first statement, literally, does not make sense on its own.
评论 #6874371 未加载
评论 #6874060 未加载
pjmlp超过 11 年前
So they are ditching Scala, because no one in the team is an expert, while replacing by a language that everyone has to learn?!?
评论 #6873930 未加载
评论 #6873931 未加载
评论 #6873964 未加载
评论 #6874684 未加载
justincormack超过 11 年前
As they are Using Nginx already interested to know if they ruled out openresty or did not consider it.
评论 #6873960 未加载
CmonDev超过 11 年前
&quot;Erlang, Go, Scala, and Clojure are all good fits and represent the current state of the art.&quot; - why is the choice so limited? It seems to be quite JVM-focused as well, I would consider F#&#x2F;Nemerle as well. Erlang was invented in 1986 by the way - so a safe bet rather than &quot;state of the art&quot;.
评论 #6874246 未加载