> This is about the OP saying "I tried programming but I gave up" post that is clearly not asking for help, but some along the lines of "i didn't like movie X" , you make them like the movie.
People usually abandon learning programming as the learning curve to some programming languages is too steep for them to climb.. Usually if they get help from a developer who knows the language then they can learn within hours more than they ever did alone.
So such encouragements are viewed as ethical in computer science if you are willing to invest the time to teach them.
> Also not everyone can make a living writing FOSS projects. Especially if you are not in the first world.
Lol who told you that? People living in a 3rd world country getting hired to work on a FLOSS projects is very common from my experience.. Mostly because they are qualified to do the job and are more economical to hire.
@FrailLeaf @LordMordred @bwk literally everyone.. There are not hard restrictions on who can be hired to work on an open-source projects.
@FrailLeaf @LordMordred @bwk like they can always change an industry.. So what's your point?
> How does a person working a job, writing absolutely horrible code change the industry?
The gross majority of people working on open-source projects write a horrible code it's by design done this way.
So again the important thing is abstracting and documenting the code preferably writing down what you are doing, how and why
@FrailLeaf @LordMordred @bwk e.g. what @lupyuen is doing with https://qoto.org/web/statuses/107793119639236951
@FrailLeaf @LordMordred @bwk Like footprinting is generally time efficient so what's the issue?
The practice of figuring out how the software works and why.
My way of doing it is by adding "WTF" comment tags all over the code as comments to things that i do not understand and then commenting out random codeblocks and changing them to see how it affects the outcome to write docs.
e.g.
fn main() {
println!("Hello, world!");
}
fn main() {
// WTF(Krey): what is this supposed to do?
println!("Hello, world!");
}
fn main() {
// WTF(Krey): what is this supposed to do?
println!("Hello, worldSSSSssss!");
}
Oh this block is the one that prints in the console!
fn main() {
// Outputs 'Hello, world!' in the console
println!("Hello, world!");
}
@clay @FrailLeaf @LordMordred @bwk
If your function is so inefficient that it takes longer then 300 nano seconds per run assuming average personal computer system of 2022 then there is something horribly wrong with your code.
i am aware of this being an ongoing problem with python that most likely won't ever be fixed and if you ever run in that situation on python then you should move your codebase to a better solution as python is not a programming language for data science industry..
@clay @FrailLeaf @LordMordred @bwk
> What if the thing I'm running is doing a merger of all banks in the USA into a theoretical merged institution. Should that function take 300ns?
Calculated to be at average of 12 Petabytes for the last 5 years -> yes.
Banks use a very efficient systems designed for data transfer so i assume that they won't be a bottleneck so they should be able to make the calculations locally, compress it and sent it to you assuming that you have the required permissions to access such data.
So the common excuse of "it's a lot of data it will take few hours" just because you don't know how to optimize the function is invalid.
What takes time on the processing is calling the function multiple times per set amount of time e.g. how compilation works so the efficiency of single component is directly related to the overall efficiency of the solution
e.g. assume a hypothetical scenario of a calculator function doing 1+1 calculations taking 5 seconds -> in compilation you do these kinds of calculations billions time per second (assuming that the compiler 100% efficient to utilize all the system resources) so 5*1B is 5B seconds to process one frame of instructions which will take you 158.4 years to complete thus your function is too inefficient to be used.
@clay @FrailLeaf @LordMordred @bwk You are using a very specialized usecase with which only you have the personal experience so it's impossible to argue about it as i lack the require information so provide a better example for your argument?
@clay @FrailLeaf @LordMordred @bwk name one function that has to be faster then ~300 ns
@clay @FrailLeaf @LordMordred @bwk I don't disagree that a software composed of function could take a lot of time the argument is about the invidual functions that create the software.
E.g. the common fibonacci could take days to finish calculation on INT_MAX or it could take 11.42 ns depending on how you write it
And if that function is used multiple times in a software then this inefficiency will grow exponentially
@clay @FrailLeaf @LordMordred @bwk
> I'm done talking about "how long a theoretical function should take." silly.
fine whatever