Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
Skinney
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
24 ms
·
241.
▲
by
Skinney
6y ago
It’s like Java bytecode in the sense that it’s a bytecode spec for a virtual machine, but otherwise quite different. Wasm doesn’t include a GC or support for OO out of the box. It doesn’t even have strings. That’s great for compiling langua
242.
▲
by
Skinney
6y ago
iOS has never been open, though. If you bought an iOS device, then you were already fine with not being able to install whatever you wanted on it. On the other hand, if Apple would limit MacOS in this way I would be livid.
243.
▲
by
Skinney
6y ago
> You have a runtime process intercepting your code state, scanning and analyzing your heap and making a decision to keep, copy, or free. Most generational gc's don't call free (the ones in Java can, but not per object, the rea
244.
▲
by
Skinney
6y ago
M:N thread distribution is exactly what the go _scheduler_ offers. It's a work stealing scheduler like Java's ForkJoinPool. The benefit lies entirely in that there's no other way to do concurrency. Which is great, as it'
245.
▲
by
Skinney
6y ago
ClojureCLR still exists and is somewhat maintained (last commit was last year, but then again, little has happened in the clojure world in the past year so I'd still use it): https://clojure.org/about/clojureclr
246.
▲
by
Skinney
6y ago
They have been rewamping the Java standard library slowly and silently over the last couple of years in anticipation for Loom. With Java 14 they re-wrote the tcp socket class. In Java 15 they're re-implementing the udp socket class. Th
247.
▲
by
Skinney
6y ago
`core.async` does M:N scheduling where many go-blocks are scheduled across a smaller number of heavy-weight threads. `core.async` also has channels and select. It pretty much works the same as in go. However, since the default in JVM is hea
248.
▲
by
Skinney
6y ago
Well, my point is that go has the same concept of sync and async as Java. All Java code can be preempted at any point, thats how threads work. Go is more efficient at scale as it uses a more light weight unit of concurrency under the hood,
249.
▲
by
Skinney
6y ago
There’s a difference between sync and async code in Go, which is why you have all the normal threading primitives like mutexes, semaphores and blocking queues/channels. The point is that functions themselves don’t come in sync or async
250.
▲
by
Skinney
6y ago
But now you’re blocking the thread, so if this function is being used by an async function higher up in the function chain, it’s no longer async (unless that is changed as well. There’s a split, because every step of an async process has to
251.
▲
by
Skinney
6y ago
Project Loom provides the same benefit of async/await, but without changing the syntax in any way. In C# you now have a split API: blocking api's which rely on threads for concurrency, and async api's which require you to use
252.
▲
by
Skinney
6y ago
Golang only has one colour. `funcA` works the same way in sync (`funcA()`) or async (`go funcA()`) context.
253.
▲
by
Skinney
6y ago
Well, the first two lines are usually written somewhere at the top level. You won't actually write that anytime you want something to be async. The last two lines are what you usually write, so most of the time, the number of lines of
254.
▲
by
Skinney
6y ago
Sounds about right :) Just wanted to touch on one point. Golang also has shared memory, even though it encourages sharing by communicating. In Erlang you don't have a choice. Golang also doesn't have something like supervision tre
255.
▲
by
Skinney
6y ago
In Erlang processes need to send messages to each other. And those messages are copies (nothing is shared). This is less efficient than in Java where everything is shared, but it also means that process a cannot change something that proces
256.
▲
by
Skinney
6y ago
Java's GC has to be best in class because of shared memory. In a shared nothing world doing GC in one "thread" doesn't stop other threads from executing, it also means that each heap can be very small so you might not ev
257.
▲
by
Skinney
6y ago
Is this an american thing? At least in Norway, it’s not uncommon with personal domains, work emails, using your internet provider emails or using hotmail or icloud. It seems strange to me that gmail would be the default anywhere.
258.
▲
by
Skinney
6y ago
Thanks for the link. Interesting. I have implemented finger trees in Elm, and for the purposes of working as a hash map, it’s performance did not get near the performance of a HAMT. Works great as a deque though. I also believe I looked int
259.
▲
by
Skinney
6y ago
HAMT's probably weren't all that interesting because their main benefit over other mutable hashmaps was reduced worst-case scaling (no need to re-hash all keys to fit a larger underlying array), and reduced memory use at the cost
260.
▲
by
Skinney
6y ago
Wasn’t Clojure the first language to make use of immutable array mapped tries? I’d say that’s a pretty significant contribution to the realm of immutable data structures.
261.
▲
by
Skinney
6y ago
This might actually improve in the near future: https://github.com/ssbc/ssb-spec-drafts/blob/master/drafts/d...
262.
▲
by
Skinney
7y ago
Swift compiles and runs on Linux.
263.
▲
by
Skinney
7y ago
But in this case. Don't you already have an idea, through profiling or debugging, which package causes bugs or is slow? And if you do, figuring out if theres a newer version that improves your situation should be rather simple. I'
264.
▲
by
Skinney
7y ago
Elm has interop, it's called ports. What the poster is referring to is that Elm 0.18 had an unsupported, undocumented way of calling javascript code directly. This was inherently unsafe (Javascript can throw exceptions and Elm doesn&#x
265.
▲
by
Skinney
7y ago
Elm was chosen because we believed it to be a better language than those which are mainstream right now. We believed it would make us more productive, prevent bugs before they reached production, be better at local reasoning and make it eas
266.
▲
by
Skinney
7y ago
Elm is a frontend language. Java works on the backend. At Vy, Elm is used for frontend, Java and Kotlin for backend.
267.
▲
by
Skinney
7y ago
We're working at the same location. On the same codebase. With the same access to our version control and issue tracker. There is full transparency. We even help Vy train their new hires. We're incentivized to work this way becaus
268.
▲
by
Skinney
7y ago
react-native. Although the seat selector is written in Elm and loaded via web view.
269.
▲
by
Skinney
7y ago
I mentioned this in another post. But Vy has their own developers, and the development teams here contains a mix of Vy and Bekk developers. As such, Vy has enough Elm experience to handle any future turnover.
270.
▲
by
Skinney
7y ago
It's really not that wierd. This is the first time I've seen anyone mention the lack of non-javascript support, or mention that the site doesn't work because of it.
More ›