Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
Vaguely2178
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
1.
▲
by
Vaguely2178
2y ago
> How do industries like the medical or aviation deal with imperfect humans? We have a system in science for verifying shoddy human output, it's called peer review. And it's easier for your peers to review your code when it
2.
▲
by
Vaguely2178
2y ago
> There are more elements to a compiler than determinism. Yes, but determinism is the factor that allows me to treat compilers as a black box without verifying their output. LLMs do not share this specific property, which is why I have t
3.
▲
by
Vaguely2178
2y ago
We're stuck in a loop because you're flip flopping between two positions. You started off by comparing LLM output to compiler output, which I pointed out is a false equivalence because LLMs aren't as deterministic as compiler
4.
▲
by
Vaguely2178
2y ago
> Humans aren't deterministic. Exactly, which is why I would want humans and LLMs to write maintainable code, so that I can review and maintain it, which brings us back to the original question of which programming languages are the
5.
▲
by
Vaguely2178
2y ago
> In the same way I don't care about "maintainable assembly" coming out of a C compiler, I don't care about maintainable Python coming out of my LLM. A well tested compiler is far more deterministic than an LLM, and c
6.
▲
by
Vaguely2178
2y ago
> Npm doesn't really do namespaces. Yes it really does. npm has namespaces (called scoped packages) and even explicitly encourages their use for private packages to avoid this sort of attack. From the npm docs: "A variant of th
7.
▲
by
Vaguely2178
2y ago
> most of them don't even have a readme file Given the popularity of Github, and the fact that a readme file is the first thing you see when pulling up a project on Github, most projects these days do in fact have readme files. >
8.
▲
by
Vaguely2178
2y ago
Not sure why this is considered a "classic" piece. It reads as if the author has just discovered the difference between preemptive vs cooperative scheduling, but hasn't yet found the words to describe his "discovery"
9.
▲
by
Vaguely2178
2y ago
The Prisma engine is written in Rust (and the original product was written in Scala), so your snide comment is actually a bit inaccurate. You've also ironically failed to spell JavaScript using the correct casing.
10.
▲
by
Vaguely2178
2y ago
There are various programming language interpreters that run entirely in the type system: - BF: https://github.com/susisu/typefuck - Assembly: https://github.com/judehunter/ts-asm
11.
▲
by
Vaguely2178
2y ago
> I never let JS guys work on backend code, because they are lost if they cannot find a module online that does what they are asked to do, or is missing half of the features from the spec it promised to implement (always the hard ones).
12.
▲
by
Vaguely2178
3y ago
> The point is, if a solution already exists, it's implementation details would simply be imitated and no further research would be required. Imitating ideas from one language to improve another is a form of research, and can be fai
13.
▲
by
Vaguely2178
3y ago
> At best a subset of functionality than an analogue. This kind of research is being conducted by experts in type theory outside of Elixir. If it's a problem for Elixir, it's a problem for any other language that would attempt
14.
▲
by
Vaguely2178
3y ago
> Was speaking specifically about your opinions on Dialyzer and Elixir. It's very much a cursory Google around and having stronger opinions about the limits of a language than people who spend time with the language. I think your ex
15.
▲
by
Vaguely2178
3y ago
> You've talked right past me. Metaprogramming is not compile time text processing. I'm not talking past you. I never said metaprogramming is compile time text processing. You said "Elixir can already accomplish compile ti
16.
▲
by
Vaguely2178
3y ago
> I’m not the GP, but already Elixir can already accomplish compile time text processing with metaprogramming (like it does for inline html templating for ‘heex’ functions and files) It's not the compile time text processing that&#x
17.
▲
by
Vaguely2178
3y ago
I just want to make sure we're on the same page here. The JSON example I linked to isn't inferring the types of JSON that's already been parsed and deserialized, that would be trivially easy in any language (including TS). If
18.
▲
by
Vaguely2178
3y ago
> The SQL stuff sounds cool, but Ecto is so expressive I don’t even need to resort to raw SQL like I do in other languages. The SQL example I linked to isn't something you'd use to interact with a database in production, for th
19.
▲
by
Vaguely2178
3y ago
> If I would level criticisms at dialyzer it would be its sometimes difficult to read warnings, it’s speed (despite being multithreaded) and the race conditions in the VS Code plugin (which is looking for extra maintainers – if I had tim
20.
▲
by
Vaguely2178
3y ago
I was referring to Elixir's blog post on static types where the creator of Elixir José Valim wrote: "The Dialyzer project, implemented in Erlang and available for Elixir projects, chose to have no false positives. However, that im
21.
▲
by
Vaguely2178
3y ago
Typespecs in Elixir (combined with Dialyzer) give you a very limited version of what TypeScript offers. From what I understand Dialyzer is designed to only raise an error when it's absolutely certain that you're mistaken about the
22.
▲
by
Vaguely2178
3y ago
Or in other words, the presence of a static typing ecosystem is one of the advantages Node has over Elixir. So while the original commenter might not care that Elixir lacks static typing, they should care because it increases productivity.
23.
▲
by
Vaguely2178
3y ago
I'm not saying the lack of static typing is their grief, I'm saying it should be their grief.
24.
▲
by
Vaguely2178
3y ago
Were you using Typescript with Node? I really can't imagine working on a project that's even moderately complex without static typing. Having a static type checker is like having an assistant that writes automated tests on its own
25.
▲
by
Vaguely2178
4y ago
Well yeah if you had to wait for apps to update before you could use them you'd definitely be annoyed, but the beauty of mobile (and desktop) apps is that users don't expect to constantly be running the latest version of a given a
26.
▲
by
Vaguely2178
4y ago
Binaries were definitely leaner in the past, but there's always been that dichotomy between downloading software and running it. In the browser, users expect software to be available instantly, and that constrains how you build webapps
27.
▲
by
Vaguely2178
4y ago
> And as someone who has worked on both, I can tell you that the container ecosystem is way better and way more deterministic. `Dockerfile` from 10 years back would work today as well. Any non-trivial package.json written even a few year
28.
▲
by
Vaguely2178
4y ago
The main difference between shipping a binary and a js file, is that users don't expect binaries to be small, which means you can usually ship an entire runtime with your binary. If you shipped every single js polyfill with your websit
29.
▲
by
Vaguely2178
4y ago
Exactly! Dockerfiles are not deterministic. The build artifacts that they produce (images) are, but the same could be said of js build artifacts (which would be a set of compiled and bundled js files).
30.
▲
by
Vaguely2178
4y ago
Very few languages operate under the same constraints as js. When you ship js you can't guarantee the version of Ecmascript that the client will be running, or the standard library of DOM functions that will be available (which differ
More ›