đŸ Archived View for flexibeast.space âș gemlog âș 2020-09-12.gmi captured on 2023-06-14 at 14:19:35. Gemini links have been rewritten to link to archived content
âĄïž Next capture (2024-02-05)
-=-=-=-=-=-=-
Translating a working, debugged, 80,000 line codebase from one language to another is usually a fool's errand.
-- Walter Bright, inventor of D
[E]very now and then someone comes along and suggest a complete rewrite in some other language. So far we've had Java (there's always one...), Python and now C++. It happens to all projects, sooner or later. The funny thing is that all those people that want their favourite software to be rewritten in their favourite programming language always wants someone else to rewrite it for them.
-- Andreas Ericsson
i wonder how many programming language evangelists realise that their approach is often _dissuading_ people from using a programming language.
i here distinguish âevangelismâ from âpromotionâ. To me, âpromotionâ is something like: âHey, you might like to consider using language X for project Y, as despite the possible costs Z, I think it might offer a number of benefits.â âEvangelismâ, on the other hand, is more like: âYou should use language X for every project, and indeed, you should rewrite all existing projects in X.â
The latter describes the behaviour of the RESF, the Rust Evangelist Strike Force. The RESF is not, to the best of my knowledge, actually a thing; it's merely an appellation i've seen used to describe a certain subset of the Rust community. RESF people will tend to primarily parrot marketing phrases: âRust provides blazing fast fearless concurrency with zero-cost abstractions, you should rewrite your project in Rust!!1!â It's one thing for official promotional material (OPM) to talk of Rust being âblazing fastâ, providing âfearless concurrencyâ, and offering âzero-cost abstractionsâ; that's OPM's job. But if you're not actually writing OPM, and are simply a member of the general public trying to convince me to use Rust, you need to demonstrate that you can go beyond mere sloganeering.
To convince me to use language X, demonstrate to me that you're aware of its limitations - why it might not be suitable, what tradeoffs it makes, what design flaws it has (and _every_ programming language has design flaws). If you regard any criticism of the language as coming from an ignoramus who Just Doesn't Get It, i can't take you seriously. If you think a project should be rewritten in X, show me you're aware of the costs of doing so. Whilst a rewrite might solve a number of current practical (not theoretical) technical problems with the project, it will also:
The RESF seems to have become the âI'm on Arch btwâ community of the programming world. And these sorts of attitudes and behaviours lead to a âDon't Shoot the Messageâ situation: people who might otherwise be interested are getting turned off by the naĂŻve-to-obnoxious evangelism.
TVTropes: âDon't Shoot the Messageâ
â
đ· dev,ict,sociology