Live data from Hacker News

“Computer science is not about computers”

quoteinvestigator.com

281–290 of 293 posts

Re: “Computer science is not about computers”

#281
post #109

Earlier quoted context omitted.

Why would you think that? 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’m sure one can prove everything proved for Turing machines for lambda calculus, but I disagree with your statement that it is more mathematically grounded. It may be true in a syntactic form, but definitely not in a mat…

Turing machines are terribly inefficient, though. They may be easier to reason about than lambda calculus, but not good for practical computing purposes. Their value was in proving that logical and mathematical reasoning could be mechanized with an automatic device, something that had not been clear until then. Computing science cares a lot about building efficient processes. Thus to create real working programs, a b…

> They may be easier to reason about than lambda calculus

That was a claim someone made, but it turned out to be a misunderstanding, and is incorrect.

I've covered this here: https://news.ycombinator.com/item?id=27338055 (see the parent comment for quotes from Godel & Church that I'm referring to.)

Re: “Computer science is not about computers”

#282
post #152

Earlier quoted context omitted.

Turing machines are terribly inefficient, though. They may be easier to reason about than lambda calculus, but not good for practical computing purposes. Their value was in proving that logical and mathematical reasoning could be mechanized with an automatic device, something that had not been clear until then. Computing science cares a lot about building efficient processes. Thus to create real working programs, a b…

Efficiency is not important at all when you talk about a mathematical proof. Do we really care about a proof using induction taking n or n^2 operations? For seeing whether a given statement holds true, minimizing complexity is the most important.

> Efficiency is not important at all when you talk about a mathematical proof. Do we really care about a proof using induction taking n or n^2 operations?

Efficiency and tractability of representation is also an issue, though, and mathematicians (and programmers) do care about that, a great deal. That's why the lambda calculus has been used as the basis for proof assistants such as Coq, whereas Turing machines have not.

Re: “Computer science is not about computers”

#283

Earlier quoted context omitted.

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…

I think you've demonstrated far more familiarity with the subject matter than me (and my own understanding is admittedly pretty basic), and just wanted to say I really appreciate your thoughtful response. You're right that those quotes don't really fit for what you were asking for evidence of.

I also agree that the absence of such a refutation is a pretty solid argument that your position is simply a fact and not an opinion as I argued.

Cheers friend!

Re: “Computer science is not about computers”

#284
post #267
post #262

Earlier quoted context omitted.

I agree (as somebody else pointed out) these are more about software engineering (and I don't see a contradiction in being both, many people we consider physicists today were also engineers in their time). Although I will point out, there is https://en.wikipedia.org/wiki/Structured_program_theorem which is a mathematical statement. Whether to actually follow that result when building software is a matter of engineeri…

Let's see. Dijkstra introduced the A* graph search algorithm. Knuth wrote THE classic algorithms book. Peter Naur is best known for his work on parsing (he is the N in BNF notation). Even if you try to draw a distinction between computer science and software engineering, most of the people writing those papers were pretty squarely on the computer science side. But I don't draw that distinction. ALL of them were tenur…

Your claim (as you explain elsewhere) seems to be that because discipline of software engineering exists and is related to computer science (and there is a fuzzy boundary between the two), we cannot think of computer science as a subfield of mathematics.

I honestly don't see how that follows. Does the fact that writing LAPACK required software engineering mean that numerical linear algebra is not a part of mathematics?

My basis for grouping them together is because of the subjects under study and research methods used. You can always claim that two different fields are different, but I think making arguments for some relationship is more useful.

Re: “Computer science is not about computers”

#285
post #269

Earlier quoted context omitted.

Now that you've said it, I realized that's how we say it in portuguese (computing science not computer science).

Would you please provide the native Portuguese words? Like others, I'm interested to know what they are.

Ciência da computação = "science of+the computing" = computing science

Re: “Computer science is not about computers”

#286

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 educat…

If you look at projects, development overwhelmingly consists of websites, mobile applications and backend systems. And backend systems overwhelmingly REST APIs or some message consumers that just translate the call to couple database calls to translate the response back to the client.

Even if you go somewhere like Google you will find most of their systems are just REST APIs as described above.

Now, there obviously is a lot of interesting projects for you compiler or OS lovers. But there is so much choice you don't have to be ready to work on them. I mean, I don't need to learn robotics just because 0.2% (entirely made up number) of projects on job market are about writing software to control robots.

So, to sum up:

-- if you are in it for money, don't waste time on studying CS, just learn basic programming and hop on any project.

-- learn on your employers time. How fun it is being paid and learning?

-- you don't need to get every job. You only need to get one (every three years...)

-- most projects are boring from the point of view of programming techniques you are going to be using. Learn to find fun somewhere else.

-- if you want fun projects you can always learn what you need on your own (on your or your employers time). You aren't going to be good developer if you don't spend considerable amount of time learning for the rest of your life, anyway. Just get used to spending time learning new stuff every day.

Re: “Computer science is not about computers”

#287

Earlier quoted context omitted.

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…

> 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.

This is what I primarily meant with my controversial statement, sorry I didn’t articulate it well enough. Of course lambda calculus is very useful and has plenty of applications, never meant to say otherwise!

Re: “Computer science is not about computers”

#288

Earlier quoted context omitted.

Well, computing science studies programming paradigms; so defining them and analyzing what makes them suitable for what purposes is pretty much within its scope. As I said above, it may very well be that the best usage for Turing machines is using them in mathematical proofs; where the efficiency of the computation is not a concern.

Really the best usage of all the computation models we're discussing here is using them in mathematical reasoning. If you're looking to "create real working programs," then a better basis is probably going to be some combination of actual industry-grade programming languages and actual CPU architectures. This response might come off as a little facetious, but seriously, I think the idea of "founding" industrial compu…

Certainly practical programming languages are not a one-to-one implementation of a theoretical model, but these models do create families of related languages that keep a close relationship and are separated from languages based on a different model.

Each time a new theoretical model is created to represent a particular programming problem, entirely new languages are created to ease the practical approaches of building systems for the underlying problem.

And it is worth keeping track of which models are good for which problems. So no, theoretical models are not good just for doing math with them, also for guiding practical usage.

Re: “Computer science is not about computers”

#289
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…

I think it really depends what part of math and what part of computer science you're talking about. Certainly foundations of computation use finite objects from countable sets... But there is more to CS than turing machines and encodings of numbers.

For example: Computer vision, machine learning, data science, cryptography, etc are all rife with infinite objects! Proof assistant software and SMT solvers can also prove things about infinite mathematical structures from number theory, ZFC, topology, etc.

Pure mathematics also cares about finite algorithms. Every proof is a finite sequence of deductions on finite objects from a countable set... eg a computer program! Other examples include: computing bounds, integrals, roots of polynomials, divisors, bases, fundamental groups, etc. Pure math is full of computation!

tl;dr the line between math and cs is extremely fuzzy.

Re: “Computer science is not about computers”

#290
post #213

I've come to believe that ideas/statements such as these are crucial, but neither true nor false. They're a perspective lens. Ideally, we should be able to slip in and out of such perspective lenses. A contradictory statement could be equally true/useful, even (especially?) if held simultaneously. Avoiding computer science directly... Geophysics is a "telescope science." A typical geophysicist sees themselves as expe…

The reverse statement would probably be something like "The core pursuit of computer science is how to best design and harness computers" . Which is a reasonably accurate description of many areas within CS including machine learning, distributed systems, programming languages, and computer architecture.

>The core pursuit of computer science is how to best design and harness computers"

This is why I've been quite happy with the Information Science major. I joke that it's "watered down compsi", as it avoids higher level topics like OS design and anything beyond the introductory Data Structures. Instead, the major uses that time to introduce psychology, sociology, and user experience/interface design. As a professional, I've found that focus on "how we interact and best use technology" to be useful.

Post reply on HN