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

help-circle

  • 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.






  • It’s not perfect, but it’s good introductory material for people who fell for the right-wing propaganda of “everybody’s called a fascist now, there isn’t even a definition”.

    Yes, suckers, there are people with an understanding of what fascism is, and they agree for a reason about the dangers of things like calling people vermin, casting doubt on election integrity, and strong man rhetoric.




  • Yeah, the Nazis weren’t really subtle. If you instead maintain a civil front inward for public support, you can wreak havoc more effectively.

    That’s why fascism is a different kind of danger. It wouldn’t leech off of other places for centuries, it would explosively and directly attack internal and external enemies.

    Neither of these things can be risked.







  • 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.