Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
gf000
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
18 ms
·
301.
▲
by
gf000
6mo ago
> Haskell is “tight” Absolutely not an objective metric, but I have found that Haskell just has a different "aspect ratio". Line count may be somewhat lower, but the word count is essentially largely the same as more imperative
302.
▲
by
gf000
6mo ago
Well, java can do escape analysis, so a wrapper with a single field may end up as a local variable of the embedded field. As for other JVM languages like Kotlin and Scala, they have basically what "newtype" is, but it can only be
303.
▲
by
gf000
6mo ago
I'm not convinced, though neither am I an expert. I think LLMs would use that same typo to "conclude" that it is A or B or C, depending on what it "feels like proving" at the time. LLMs are surely excellent at sty
304.
▲
by
gf000
6mo ago
More people should have been aware that human text contains a lot of identifiable information, and a dumb statistical model could do this a decade ago. (There were show hns with Hn user similarity analysis that used a deceptively simple mod
305.
▲
by
gf000
6mo ago
I assume some of the extensions/plugins use internals for maximal performance or whatever? But the platform itself is extremely backwards compatible, you can find some old jar file created for a university course that still runs withou
306.
▲
by
gf000
6mo ago
Sure, though most of the time it's library-only, not language change (with the only exception I have in mind is new keywords, but those are pretty rare with java). All in all, Java is pretty unique in the level of backwards compatibili
307.
▲
by
gf000
6mo ago
I don't think there is a standardized meaning of 'low-level'. I think a useful definition is that a low-level language controls more/is explicit about more properties of execution . So zig/c/c++/rust all
308.
▲
by
gf000
6mo ago
> If I use a JVM language, running my test suite takes 10 Sounds like a bad build tool.
309.
▲
by
gf000
6mo ago
You are comparing a (the most?) featureful web framework to a vanilla http server.. of course one will be significantly more resource heavy.
310.
▲
by
gf000
6mo ago
Well, Java would compile and work for 3 decades straight. If anything, go did have an actual breaking language change (for loop variable capture)
311.
▲
by
gf000
6mo ago
That's a decent quality 3 hours movie :D
312.
▲
by
gf000
6mo ago
You can quadruple that and could still fit in server RAM
313.
▲
by
gf000
6mo ago
I would argue it's not the exact same thing. Sure, when overdone then you would get the same. But the way it is, commonly used concatenated words are words, not just hyphenated words. They are used as words and without an extra thoug
314.
▲
by
gf000
6mo ago
Also, given how many times you enter a 6-digit number over a day, it's absolutely trivial to steal it. Let alone basic patterns people use, smudges etc. In the use case of a mobile phone, apple's face id absolutely improves securi
315.
▲
by
gf000
6mo ago
I am absolutely not even close to being an expert on the topic, but type theory wasn't all that well understood even relatively recently - Voevodsky coined the Univalence axiom in 2009 or so, while sets have been used for centuries. So
316.
▲
by
gf000
6mo ago
Well, how else would you show a minister giving a command to n layers of people before going to the miners on a drama show?
317.
▲
by
gf000
6mo ago
That's why I brought up C# as an example of a language with multi threaded async. But Kotlin is another example.
318.
▲
by
gf000
6mo ago
Not really - a Jeep and a Civic is pretty similar in use case still. The Mac would be more like a tram that can only go on rails vs perhaps a bus. If we want to make some useless comparison.
319.
▲
by
gf000
6mo ago
But then what is left to compare the two? A supersonic airplane is not better than a bicycle, nor the reverse is true. They are just.. different and only marginally related. Also, "revive" a device is more of a niche thing. What
320.
▲
by
gf000
6mo ago
Yeah, it's not that hard if the hardware is high quality and of small number of known types. Windows and Linux is judged by whether it works on any hardware, including the so-cheap-it-should-not-have-been-produced-ever machines, tha
321.
▲
by
gf000
6mo ago
I can easily tell you a story of the same with the two OSs reversed. It's no longer 2016, pretty much every hardware worth their salt has good, or better Linux support, with the possible exception of some random RGB led not being contr
322.
▲
by
gf000
6mo ago
You wrote: > The job wouldn’t have been done. They would have needed threads. And mutexes. And spin locks. And atomics. And semaphores. And message queues. And - in my opinion - the result would have been a much worse language. My point
323.
▲
by
gf000
6mo ago
Concurrency with a single thread of execution runs with complete mutual exclusion, so no "pure" single threaded concurrency is definitely race condition free. What we may argue over (and it becomes more of a what definition to use
324.
▲
by
gf000
6mo ago
Data races are a specific race condition - they may be safe or cause tearing. Serially, completely synchronously overwriting values is none of these categories though.
325.
▲
by
gf000
6mo ago
Sure, but concurrent != parallel. You can't have data races with a single thread of execution - a while loop writing i=0 or i=1 on each iteration is not a data race. Two async functions doing so is not a data race either.
326.
▲
by
gf000
6mo ago
Now you are comparing single threaded code with multi threaded, which is a completely different axis to async vs sync. Just take a look at C#'s async, where you have both async and multi threading, with all the possible combinations of
327.
▲
by
gf000
6mo ago
They are not even remotely the same, there is no reason to compare them at all.
328.
▲
by
gf000
6mo ago
I mean, the very point of a type system is to introduce distinctions and reduce compatibility (compatibility of incorrectly typed programs). Throwing the baby out with the water like what go sort of does with its error handling is no soluti
329.
▲
by
gf000
6mo ago
Function coloring is an effect. If the language makes a distinction between sync and async, then it has that effect. Just because there are escape hatches to get around one effect doesn't really change this fact. Like in Haskell there
330.
▲
by
gf000
6mo ago
> This simplifies access to shared state without race conditions But in ordinary JS there just can't be a race condition, everything is single threaded.
More ›