After the (temporary) defederation announcement of earlier i checked the Lemmy repo to see if there was already a ticket on the federation limiting option like Mastodon’s that people mentioned Lemmy doesn’t yet have. Not only i didn’t find it, i also saw that there’s about 200+ open tickets of variable importance. Also saw that it’s maintained mostly by the two main devs, the difference in commits between them and even the next contributors is vast. This is normal and in other circumstances it’d grow organically, but considering the huge influx of users lately, which will likely take months to slow down, they just don’t have the same time to invest on this, and many things risk being neglected. I’m a sysadmin, haven’t coded anything big in at least a decade and a half beyond small helper scripts in Bash or Python, and haven’t ever touched Rust, so can’t help there, but maybe some of you Rust aficionados can give some time to help essentially all of Lemmy. The same can be said of Kbin of course, although that’s PHP, and there is exacerbated by it being just the single dev.
How is PHP doing these days? It used to be hugely popular, but seems to have fallen into disregard in a lot of circles. I wonder if PHP being seen as a “easier” language than rust will attract more kbin developers?
Almost everything is easier than rust, except stuff like Elixir or Assembly and stuff…
But rust is just better than the others. Golang is also decent, it’s fast (half the speed of rust is still very fast) and much easier to learn.
I wouldn’t say rust is harder, just different. There aren’t really many languages that are safe in the way rust is safe… Ive done a bunch of intermediate rust tutorials and i actually got the hang of it pretty quickly
I love Go. Sure, it has downsides like it’s error handling is annoyingly verbose, terrible support for functional programming, the standard library is very tiny, and it doesn’t have much syntax sugar. But damn if it isn’t the most easy language I’ve ever used. I think it has the fewest gotchas, the code is generally the easiest to read, and it performs well (especially with goroutines). Code is read far more often than it’s written and ease of understanding unfamiliar code is very helpful for getting people to contribute to your project.
Have you looked at the size of your executables and the runtime with go?
Maybe if you’ve making a web browser or some server process is useful but not for most tools because of the gigantic baggage it pulls along.
I find it funny you put Elixir In the same boat as Assembly. It’s not that complicated of a language, it just has interesting process mechanics.
Assembly isn’t ‘complicated’ either
I’d rather work in rust, personally. I’ve heard newer PHP has a lot of things that are better than previously, but I’ve not worked with it personally.
PHP is hugely popular. People just don’t talk about it because the developers that use it mostly keep quiet and do their work :)
Every time someone says PHP is dead, it lives for another year 😬
People were saying that PHP was dying when I started using it - that would have been around 2003 I think, with PHP 4.3. 20 years later, apparently it’s still dying!
WordPress powers a crazy number of websites. I think around 35%? All of those sites are using PHP. I wouldn’t be surprised if it was the most widely deployed backend technology across all websites.
But on the other hand, Rust is a highly desirably language whereas PHP has a historically bad rap. I don’t think devs necessarily want easiest. They want whatever is most enjoyable to use. Tooling support also matters. Stuff like static typing, for example, makes unfamiliar code way easier to understand. I’ve contributed to a lot of unfamiliar servers and I’ve noticed that ones in languages like Go are a lot easier because the static typing means it’s easier to read the code. In particular, I found servers written in Python hard to work with, and it’s not for lack of experience with the language (I’ve been using Python for longer than Go).
How easy it is to run the code also matters. Has anyone tried that with Lemmy? I was gonna run a dev kbin instance to try and make some changes, but the amount of work it seemed to require just to run the server was more than I wanted to do at the time (I really just want as close as possible to a single command way to run the server locally to test my changes so I can verify they work). Ease of contributing is very important for me to actually bother to contribute.
Lemmy has Ansible deploy scripts, and everything is dockerized. It’s as easy as spinning up a machine, setting some config values, and running a playbook.
I still use PHP extensively for a lot of my projects at work. It’s my favorite language.
I’ve been experimenting with rewriting one of my UI based reporting tools with Laravel (moving from slim/twig).
The fact kbin uses PHP piqued my interest there but I went with lemmy for my standalone instance anyway because I’d like to get familiar with Rust.
PHP used to be my main language. When they started adding more advanced type features it interested me. Then I got bitten by the strong typing bug and started teaching myself Haskell. I didn’t end up getting very far, but now I strongly prefer strong and static typing.
I don’t dislike PHP, even now. If I wanted to use an interpreted language for a web project, I’d probably pick PHP. I sure like it better than Python, Ruby, and JS. I just don’t find myself wanting that kind of language anymore though.