3 ms·
This actually bothered the hell out of me. For anything more complicated that highschool physics, this is terrible. You start to run out of letters and start us
by makmanalp 14y ago
This actually bothered the hell out of me. For anything more complicated that highschool physics, this is terrible. You start to run out of letters and start using capitals and noncapitals, and even worse is that there are some "globals" that are not really variables but well-known constants. So you're trying to distinguish between uppercase / lowercase / variable / constant and keep all that in your head.
There really is no logical reason to do this, other than established practice.
I've found that even scientists and mathematicians can be closeminded enough to get angry when you suggest that they're being inefficient and wasteful, and their conventions are crap.
Don't even get me started on the mathematician way of explaining things, where instead of explaining the concept and filling in the gaps, you take a 20 variable equation and start by describing all the variables one by one. By the time you reach the end, you can't remember what the beginning did, so you have to go back and forth all the time.
- btilly 14y agoMost people tend to get unhappy when you start dismissing their knowledge as crap. Also in this case you are wrong. With a compact notation you can think more complicated thoughts than you can with a verbose one. The downside is that a compact notation requires more from the person reading it. The tradeoff is correct, and the domain expert is not necessarily wrong. Your domain expertise is maintaining a lot of very precise instructions for a variety of different problems. For you, constant signposts are an assistance. For a domain expert in their domain of expertise, they are overhead.
- gruseom 14y agoThis is a wonderfully lucid and subtle comment. I think any earnest programmer who wants to get better would do well to study your contributions to this thread until they are sure they understand them. For a domain expert in their domain of expertise, [long explicit names] are overhead. Once you pass a certain threshold of complexity and/or time-investment, a well-designed program becomes its own domain of expertise. At that point there is great leverage to be had in finding a compact notation suitable for the recurring concepts of the system. In some ways, finding such a notation is how one ensures that the system has a good design and will keep it. As you point out, it (critically) is what enables us to keep more complex things in our heads. It also becomes an intimate part of the creative process – a good notation suggests new concepts and hints at how the system should grow. Long explicit names are exactly what you don't want when it comes to the core concepts of a well-designed system. They are useful for things that aren't familiar and so need to be spelled out. But in a well-designed system, the most important concepts are familiar and it is a poor use of our limited cognitive capacity to constantly spell them out, for much the same reason that we prefer to say "gas" instead of "liquid hydrocarbons". Since cognitive capacity is our principal bottleneck in software, this is a big deal.
- makmanalp 14y agoWell, I put it more politely than that, but it's a longstanding nagging issue for me, so I tend to get worked up when talking about it. I think your point is a very valid one. I guess when I try to read a paper that's "way over my head" academically, it's fair that the authors don't care about me. But I don't think they know its tradeoff. The way I know this is by reading the majority of intro / mid level textbooks I've had to deal with as a freshman. At that point you're not nearly a domain expert, but the texts are written in the same way.
- amalag 14y agoThe comment by btilly is ok as the mathematicians are trying to communicate in a highly efficient manner which is not the same as communicating with us mere mortals.
- lutusp 14y ago> You start to run out of letters and start using capitals and noncapitals, and even worse is that there are some "globals" that are not really variables but well-known constants. Fair enough, but don't forget the Greek alphabet, both upper and lowercase. There are plenty of math notation issues, but a shortage of symbols isn't on the list. I don't think anyone in physics thinks multiple-character variables solves any real problems. Practitioners are more likely to craft a new symbol, like h-bar (ℏ) for the reduced Planck's Constant, at the point where ordinary h wasn't adequate: ℏ = h / 2 π > There really is no logical reason to do this, other than established practice. I can think of one logical reason -- it works for people who don't think very much about the symbols because they're thinking about the math. > Don't even get me started on the mathematician way of explaining things, where instead of explaining the concept and filling in the gaps, you take a 20 variable equation and start by describing all the variables one by one. I won't try to excuse every example of this, but in physics, explaining each variable and constant is a very good way to approach an understanding of the equation as a whole. > By the time you reach the end, you can't remember what the beginning did, so you have to go back and forth all the time. That's temporary, it only lasts until real familiarity sets in, until the relationships become instinctive. It's like the old joke about prisoners who tell jokes by number.