4 ms·
Pi has made all the right design choices. Shout out to Mario (and Armin the OG stan) — great taste shows itself.
by mccoyb 8mo ago
Pi has made all the right design choices. Shout out to Mario (and Armin the OG stan) — great taste shows itself.
- semiinfinitely 8mo agoI do not understand why in the age of ai coding we would implement this in javascript
- deleted 8mo ago[deleted]
- Blackarea 8mo agoyes! I just don't understand that as well. Up until some time ago claud code's preferred install was a npm i, wasn't it? Please serious answers for why anyone would use a web language for a terminal app
- fragmede 8mo agoBecause it's what the person writing it's preferred language. So it can share code with the web app. Because writing it in javascript is easier than writing it in raw brute forced assembly.
- mccoyb 8mo agoIt’s straightforward: JavaScript is a dynamic language, which allows code (for instance, code implementing an extension to the harness) to be executed and loaded while the harness is running. This is quite nice — I do think there’s a version of pi’s design choices which could live in a static harness, but fully covering the same capabilities as pi without a dynamic language would be difficult. (You could imagine specifying a programmable UI, etc — various ways to extend the behavior of the system, and you’d like end up with an interpreter in the harness) At least, you’d like to have a way to hot reload code (Elixir / Erlang could be interesting) This is my intuition, at least.
- jatari 8mo agoCode hotloading isn't a particularly difficult feature to implement in any language.
- mccoyb 8mo agoSure, but why implement a novel language with said feature if your concern is a harness ... not on implementing a brand new language with this feature?
- jauntywundrkind 8mo agoRust can't even dynamically link! I'm super on board the rust train right now & super loving it. But no, code hot loading is not common. Most code in the world is dead code. Most languages are for dead code. It's sad. Stop writing dead code (2022) was no where near the first, is decades and decades late in calling this out, but still a good one. https://jackrusher.com/strange-loop-2022/ https://jackrusher.com/strange-loop-2022/
- jasonjmcghee 8mo agoIncredible talk and I agree with all the things and I've worked on this problem a bunch. But Rust can dynamically link with dylib but I believe it's still unstable. It can also dynamically load with libloading.
- sergiomattei 8mo agoI built my own harness on Elixir/Erlang[0]. It's very nice, but I see why TypeScript is a popular choice. No serialization/JSON-RPC layer between a TS CLI and Elixir server. TS TUI libraries utilities are really nice (I rewrote the Elixir-based CLI prototype as it was slowing me down). Easy to extend with custom tools without having to write them in Elixir, which can be intimidating. But you're right that Erlang's computing vision lends itself super well to this problem space. [1]: https://github.com/matteing/opal https://github.com/matteing/opal
- deleted 8mo ago[deleted]
- sean_pedersen 8mo agoThere is a Rust port: https://github.com/Dicklesworthstone/pi_agent_rust https://github.com/Dicklesworthstone/pi_agent_rust
- jauntywundrkind 8mo agoFwiw @dicklesworthstone / jeff Emanuel is definitely my favorite dragon rider right now, doing the most with AI, to the most effect. Their agent mail was great & very early in agent orchestration. Code agent search is amazing & will tell you what's happening in every harness. Their Franktui is a ridiculously good rust tui. They have project after project after project after project and they are all so good. Didn't know they had a rust Pi. Nice.
- saberience 8mo agoYou should look at the code in that project. It’s terrible, I mean, really, really terrible. It’s clear it was 100% written by Claude using sub-agents which explains the many classes with 5000 lines of rust in a single file. It’s a huge buggy mess which doesn’t run on my Mac. If you’re a rust engineer and want a good laugh, go take a look at the agent.rs, auth.rs, or any of the core components.
- orangecoffee 8mo agoThis matters less and less in the new world. that fact that a fully compatible 10x faster clone came up, and is continuously working and adapting/improving, tells you that this is hugely valuable. It has users and it's thriving. Caring about taste in coding is past now. It's sad :( but also something to accept.
- mr_mitm 8mo agoUnmaintainable messes of code are also hard to maintain for AI agents. This isn't solely about taste.
- 8mo ago
- moonlion_eth 8mo agoi wrote an agent in zig, it kinda sucks tho. the language is just words
- andai 8mo agoSee also: pz: pi coding-agent in Zig https://news.ycombinator.com/item?id=47120784 https://news.ycombinator.com/item?id=47120784
- thomasfromcdnjs 8mo agoI am building an entire GPT model framework from the ground up in Typescript + small amounts of c bindings for gpu stuff. https://github.com/thomasdavis/alpha2 https://github.com/thomasdavis/alpha2 (using claude) Don't hate me aha and no, there is no reason other than I can
- KeplerBoy 8mo agoThis confused me about openclaw for quite some time. The whole lobster/crustacean theme is just firmly associated with rust in my head. Guess it's just a claude/claw wordplay.
- raincole 8mo agoThank god it's written in JavaScript. I might have skipped it if it were zig or something.
- solarkraft 8mo agoIt’s one of the most productive languages and ecosystems (IMO top 1 over all).