• JackbyDev@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 day ago

    When I think about computer science as a field of science I think about things like algorithmic complexity. I believe things like what you mentioned should be taught in general education prior to university (or, like calculus, as an optional elective) and are only covered because you need to know those basics to cover the advanced things.

    It’s really difficult to come up with other examples of this that aren’t contrived because computer programming is the only field I know of that’s like this. I might compare it to architects needing to know how to use tools, but I don’t think they actually cover that. Maybe a better example might be engineers needing to know how to use tools before designing machines. Either way, things like how to use tools aren’t covered in those classes and they’re either not taught or taught as shop classes (or maybe they are, I didn’t go into those fields). Things like for loops I view as learning how to make a computer operate. Like how someone who drives a car doesn’t need to know how to fix an engine but a mechanic does. But learning about computer science is more like learning about what car designers do than what mechanics do. A lot of programming work doesn’t need that low level of attention to detail.

    Like I said before, it doesn’t hurt, but it’s not super critical. A classic example is something like learning how to make a linked list. This is an early example of an assignment that starts to get into the actual computer science stuff because you start to talk about the comparisons between different data structures, like linked lists versus array lists. So in university you may be thinking “damn I’m gonna be making list implementations all the time” but you quickly learn, no, you’re not. The standard library of your language already has one and it’s worlds better than anything you made. Plus, 99% of the time you’re gonna want an array list, at least in the types of work I do.

    I hope that helps make it more clear what I’m trying to say. I’m not saying computer programming is easy or doesn’t require skills.