• 0 Posts
  • 23 Comments
Joined 1 year ago
cake
Cake day: July 9th, 2023

help-circle

  • OK, so is Redhat breaking any license? Do you really think a company like Redhat would open itself to thousands of lawsuits like that. The CEO already explained that this is totally legal and covered by GPL. They are in fact distributing the source to the people receiving the product. This is exactly what GPL says. They are not forced to open the source code to people who aren’t getting the distributed software.

    What is your complaint then? They are not breaking any law and they are following the GPL license.

    I was using the webframework/language as examples because you said this wasn’t a matter of law but a matter of principle. So why does the principle apply to Redhat but not the million other products that totally depend on FOSS on their core?

    So many projects do in fact distribute the FOSS, but they use more permissive licenses like MIT, Apache or LGPL. BUT you’re saying the law is not relevant, what matters is the principle. So why don’t everyone release their code if they depend on FOSS on their core products? Because they aren’t breaking the Apache or MIT licenses? Well, that’s great! Redhar isn’t breaking the GPL license either. Why must Redhat follow whatever subjective principles you have?

    — “hey there’s this company creating a commercial product around FOSS. They aren’t breaking any license.”

    — “Nice, as long as the licenses aren’t compromised”

    — “It’s Redhat”

    — “Those mofos! How dare they!”


  • Well, the re-builders would be breaking the law now that the source code isn’t available for non-paying customers. They weren’t breaking the law before.

    So, do you expect every company to release the source code of their products just because they used a FOSS web framework or a FOSS programming language like Python? Or by the same logic, for companies to release the source code of their products if their developers use Linux in their development machines? Or if they use Linux to deploy their applications in the cloud? That’s such an unreasonable position.





  • People creating functions as objects inside of other functions. A few days ago saw a person create a function with two object functions inside, then passed one of the functions as an argument to the other function. Then returned the second function.

    It’s hard to find such a mess in other languages. Yeha, functions as objects are cool. Closures are also cool… But why abuse that shit?





  • My problem with it is that it gives people too much freedom. They can write the code in very, VERY ugly ways… And they do. It’s a language that let’s you write a mess pretty easily.

    That’s really my only complaint. The ugliness happens mainly in:

    • callback hell. For some reason some people still do callback hell in 2023.

    • functions as objects. This is pretty neat actually, one of the best things in Javascript, but some people just abuse the hell out of it.


  • Come on, Javascript is pretty nasty. Trying to read that shit always gives me brain tumors. Why do they need to wrap every fucking thing in a function inside a function inside a function that is passed as a parameter to a function inside another function?

    Like, bro, you know people are meant to understand what you just wrote?

    It just gives too much freedom and people forget they need to write code that is easy to read for people who aren’t totally familiar with the code base.

    They even bring that shit into typescript. Like they are already using a language that is meant to fix that shit and they are like, nope, let me create 5 nested functions just because.




  • I guess this is beating a dead horse but you can have pointers to pointers for 2D arrays.

    The first pointer tells you which coulm you’re on. The second pointer tells you which is the first object of each column. That way you can iterate the columns without loosing a reference to the current column you’re standing on.


  • pazukaza@lemmy.mltoProgrammer Humor@lemmy.mlpointers are very eleganto
    link
    fedilink
    arrow-up
    7
    arrow-down
    1
    ·
    edit-2
    1 year ago

    In C# it is different.

    In C if I give you a pointer to a memory address, you can totally overwrite what is in that memory address, even write a new struct in there. So you’re getting a “real” writable memory address.

    In languages like Java or C# you aren’t given a reference to the memory address but a reference to the object. You can only write to the object using it’s own interface (methods) but you can’t say “I’m going to totally overwrite this memory address with a new object”.

    If you receive an object in a parameter, let’s say a “Person person” object and you do something like “person = new Person();” you didn’t really overwrite the memory address. The original person reference that was passed in the parameter is still intact. You can only modify it with something like “person.setName(…)”.

    So, with real pointers you can do more stuff, but higher level languages don’t want you to do that because it breaks some of their principles for what “good programming” is.


  • I use Ubuntu. I think it’s funny how Arch users immediately assume they know more about Linux than me because of my distro choice. My hobby is learning about Linux and I can do that perfectly from my Ubuntu machine.

    I’ve used Arch in the past, and let me tell you, nothing crazy is going on in there.

    Yes, Ubuntu sucks because they are forcing Snaps on people while snaps are slow as hell. Thankfully they haven’t fully shoved snaps down our throats. If they don’t make snaps faster before shoving them down my throat, I’ll just distro hop. Probably to Debian. I love Debian.