Is that because Python breaks everything seemingly every time it updates? I don’t know Python well, that’s just what I seem to hear people saying often.
If so, would it really matter so much in this case, bc it’s not code running on clients so much as a handful of server machines, so couldn’t the specific library version used be mentioned and constrained to be used?
More like because the hardware cost is much higher.
Devs work on an open source project. They usually don’t expect to get paid for their time, so the fact that “python allows for more features in the same time” doesn’t play as much of a role (I don’t even think this is a fact, more like a theory).
The hardware does have to get paid though. There’s no one out there building servers and generating energy for them for free. So less the hardware costs, the better.
Instances AFAIK run on donations. If there are not enough donations to keep the servers up, there is no Lemmy.
Reddit could afford to be on python because they ran on VC money and made losses year after year. I don’t think that a donation-based platform can afford that.
But… how limiting are the computations themselves, at this point? Since the Rexodus, Lemmy has only gotten smaller and smaller - didn’t we start at like 50-55k total active users, while now we are <43k, and that’s in total even while each instance needs to process only a subset of those numbers.
It’s worthwhile to think about future scalability, but features also help get the users in order to get the content in order to get the donations in order to keep the lights on.
You could be right ofc, I was just saying here that the reasoning process of Python being able to move forward more quickly seemed to make sense to me naively. But even there, mostly bc it allows for developers to contribute with lower barriers to entry?
I don’t like indentation affecting which block code belongs to, its poor type safety (with type hints being a minor band-aid), awful multithreading capabilities (being able to disable the GIL now helps but introduces its own issues), and multiple design decisions which, although make Python flexible and dynamic, make it hard to optimize running Python code and so all the performant libraries are written in something else like C and then you’re stuck having that as a dependency.
In trying to learn more about it, I copied and pasted code the other day… ofc it broke everything I had previously built up, but invisibly ofc bc why da fuq not. Fortunately copying and pasting code is something that real programmers never, ever do, right? :-P (I use Vim btw)
The literal creator of Python said that when first learning it, it is best to avoid an IDE. But if that would better handle a copy-paste…
Also one of the standard tricks in any C++ style language is to purposefully write a single line or block of code that is meant to be ran once then intended to be thrown away - i.e. debugging - in a radically different indentation style so as to call attention to it, whereas in Python it absolutely must blend in with the entire rest of the code block:-(.
In reading about the situation, Python did not “win” so much as Perl shot and killed itself with the whole 6 vs. Raku situation:-(.
Yeah, the argument for the indentation in Python is to enforce good formatting, but these days an IDE will do the good formatting for you, so now all that indenting does is make copying and pasting error-prone. Maybe that’s a benefit since it’d force you to look at what you copied and pasted. I’ve also heard about the Python vs Perl thing, but also Python looks a lot more welcoming to a beginner and is easier to pick up. I’m sure Perl fumbling contributed, but a lot of newer projects would’ve probably gone with Python anyway, like the data science stuff where the easy interface is exposed through a Python library and all the messy stuff is just C or C++ underneath.
Oh yes, but now aren’t you arguing on my side here, that Python is helpful for PieFed to gain features more rapidly than Rust might?:-D
One thing about Perl scripts is that if someone sent one to you and you looked it over and ran it, it would be very likely to function (edit: in the past, this used to be true). That seems no longer true nowadays though, and also the same is not true of Python either, or C++ for that matter. Even so, Python’s package management is world infamous for being annoying, and yet… what else is there that would be more worthwhile to use?
And against all of that backdrop, the Lemmy developers chose Rust, a language which isn’t even finished yet and is therefore even more likely to change - in MAJOR ways - than any of these others. I am not even criticizing that, just saying that with that niche covered, it will be nice to see what Python (PieFed) or Java (Sublinks) can offer as well.:-)
Python absolutely is faster to get things going since it’s a lot more simple and flexible, that was never a point of contention, but it goes back to the issue of tech debt. The more you take advantage of Python’s simplicity and flexibility, the more pain you’ll be in when you need to untangle the mess and work out performance issues later on.
Rust is a finished language, as much as one can be anyway. It’s stable and doesn’t have breaking changes. The editions mechanism means they can introduce more dramatic changes, but your older code will still function by assigning it an edition and you can always upgrade by making the changes necessary to jump to a later edition.
I don’t know much what the performance bottlenecks would look like for a social media platform. Pages themselves can only be so large though I assume that as the total amount of content grows then it would scale more with activity, yet even that would have bounds placed upon it like no ability to comment on posts older than six months. Naively to me that sounds like it could take great advantage of parallelization, and therefore not be as well suited for Python, though perhaps an actual database system is being used? Which is obviously true so to clarify I meant using Python to connect to some more optimized SQL engine, and yet that sounds naive even to my own ears so definitely not trying to pass myself off as an expert.
There may be value in seeing features arrive more quickly though, especially as people are leaving Lemmy to go back to Reddit, so if something could help them want to stay or even help bring in new ones, then even short term benefits may contribute towards a longer term future.
Is that because Python breaks everything seemingly every time it updates? I don’t know Python well, that’s just what I seem to hear people saying often.
If so, would it really matter so much in this case, bc it’s not code running on clients so much as a handful of server machines, so couldn’t the specific library version used be mentioned and constrained to be used?
More like because the hardware cost is much higher.
Devs work on an open source project. They usually don’t expect to get paid for their time, so the fact that “python allows for more features in the same time” doesn’t play as much of a role (I don’t even think this is a fact, more like a theory).
The hardware does have to get paid though. There’s no one out there building servers and generating energy for them for free. So less the hardware costs, the better.
Instances AFAIK run on donations. If there are not enough donations to keep the servers up, there is no Lemmy.
Reddit could afford to be on python because they ran on VC money and made losses year after year. I don’t think that a donation-based platform can afford that.
But… how limiting are the computations themselves, at this point? Since the Rexodus, Lemmy has only gotten smaller and smaller - didn’t we start at like 50-55k total active users, while now we are <43k, and that’s in total even while each instance needs to process only a subset of those numbers.
It’s worthwhile to think about future scalability, but features also help get the users in order to get the content in order to get the donations in order to keep the lights on.
You could be right ofc, I was just saying here that the reasoning process of Python being able to move forward more quickly seemed to make sense to me naively. But even there, mostly bc it allows for developers to contribute with lower barriers to entry?
I don’t like indentation affecting which block code belongs to, its poor type safety (with type hints being a minor band-aid), awful multithreading capabilities (being able to disable the GIL now helps but introduces its own issues), and multiple design decisions which, although make Python flexible and dynamic, make it hard to optimize running Python code and so all the performant libraries are written in something else like C and then you’re stuck having that as a dependency.
In trying to learn more about it, I copied and pasted code the other day… ofc it broke everything I had previously built up, but invisibly ofc bc why da fuq not. Fortunately copying and pasting code is something that real programmers never, ever do, right? :-P (I use Vim btw)
The literal creator of Python said that when first learning it, it is best to avoid an IDE. But if that would better handle a copy-paste…
Also one of the standard tricks in any C++ style language is to purposefully write a single line or block of code that is meant to be ran once then intended to be thrown away - i.e. debugging - in a radically different indentation style so as to call attention to it, whereas in Python it absolutely must blend in with the entire rest of the code block:-(.
In reading about the situation, Python did not “win” so much as Perl shot and killed itself with the whole 6 vs. Raku situation:-(.
Yeah, the argument for the indentation in Python is to enforce good formatting, but these days an IDE will do the good formatting for you, so now all that indenting does is make copying and pasting error-prone. Maybe that’s a benefit since it’d force you to look at what you copied and pasted. I’ve also heard about the Python vs Perl thing, but also Python looks a lot more welcoming to a beginner and is easier to pick up. I’m sure Perl fumbling contributed, but a lot of newer projects would’ve probably gone with Python anyway, like the data science stuff where the easy interface is exposed through a Python library and all the messy stuff is just C or C++ underneath.
Oh yes, but now aren’t you arguing on my side here, that Python is helpful for PieFed to gain features more rapidly than Rust might?:-D
One thing about Perl scripts is that if someone sent one to you and you looked it over and ran it, it would be very likely to function (edit: in the past, this used to be true). That seems no longer true nowadays though, and also the same is not true of Python either, or C++ for that matter. Even so, Python’s package management is world infamous for being annoying, and yet… what else is there that would be more worthwhile to use?
And against all of that backdrop, the Lemmy developers chose Rust, a language which isn’t even finished yet and is therefore even more likely to change - in MAJOR ways - than any of these others. I am not even criticizing that, just saying that with that niche covered, it will be nice to see what Python (PieFed) or Java (Sublinks) can offer as well.:-)
Python absolutely is faster to get things going since it’s a lot more simple and flexible, that was never a point of contention, but it goes back to the issue of tech debt. The more you take advantage of Python’s simplicity and flexibility, the more pain you’ll be in when you need to untangle the mess and work out performance issues later on.
Rust is a finished language, as much as one can be anyway. It’s stable and doesn’t have breaking changes. The editions mechanism means they can introduce more dramatic changes, but your older code will still function by assigning it an edition and you can always upgrade by making the changes necessary to jump to a later edition.
I don’t know much what the performance bottlenecks would look like for a social media platform. Pages themselves can only be so large though I assume that as the total amount of content grows then it would scale more with activity, yet even that would have bounds placed upon it like no ability to comment on posts older than six months. Naively to me that sounds like it could take great advantage of parallelization, and therefore not be as well suited for Python, though perhaps an actual database system is being used? Which is obviously true so to clarify I meant using Python to connect to some more optimized SQL engine, and yet that sounds naive even to my own ears so definitely not trying to pass myself off as an expert.
There may be value in seeing features arrive more quickly though, especially as people are leaving Lemmy to go back to Reddit, so if something could help them want to stay or even help bring in new ones, then even short term benefits may contribute towards a longer term future.