Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The more I think about this comment, the more I feel it is missing the point. They do expound a fair bit on the term “law” but even admit both that the title is a bit flippant (and not the one they originally wanted to go with) and that their formulation of the concept is not yet meeting criteria necessary to consider it a “law,” only that they believe there probably is an underlying law.

Like many have said in the past, computer science is not really “science” or even engineering. And if that’s true, then software architecture really isn’t science. It’s closer to a soft science if anything. There may not really be a meaningful definition of “law” and that degree of rigor may not be very easy to accomplish. After all, there’s hardly anything objective about it.

However, that doesn’t mean that observations about it are not interesting. I certainly think Conway’s law is interesting despite that it may not meet the criteria to be called a “law” in a harder science.



I agree with you general about the point of the article and the validity of Conway's Law, but I have a quibble:

> Like many have said in the past, computer science is not really “science” or even engineering.

Computer Science is absolutely science, as much as physics is. Science is the ability to make precise predictive models of the world using math. Computer Science provides plenty of those. For example, by knowing the binary search algorithm we know that the time it takes to do a git-bisect is bounded by the log of the number of commits in a repo. We can also know what kinds of encryption keys could be discovered through brute force guessing given presently available hardware. We can precisely describe the kinds of coordination problems that can afflict concurrent processes (not just in computers) and the kind of mechanisms that can be used to avoid those problems. All of these add knowledge to the world of the same type as the laws of magnetism or gravitation.

Computer Science is the science of process. Software engineering is the application of that science to messy human problems, and is no less an engineering discipline than any other. Like other engineering disciplines there will always be room for heuristics and human judgment. Conway's Law absolutely falls into that.

The precision of any engineering discipline will always be limited by the precision of the softer sciences, as the phenomenon they describe are an ineradicable aspect of the engineering process.


Outside of the U.S.A. (notably in the U.K.) the computer science department is known as the informatics department. This makes the larger claim that the field's interest is information theory. Consider the information theoretic guarantees of total order broadcast and it's equivalence to consensus. Consider also the relationships between automata and languages, computational complexity theory, the relational calculus. Many proofs of correctness have been made over many matters in the field and these are expected to remain as true as the laws of physics.


This is kind of getting into weird semantics.

For what it’s worth I hold a BSc from a large, reputable UK university in computer science, not informatics, so it’s not as universal as you suggest.

I do also hold an undergraduate degree from a French university in informatique, a contraction of “information automatique”. Both words are equally important in the name of that discipline, and the “automatique” part is very much about process.

But we are debating the map here, not the territory.


Thank you for the correction, I should have used softer language. My sample size is small but my edit link is gone. To clarify my meaning, I don't mean to contradict process being core to the field but rather that process is within what I consider a more broad scope for the theory of information. While we could talk about the process involved in proving the equivalence of an automata to a language it feels like a stretch to call the fact of their equivalence a part of the study of process itself.

If you're game, I'm curious what seems weird about the semantics?

Not just the map but the terms written on it. :D


You're absolutely right about information being a key part of computer science. I don't really know how to articulate the relationship between "process" and "information" but it makes sense to me to group them together, and I do like the name "informatics" to describe the science.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: