Live data from Hacker News

Fable Converted Pylint to Rust

pypi.org

111–120 of 122 posts

Re: Fable Converted Pylint to Rust

#111
post #77

It's fascinating to read the comments here. The attitude is very strange to me. Writing software is not a sport that if you "cheat" using tools then your results are worthless. Results are speaking for themselves. Unless you can provide a failing test case that the software presented here fails at then your arguments for "how" it was made is moot. Fully agentic coding is working well for projects like this since no m…

The issue in this particular project is how well maintained it will be in the long term, since it's chasing after another project with the goal of being 100% compatible. How many of these AI ports are just people chasing one shinny thing then moving on to the next?

Re: Fable Converted Pylint to Rust

#112
post #64

Earlier quoted context omitted.

They don't all support the same rules (there's literally thousands of them), so it's quite common to run multiple linters against a project.

You'd be surprised, Ruff covers nearly everything: https://docs.astral.sh/ruff/rules/#pylint-pl I run Ruff + a type checker.

Based on their tracking issue, Ruff is missing 156 out of 397 Pylint checks:

https://github.com/astral-sh/ruff/issues/970

Though some of them will presumably be covered by Ty

Re: Fable Converted Pylint to Rust

#113
post #77

It's fascinating to read the comments here. The attitude is very strange to me. Writing software is not a sport that if you "cheat" using tools then your results are worthless. Results are speaking for themselves. Unless you can provide a failing test case that the software presented here fails at then your arguments for "how" it was made is moot. Fully agentic coding is working well for projects like this since no m…

A lot of programmers naively believe that tests prove that the program works... Even though this has been repeated over and over again: tests can only prove that the program isn't broken in some specific way.

When there's a person in the loop, you know that the program was written intentionally. It can still be wrong, but if you were to ask the author why they wrote this or another part of the program, they'd have an explanation ready. When you interact with LLM, it can generate an explanation, but, fundamentally, it doesn't work in the same way the flesh-and-blood programmer does. It doesn't really have an explanation. LLM can be right 99 times out of 100, where a human undertaking the same task might be right only 90 times out of 100, but the inability to find that 1 wrong case is scary.

LLMs and live programmers make mistakes in different ways. You, the tester, can re-trace the thought process of a live programmer and detect errors where your outcomes don't match the outcomes produced by another programmer. You, however, cannot have the same though process as an LLM... that's physically impossible. So, once it's wrong, you are on a wild goose hunt after the error.

Re: Fable Converted Pylint to Rust

#114
post #3

> A Rust reimplementation of pylint that produces byte-for-byte identical output — 15–2300× faster (median ~85×). > prylint is not "inspired by" pylint. [...] Where pylint has bugs, prylint reproduces them. Where pylint crashes, prylint reports the same crash message. This looks very strange to me. There's no paper or explanation as to why the output should be identical to the real Pylint. Looking at GitHub, all the…

I have done such migrations.

An entire codebase of PL/SQL Oracle stored procedures, and I migrated it to MySQL stored procedures. Long before LLMs existed.

You migrate the logic as-is because you want to replace the other code. You don't go rewriting or optimizing stuff just yet, not until the migration is complete.

It helps a lot in isolating migration related issues from optimization related issues. You do one thing at at time, and fully test it before doing the next thing.

It baffles me this is not super obvious to you!

Re: Fable Converted Pylint to Rust

#116
post #69

Earlier quoted context omitted.

They said it's a median 85x speedup while maintaining byte for byte equivalence. If it wasn't agentic coding that got there, everyone would be singing praises about that.

I've stopped telling people when I use LLMs because they focus on that instead of the work itself.

Say im talking to someone about a project I’m working on. When I mention AI was involved, the whole project is reframed in their head to be lesser in some way. All of a sudden “AI” is the project. They write off the human element.

They dont understand its about the idea. The project viability relies on the ability of identifying a problem and brainstorming a novel way of solving it. Thats the hard part. LLMs let me execute my brain plan. The coding aspect has been democratized to non-coders.

Re: Fable Converted Pylint to Rust

#117
post #77

It's fascinating to read the comments here. The attitude is very strange to me. Writing software is not a sport that if you "cheat" using tools then your results are worthless. Results are speaking for themselves. Unless you can provide a failing test case that the software presented here fails at then your arguments for "how" it was made is moot. Fully agentic coding is working well for projects like this since no m…

Agreed It reminds me very heavily of being on woodworking forums as ever more mass automation happened, and the infinite arguments around whether using power tools/CNC/etc was still "real woodworking". Lots of previously "hand-crafted" industries have dealt with mass automation. Software is not the first or the last. Hand-wringing by practitioners will change nothing, as it did not for any other industry. The vast ma…

Do you have any favorite books or resources on how folks in the past adapted to changes in their industries?

Re: Fable Converted Pylint to Rust

#118
post #77

It's fascinating to read the comments here. The attitude is very strange to me. Writing software is not a sport that if you "cheat" using tools then your results are worthless. Results are speaking for themselves. Unless you can provide a failing test case that the software presented here fails at then your arguments for "how" it was made is moot. Fully agentic coding is working well for projects like this since no m…

A lot of programmers naively believe that tests prove that the program works... Even though this has been repeated over and over again: tests can only prove that the program isn't broken in some specific way. When there's a person in the loop, you know that the program was written intentionally. It can still be wrong, but if you were to ask the author why they wrote this or another part of the program, they'd have an…

I personally think at some complexity level almost nobody who wrote the code can tell you what's going on. E.g. TypeScript's `checker.ts`

Re: Fable Converted Pylint to Rust

#119
post #76

Earlier quoted context omitted.

With moves like this, I'm not so sure victory is assured... but yes. Pay to play. I, like most, beat linting delay by running it in the background; asynchronous. Having been negative, so far, I want to say something positive. I appreciate that LLMs weren't used for license washing in this case.

That is why rewriting in another language is such a cheat. LLMs beat 10 years+ experts at the details of a single line of code (and I mean SYNTAX, not invariants), but suck at the design, at the level of functions, and higher up. If you rewrite someone's stack ... you take out the design part of the work. No need to redesign. Obviously the high level decisions work. 99.5% work as well in python as they do in rust ...…

Very good example. Translating the answers is not the same as having to think up the correct answers.

Re: Fable Converted Pylint to Rust

#120
post #72

So, develop in an ergonomic language. Then use an LLM to convert to Rust. No human needs to read or write Rust anymore.

There are always going to be reasons for human review of code written by a LLM. Furthermore, for both safety and control, we will want human readable code from LLMs. These "needs" and "wants" can't be eliminated, at least while humans are in control.
Post reply on HN