3 ms·
> From this we can conclude that humans do not need any nice things like programming languages, assemblers or compilers to program effectively. But maybe not e
by anyfoo 2y ago
> From this we can conclude that humans do not need any nice things like programming languages, assemblers or compilers to program effectively.
But maybe not efficiently. I realize that was tongue and cheek, but since this sometimes comes up in earnest (especially when it comes to dynamic vs. static type systems), it's worth noting that we knew from the very beginning that we can effectively program in what we'd now call adverse conditions: Not only were some earlier computers programmed directly in binary code (and Woz famously still programmed a 6502 by entering hex bytes into a monitor), before that we programmed by plugging in cords into panels, and in some sense still do in logic circuit design.
However, we sure became much more efficient in programming not only because higher level abstractions allow us to do things quicker, but because in addition of static type systems, we either catch really hard to debug issues much earlier, or won't make a lot of mistakes in the first place (you won't accidentally save a temporary into some register that you already used for something else even if it's "just C").
- robocat 2y ago> especially when it comes to dynamic vs. static type systems One nice thing about Typescript is that it gives us a mostly statically typed language and it has a control to compare against (JavaScript). That allows programmers to learn the strengths and weaknesses of both approaches. Previously most comparisons were apples versus oranges. I'm guessing Python's Type hints (or Cython) also give a taste of the positives and negatives of static typing. I would also presume both Typescript and Cython miss out on some of the more extreme optimisation benefits of static typing?
- __mharrison__ 2y agoI don't know many people who enjoy cython, which is pretty different from using typing in Python.