Live data from Hacker News

How to not rewrite it in Rust

adventures.michaelfbryan.com

81–90 of 231 posts

Re: How to not rewrite it in Rust

#81
post #16

Earlier quoted context omitted.

That's not true. If you build from a dist tarball, you do not need auto tools installed. You usually do if you build from a git repo, however.

How/why is a dist tarball not exactly the same as a zipped up git tree?

"make dist" does stuff other than just make a tarball -- like insert a version number into a header &etc.

Re: How to not rewrite it in Rust

#82
post #69

Earlier quoted context omitted.

My life as an immigrant developer, therefore cheaper, hired to fix the shit of the elite quitters :D Sometime I catch them a few weeks before they quit and I get to ask why they developed a low level http server in java interpreting controller code written in javascript that nobody understand but them. "It's much more efficient than using php or nodejs or higher level java" "you benchmarked ?" "I have to go do more k…

I really like the phrase "elite quitters". I wonder if, as a stereotype, it's unique to the software industry.

No, it also happens in professional sports. Star players leave the teams that drafted them to look for better opportunities. It seems to be an inevitability that small market teams draft and develop star players who then quit on the fans for a big contract or a chance to play with other stars in the big city.

Re: How to not rewrite it in Rust

#83

> The first step in interfacing with a native library is to understand how it was originally intended to work. But reading code is hard, it's easier to project your sense of confusion onto your predecessor than own it yourself, and once you rewrite the code in Rust and start to understand the true complexity that the previous code had to work around, you'll leave for another job (this time with Rust on your resume).

It's called resume driven development, and the reason it's done is because it helps those who do it get jobs

As long as companies keep expecting experience in very specific technologies (only at work—400 hours on a hobby codebase don't count for as much as 40 hours writing something at a job for determining competence in a language or framework or whatever, it seems) this will keep happening. It's really, really dumb, but there's little other choice for folks who want to keep their skills (=the names of tools & languages they've used to write something for pay) up to date (=trendy high-paying buzzword compliant).

Doubly true if you're not all-in on one of the major Bigcorp silos (Java, C#).

Re: How to not rewrite it in Rust

#85
I don't think I've ever met a developer who didn't want to rewrite their predecessor's code and that includes the one I see in the mirror. Doing it in a different language would definitely be more interesting.

Do we admit that this is a factor in the decision to rewrite vs. reuse?

Re: How to not rewrite it in Rust

#86
post #14

This article is wonderful and I hope as a setup for second article, "How to Rewrite it in Rust"! > However at best, the temptation to RiiR is unproductive > A much better alternative is to reuse the original library and just publish a safe interface to it. Just as models are a lower dimensional representation of a more complex problem, [1] I have to re-iterate that there are no truth(ism)s in software and as in all e…

There's no such thing as a "C/C++".

Re: How to not rewrite it in Rust

#87
post #83

Earlier quoted context omitted.

It's called resume driven development, and the reason it's done is because it helps those who do it get jobs

As long as companies keep expecting experience in very specific technologies (only at work—400 hours on a hobby codebase don't count for as much as 40 hours writing something at a job for determining competence in a language or framework or whatever, it seems) this will keep happening. It's really, really dumb, but there's little other choice for folks who want to keep their skills (=the names of tools & languages th…

At a previous job I worked with someone who didn't see a buzzword they didn't like. Since nobody was stopping them, they designed an incredibly convoluted system using all the latest tech. In the end we replaced it with a JVM server and a Postgres database.

I occasionally check their LinkedIn and they're still spending 12-15 months every time at companies, being CTO or Big Data Strategist or whatever.

Re: How to not rewrite it in Rust

#88

The title of the article is “How to not RIIR”, not “How not to RIIR”. The article is about wrapping an API with a Rust interface so the title used here on HN does not fit the content of the article.

I don't see how the meaning of the phrases “How to not RIIR” and “How not to RIIR” is different.

Re: How to not rewrite it in Rust

#89
post #14

This article is wonderful and I hope as a setup for second article, "How to Rewrite it in Rust"! > However at best, the temptation to RiiR is unproductive > A much better alternative is to reuse the original library and just publish a safe interface to it. Just as models are a lower dimensional representation of a more complex problem, [1] I have to re-iterate that there are no truth(ism)s in software and as in all e…

There's no such thing as a "C/C++".

Alternatively, you could have C/C++ as a third, discrete category somewhere in the middle of the C C++ spectrum. For people who like namespaces, or overloading arithmetic operators for mathy vector/matrix/etc stuff in order to make the code more readable.

Re: How to not rewrite it in Rust

#90
post #78
post #73

Earlier quoted context omitted.

But that's how you grow as a software shipper. Our job is not to program crap again and again, it's to deliver some value for the high fees we charge. Rewritting a working library to migrate language is really hard to defend...

No it’s not. You didn’t write it the first time, and grow from writing it the first time. Writing and shipping something in a new programming language is a fantastic way to learn both. This has only become contentious as people try to come up for a reason why rewriting things in Rust is bad, when really it is about as benign as trends go. I never heard the same complaints about rewriting things in Go (another languag…

Rewriting software written using Python, Java, and Ruby in Go is entirely different from rewriting software written using C and C++ in Rust. Go has easily quantifiable advantages over those other runtimes regardless of the original code's correctness.
Post reply on HN