Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
unscaled
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
59 ms
·
451.
▲
by
unscaled
7y ago
Of course it is: https://github.com/golang/go/blob/3813edf26edb78620632dc9c7d...
452.
▲
by
unscaled
7y ago
The problem with built-in generics is that they are quite ad-hoc and hard to reason about. Each generic built-in function is re-implemented by hand in the compiler . If we call this type of ad-hoc implementation "generics", we&#x
453.
▲
by
unscaled
7y ago
It's not just CLOS. All general classifications like this are doomed to fail when you start looking through different languages. I think one very clear example is hybrid sum types like Scala's case classes (on sealed trait/ab
454.
▲
by
unscaled
7y ago
Nothing precludes you from using Guice or Koin for dependency injection with any framework. Yes, any DI framework would require you to understand some new syntax, but Spring again comes as more magical and mysterious, and the abstractions a
455.
▲
by
unscaled
7y ago
A lot of modern Java libraries and frameworks got better, and the Java standard library itself is moving away from deep class hierarchies, but I think there's a long standing culture that dictates how Java is "ought to be written&
456.
▲
by
unscaled
7y ago
In Kotlin, so you don't have to define multiple files, obviously skipping the imports. Let's do the same with Jooby, for instance: fun main(args: Array<String>) = run(*args) { get { "Hello Kotlin" }
457.
▲
by
unscaled
7y ago
I think this is not about showing off the easy case, but rather the straightforwardness of the framework. I haven't used spark myself, but I used frameworks quite like it (Jooby, Rapidoid, Ktor) in Java, as well their counterparts in N
458.
▲
by
unscaled
7y ago
That's a nice try, but the rest of the app would be[1]: import static spark.Spark.get; public class HelloWorld { public static void main(String[] args) { get("/hello", (req, res) -> &quo
459.
▲
by
unscaled
7y ago
Java 11 is obviously much better than Java 8, which is still leaps and bounds ahed of Java 6, itself an improvement over Java 4. You'd see the same in every language. Java's problem is that for many years it used to be the slowest
460.
▲
by
unscaled
7y ago
But Spring gives you the best of both worlds. A lot of verbose code (as annotations and class inflation instead of explicit boilerplate) and inscrutable magic.
461.
▲
by
unscaled
7y ago
Except that the memory overhead for each thread is MUCH higher: the default would be 1Mb for most JVM implementation. Yes, you can change the thread stack size, but that's a global fixed size for all threads, so you can't make it
462.
▲
by
unscaled
7y ago
That's very nice, but saying it's strictly superior to async/await is a stretch. Fibers/stackful coroutines are a different approach with its own tradeoffs. On the plus side, fibers offer almost painless integration of s
463.
▲
by
unscaled
7y ago
Until somebody decides to mess with the robots.txt on that domain and archive.org removes the copy... <sigh>
464.
▲
by
unscaled
7y ago
And then somebody needs a different, incompatible, version of plugin X and you set up another Jenkins master. Or upgrade the the Jenkins master and watch other jobs fail. And not to mention plugin Y and plugin Z crashing Jenkins when being
465.
▲
by
unscaled
8y ago
It seems like this is a side-effect from using baidu.com as a connectivity test domain: https://github.com/pe3zx/huawei-block-list/blob/master/analy...
466.
▲
by
unscaled
8y ago
I assume your application is using a dedicated thread for each request? Even then you would be handling more requests in parallel than the number of cores you have, but your concurrency would be limited by the cost of context switching and
467.
▲
by
unscaled
8y ago
If your service can't handle well a bunch of requests coming at once, it doesn't matter if it gets them as individual HTTP/1.1 requests or as multiplexed requests in HTTP/2 coming directly. It only makes a difference if
468.
▲
by
unscaled
8y ago
Firefox supported pipelining, but as far as I remember, that setting was always disabled by default, and you had to manually enable that through about:config. It was a very common performance tip, and there were even some extensions[1] that
469.
▲
by
unscaled
8y ago
> Good async frameworks can handle these better, but they typically require some form of cancellation, and my understanding is that that's notably absent from JavaScript & Go's async primitives. Go added cancellation suppor
470.
▲
by
unscaled
8y ago
In some sense, it is, it's just happening every slowly. Functional programming features are getting a foothold in mainstream languages. It's a drizzle, but the direction is clear. Let's look at closures. Back in the 90s and e
471.
▲
by
unscaled
8y ago
Kubernetes already gives you basic service discovery network policy and a network abstraction layer, but Istio is more about abstracting and enriching communication patterns on (sometimes) Layer 4 and (more often) Layer 7. It allows you to
472.
▲
by
unscaled
8y ago
Yes, ookimi is the common reading for 大君 today. Taikun seems to have come from Edo period. According to several Japanese dictionaries, this was the title applied to the Shogun, especially in foreign correspondence, which I assume was primar
473.
▲
by
unscaled
8y ago
Even assuming we'd want XML as the message/schema format back (with all the security, performance and readability issues it entails), SOAP/WSDL/WS-* was any better than rest in standardization back in the day. For instan
474.
▲
by
unscaled
8y ago
Of the three DB products mentioned in the tweet, only one is a non-traditional database: DynamoDB. Both Redshift and Aurora are traditional RDBMs, which are forked from very old codebases. Redshift is a fork of Postgres 8.0 that was adapted
475.
▲
by
unscaled
8y ago
The CLI for Git is one of the most confusing CLIs I've ever seen. I can describe all the warts here, but other did that better than me: http://stevelosh.com/blog/2013/04/git-koans/ Besides the incon
476.
▲
by
unscaled
8y ago
This changed somewhat starting with Java 9. Quite a few libraries broke down due to deprecated classes finally being removed and the version format change. Java also has a considerable class of libraries and tools that tends to break on eve
477.
▲
by
unscaled
8y ago
This is not a chicken and egg problem. At least not for large organizations. If you read this line: The department that built the product had recently come into existence, and they hired a team of developers without having a technical perso
478.
▲
by
unscaled
8y ago
It's right there in the official tutorial: https://reactjs.org/tutorial/tutorial.html#setup-option-2-lo... But I think it wasn't this easy 2 or 3 years ago.
479.
▲
by
unscaled
8y ago
I'm intrigued why would you pick Go, out of all languages out there - or conversely, why would you pick React and Redux as the UI model to emulate when using Go. Go is an unapologetically structural language, which eschews both most OO
480.
▲
by
unscaled
8y ago
I fail to see how Go would help to solve the lack of complexity. You would still need a package manager. You would still need a view library (React), a router (react-router) and some sort of model or storage (Redux). React originally took a
More ›