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

help-circle



  • It’s been great almost since I started using it.

    I started using it exactly when 4.0 came out, because that’s when I started using Linux and I thought learning 3 didn’t make sense. But 4 only got stable around 4.4 I think. The problem was that 4.0 wasn’t intended to be for end users yet, but distributions didn’t realize that and packaged it right away.

    KDE didn’t repeat that mistake. 5.0 was almost completely smooth sailing (some applications took a long time to port and looked ugly, that’s it), and 6.0 was completely seamless.










  • Python is just glorified shell scripting

    Absolutely not, python is an actual programming language with sane error handling and arbitrarily nestable data structures.

    I don’t like the indentation crap

    Don’t be so superficial. When learning something, go with the flow and try to work with the design choices, not against them.

    Python simply writes a bit differently: you do e.g. more function definitions and list comprehensions.






  • Huh, I really like code like that. Having a multi-step process split up into sections like that is amazing to reason about actual dependencies of the individual sections. Granted, that only applies if the individual steps are kinda independently meaningful

    To adapt your example to what I mean:

    Baz do_stuff(int count, boolean cond) {
    	Foo part1 = function1(count);
    	Bar part2 = function2(cond);
    	return function3(part1, part2);
    }
    

    This allows you to immediately see that part1 and part2 are independently calculated, and what goes into calculating them.

    There are several benefits, e.g.:

    1. if there is a problem, you can more easily narrow down where it is (e.g. if part2 calculates as expected and part1 doesn’t, the problem is probably in function1, not function2 or function3). If you have to understand the whole do_stuff before you can effectively debug it, you waste time.
    2. if the function needs to be optimized, you know immediately that function1 and function 2 can probably run in parallel, and even if you don’t want to do that, the slow part will show up in a flame graph.