Live data from Hacker News

“Computer science is not about computers”

quoteinvestigator.com

271–280 of 293 posts

Re: “Computer science is not about computers”

#271

Earlier quoted context omitted.

> I believe I’ve read that even Church himself said that Turing machines are a more elegant basis for computations, since they are much easier to mathematically reason about. I'd be interested in a source for this. Lambda calculi are used as the basis for several functional programming languages, which seems to argue against the idea that they're less easy to reason about. They're also used as the basis for proof ass…

According to this: https://plato.stanford.edu/entries/church-turing/ "In his review of Turing’s work, Church himself acknowledged the superiority of Turing’s analysis of effectiveness, saying: computability by a Turing machine … has the advantage of making the identification with effectiveness in the ordinary (not explicitly defined) sense evident immediately. (Church 1937a: 43)" Moreover, Gödel himself (as well as o…

Thanks for the reference.

However, those quotes are not saying "that Turing machines are a more elegant basis for computations, since they are much easier to mathematically reason about." I still consider that statement to be false, and I've substantiated that in my comments.

The quotes from Church and Gödel are saying that Turing's formalism was the more helpful in making the case that it had captured the notion of effective calculability. That's understandable - it's much like e.g. Cantor's diagonal, in that it makes its subject very concrete.

But that doesn't tell us anything about the usability of the formalism as an actual mechanism for computation, or analysis of computation. In that respect, lambda calculus has proved far more useful, as shown by the examples I mentioned, and many more. Another example is denotational semantics, which maps programming language semantics to lambda calculus.

In fact, one of the inventors of denotational semantics, Dana Scott, developed the first non-trivial model of the lambda calculus, in terms of complete lattices. That model addressed the concreteness issue, albeit decades later, in the early 1970s. It's possible Gödel, Church etc. might still have preferred the Turing tape as an intuition-friendly proof for effective calculability, but it would no longer be possible to reasonably make Gödel's "thoroughly unsatisfactory" claim about the lambda calculus.

Coming back to denotational semantics, I'm pretty sure no-one has ever provided a non-trivial language semantics in terms of a Turing machine - and if you wanted to do that, one of the easiest ways to do it would probably be to implement a compiler from lambda calculus to Turing tape, and generate the Turing representation automatically from that.

More generally, my position could be simply refuted with counterexamples of tractable Turing machine solutions to any of the various problems that lambda calculus has been used to address, like programming language implementations, programming language semantics, duals of logical systems, and proof assistants. To my knowledge, no such examples exist, and the reason for that is because what I'm saying is a fact, not an opinion.

> Myself, I find Conway's game of life to be the superior framework over both lambda calculus and Turing's Logical Computing Machine :-P

I'll agree that the game of life is only slightly less useful than the Turing machine as a model of computation!

Re: “Computer science is not about computers”

#272

Earlier quoted context omitted.

> Maybe we should call it Turing Machine Science Nope. Turing machines are arbitrary and rather unmathematical. The lambda calculus is a much better computational formalism, more mathematically grounded and oriented, with far more direct practical applications.

> Turing machines are arbitrary and rather unmathematical. Thus proving the point that a field that studies them cannot be considered a branch of mathematics.

That might be true if there were no more natural mathematical representations of computation. But as I've pointed out in another comment (https://news.ycombinator.com/item?id=27334163), there is such a representation - the lambda calculus.

Re: “Computer science is not about computers”

#273
post #268
post #265

Earlier quoted context omitted.

On what basis do you claim that software engineering is not part of computer science? Those papers were all written by professors of computer science and published in journals of computer science. All were cited many times by other papers written by other professors of computer science in other journals of computer science.

Software engineering is taught as a part of the field that's called computer science, but the original question was about whether the field called computer science is actually a science. I guess the difference in that regard would be that (software) engineering doesn't necessarily follow the formal scientific method of formulating a hypothesis and then testing it experimentally. That would, in some sense, make it dis…

The original question wasn't whether computer science is a science, it was whether computer science is a branch of mathematics.

My position is that computer science is neither a science nor is it a branch of mathematics.

Re: “Computer science is not about computers”

#274
post #214

Earlier quoted context omitted.

> Computer science is a part of math? OK, but so what? Computer science is not a part of math? OK, but so what? Neither conclusion would tell us anything useful. I assumed the implication here is that CS, like math, is considered by many to not be a science, but rather a field of construction based on logic. The obvious problem with calling computer science a science is that it isn’t fundamentally based on measuring…

> it isn’t fundamentally based on measuring empirical evidence of a natural process. What leads you to say this? If computation is in some sense the construction of certain forms of mathematics, is computer science not then the empirical study of computers (the objects which instantiate the math) and computation (the process of instantiation)? Of course there is abstract theory as well, but that's just as true in phy…

I meant natural in the sense of originating from nature, specifically as opposed to something built by people. The fact that digital computation is a synthetic construction of humans is what makes it “unnatural”, that it’s new is just a byproduct humans having invented it recently.

I’d agree there are ways that we can observe computation as a scientist and form hypotheses and perform experiments, especially if, for example, I write a program I don’t fully understand and don’t know how to predict the behavior of, or more maybe much more commonly when I observe software written by other people.

Thinking about the analogy to telescopes, the implication is that computers are an instrument for measuring something. Telescopes measure things about planets and stars, physical things that occur in nature. But what exactly do computers measure if they’re to be considered a measuring device? It’s fun to think of a computer being a physical device that measures pure logic; we can physically observe something that doesn’t occur in nature.

On the other hand, I’m hesitant to not draw some kind of line between CS and the hard sciences like physics, chemistry, biology, because there seem to be real differences between them. (I was going to point out examples, but realized it’s fundamentally tricky to nail down and I’d be setting a trap for myself. ;)) Yes I agree the philosophy of where CS lands, and what CS really is, does land in the same ambiguous camp as mathematics (probably because CS and math both truly are in the same category of abstract logic, not directly tied to physical observations.) Maybe more useful and abstract tools are more difficult to categorize precisely because they are used as part of all the sciences and arts...

Re: “Computer science is not about computers”

#275
Computer science is essentially a management science, and vice versa.

    ---- Lin Pengcheng

         Creator of Computer Science Management School

         Creator of Management Science Computer School
In the field of computer science, I applied technologies such as management principles, warehouse/workshop model, and large-scale industrial standardization assembly lines to the fields of computer software, hardware, and AI, and realized the unification of computer theory.

In the field of management science, my discussion of management principles and warehouse/workshop model is the most scientific, systematic, simple, reliable, clear, and operable.

Whether it is an IT practitioner who takes up a management position, or a manager who becomes an IT industry executive, they can use my theory as a bridge to another kind of science.

The Grand Unified Programming Theory: The Pure Function Pipeline Data Flow with Principle-based Warehouse/Workshop Model

https://github.com/linpengcheng/PurefunctionPipelineDataflow

Re: “Computer science is not about computers”

#276

Computer Science is to software development like theoretical mathematics is to economics. Sure, there are some formulas in economics, but 99.99% of the time you are not going to prove anything mathematically and you are just looking up a formula written by somebody else. On the other hand economics has a huge amount of stuff that is not covered by mathematics at all. It is disheartening to see so many people wasting…

I mean if you're only hiring people to do basic web dev (front or back end) then yeah sure you don't need a CS degree, but for anything complex having a real education in CS/Math/Engineering is definitely required. Someone building a database engine or compiler isn't doing the same thing as someone building a wordpress website or someone who integrates apps into salesforce. The latter don't really require a CS education but the former definitely do. Over time I imagine the split will be made more formal and we will see the "developer" job category split up more granularly.

Re: “Computer science is not about computers”

#277
post #249

Earlier quoted context omitted.

> Just because something can be formally and precisely described doesn't necessarily mean it's > ... (aesthetically) The 'aesthetics' part is an interesting argument I didn't see, and yes, I agree that a particular concept arising in different areas of math is 'aesthetically pleasing'. > ... "mathematical" That's the part I have a problem with, mathematical objects are (more or less) exactly those that can be precise…

> That's the part I have a problem with, mathematical objects are (more or less) exactly those that can be precisely and formally described. "Lambda calculus is a more elegant mathematical object" is not a statement I have a problem with, "Turing machines have a lesser status as mathematical entities", on the other hand, is sort of weird. I agree as well. I don't think Turing machines have any lesser status (it's lit…

> I don't think Turing machines have any lesser status (it's literally equivalent to lambda calculus, after all!)

"Equivalence" has a specific meaning here, though. The term "Turing tarpit" was invented to point out the limits of that equivalence, and any attempts to define computations for Turing machines quickly run into that.

The sense in which I consider Turing machines to be "rather unmathematical" is closely related to this. You can write useful mathematical proofs in lambda calculus - as I've pointed out elsewhere, there are automated proof assistants based on this fact. There's no such equivalent for Turing machines. Theoretically, there could be, due to Turing equivalence, but in practice, no-one wants to exploit that.

Given one formalism that has actively been used for such mathematical purposes, and another that has been actively avoided, I call the latter rather unmathematical by comparison to the former.

People can quibble with my word choice, but it's describing a real, measurable phenomenon, the effects of which have played out predictably over the last 70 years.

Re: “Computer science is not about computers”

#278
post #73

My view is quite unconventional, but I believe, computer science is a branch of mathematics that deals with large but finite structures (so they need an algorithmic description). Compare with most of "legacy" mathematics, which studies countable structures (so the description can use arbitrary series). Of course, there are larger sets, but they mostly serve as a theater (just like countable infinity is just a theater…

It’s the other way around. Infinity can only be defined by using algorithms. Think about Peano numbers for example.

Re: “Computer science is not about computers”

#280

Earlier quoted context omitted.

Whenever this comes up I feel compelled to say that Dijkstra has a huge blind spot with this, that perhaps is more obvious with decades of hindsight. He advocates formal proof for a functional specification of a program to be part and parcel of writing it, and note that what he refers to by formal proof is ambiguous. If he means the informal proofs mathematicians write and publish all day long, these actually include…

There's a lot more in that paper than an argument for formal proofs. In fact, formal proofs are more of an incidental idea than the main point of Dijkstra's argument. For example, he suggests that we need to understand computer science as a "radical novelty" and stop applying inapt analogies that come from thinking about this like a gradual evolution of mechanical things. Inapt mechanical metaphors include software "…

Yes, he advocates that we need to view it as a "radical novelty" and critiques existing methods, but the only better method he puts forth is with formal proofs; it's not incidental, it's the reason for calling existing methods backward and insufficient for managing programs.

> it gives us a clear indication where to locate computing science on the world map of intellectual disciplines: in the direction of formal mathematics and applied logic, but ultimately far beyond where those are now, for computing science is interested in effective use of formal methods and on a much, much larger scale than we have witnessed so far.

I'm not too interested in arguing point-by-point the other arguments for viewing them as a "radical novelty", but even mathematics deal in methods that require maintenance (e.g. calculus -> analysis), and half of it is coming up with the correct definitions (metaphors). Is it all that medieval? (Ironically, the medievalist recognizes that logic made great progress in that era, then took a break in the Renaissance until Frege and friends)

Post reply on HN