I think we can name the science part of computer science "algorithmic science" (or something to the same effect) and the engineering part "computer engineering" and call it a day.
The reasons for not calling Computer Science a science vary mostly based on the background of the beholder. Some object because "we only compute man-made objects", while others argue that "Computer Science is not a science, and has little to do with computers."
A graphic in the article lists these areas and problems:
Area & Problem
Computation
• Unbounded error accumulation on finite machines
• Non-computability of some important problems
• Intractability of thousands of common problems
• Optimal algorithms for some common problems
• Production quality compilers
Communication
• Lossless file compression
• Lossy but high-fidelity audio and video compression
• Error correction codes for high, bursty noise channels
• Secure cryptographic key exchange in open networks
Interaction
• Arbitration problem
• Timing-dependent (race-conditioned) bug problem
• Deadlock problem
• Fast algorithms for predicting throughput and response time
• Internet protocols
• Cryptographic authentication protocols
Recollection
• Locality
• Thrashing
• Search
• Two-level mapping for access to shared objects
Automation
• Simulations of focused cognitive tasks
• Limits on expert systems
• Reverse Turing tests
Design
• Objects and information hiding
• Levels
• Throughput and response time prediction networks of servers
Exactly my thoughts. Reading all the quotes on Gawker, I fail to see how they arrived at the conclusion that PG's implying that one needs to be male in order to be a good programer.
I see a few points being made ("out of context"):
- You want to start programming at 13 to be a hacker.
- 13 year old girls are not interested in programming.
- PG doesn't know how to make programming more attractive to this group.
As far as I can tell these are neutral observations and opinions. Even if his statement is plainly incorrect, simply being wrong doesn't make it offensive.
I think we can name the science part of computer science "algorithmic science" (or something to the same effect) and the engineering part "computer engineering" and call it a day.