Actually that seems completely correct, knowledge in those two areas seems quite crucial for doing any serious work. |
Huh. Really?
Any serious work? So any development work that doesn't involve either of those subjects (e.g. writing a compiler) is not serious? Interesting definition.
To claim that geography is useless seems silly. I don't use a lathe, but I wouldn't say that the lathe is a useless machine. |
OP clarified that the particular meaning of "useless" in this case is subjective. I interpreted this meaning from the start.
Yes, the lathe is a useful machine, but I would not buy a lathe for any price because I have no use for it. Likewise, I can't use "work" to justify spending any amount of time learning, say, archeology because I know that the probability that I will ever use it is too small to justify the expense. We just don't have time to learn everything that could conceivable be useful in some situation. Our lives are finite.
But if some google maps competitor, oil research startup, international tourism website, or smart missile military contractor poaches me tomorrow, it might become relevant to the job.
Every business in the world needs programmers, and even though everyone says business knowledge not required, it helps a great deal. |
The conceivable applications for computer programs are endless. How much breadth and depth of general knowledge should a course impart before it stops being practical?
For example, I wouldn't want to work with a programmer who doesn't know the continents, in which continent are most (at least, large) countries located, what is a time zone. Yes, these qualify in my book as "geography". |
These are things that everyone, not just programmers, should know. Therefore they belong in primary/elementary school, which is, I imagine, where most of us have studied these already. I don't think they belong in, say, a CS undergraduate course. Perhaps a more in-depth look at time representation and algorithms would be useful, though.
Yes, these are important - for example, what if you get a web hit from china? From North Korea?
The importance of time zones - well, that goes without saying. I think time zones are officially part of geography are they not? |
Kind of. Yes, what time zones are is simply general knowledge, but their exact boundaries and DST information is pointless as a subject of study. It's data that belongs in a table.
What about daylight savings time - important or not if you are running a web site? |
Figuring out DST is one of those things that most programmers should not attempt, simply because it's too easy to screw up. Unless you're implementing a time library, you only need to be aware that it exists.
Incidentally, DST was never even mentioned in any class I've ever had. ART has only used DST sporadically. It causes too many problems because ART is at UTC-3, which in Buenos Aires it already makes astronomical noon take place at around 12:50. DST pushes it to 13:50. Using DST makes the time in the western provinces off by over two hours relative to astronomical time, so another time zone has to be added for those provinces.
DST in general should be abolished everywhere, really.
For accounting: adding your revenue and subtracting your expenses IS accounting. Probably not studied in university, but still (a)counts. I won't go into details why that's important to me, or why I wouldn't want to work with people who have no basic sense of it. |
I assure you: if you ask any programmer who has never studied accounting to figure out some way to programmatically keep track of money, the result will be
nothing like what accountants do. Accounting software is 90% how you display the data to and take input from the (accountant) user and 10% actual logic.
If programming was like accounting, a C++ Hello World would look like this:
1 2 3 4 5
|
/* 10 */ #include <iostream>
/* 20 */
/* 30 */ int main(){
/* 40 */ std::cout << "Hello, World!\n";
/* 50 */ }
|
because that's what we did in BASIC 30 years ago and we're scared of what might happen if we stop doing it.