Live data from Hacker News

“Computer science is not about computers”

quoteinvestigator.com

81–90 of 293 posts

Re: “Computer science is not about computers”

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

This is an interesting view that captures a substantial portion of computer science including also programs and proofs with a short and clear criterion.

However, a key drawback of this view is that it undersells the linguistic aspect of computer science which is manifested in the search for suitable programming languages.

I think it is justified to regard the design of programming languages as a core area of computer science, and that design space is not finite.

Re: “Computer science is not about computers”

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

Yes. Indeed in much of the world outside the USA there isn't even such a label as "computer science"; the stuff that's taught as "computer science" in the USA is taught under some sort of "math" label.

Re: “Computer science is not about computers”

#83

Earlier quoted context omitted.

I suppose if we call it computer science, then perhaps all the other forms of science should really be called "reverse engineering" (especially biology.)

Biology is consistent with science in the sense that there exists people called scientists in biology that do experiments utilizing the scientific method. In math everything is purely theoretical conjecture. No hypothesizes, no testing, no observation, just derivations of theorems from axioms. Same with "Computer Science" it's all logic games. That's why mathematicians are not known as scientists. For computing, I be…

> Same with "Computer Science" it's all logic games.

Unlike math, it's domain related applications though. What are databases, codecs, regexes or neural nets - abstractions or concrete tools for specific uses? It's not all platonic.

Re: “Computer science is not about computers”

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

Yes. Indeed in much of the world outside the USA there isn't even such a label as "computer science"; the stuff that's taught as "computer science" in the USA is taught under some sort of "math" label.

I studied it under the name of "Informatik" (Germany), which seems to be the most commonly used word in Europe.

The Wikipedia article for "Computer Science" has relevant information, quote (some line breaks added):

  In the early days of computing, a number of terms for the practitioners of the field of computing were suggested in the Communications of the ACM—turingineer, turologist, flow-charts-man, applied meta-mathematician, and applied epistemologist. Three months later in the same journal, comptologist was suggested, followed next year by hypologist. The term computics has also been suggested.

  In Europe, terms derived from contracted translations of the expression "automatic information" (e.g. "informazione automatica" in Italian) or "information and mathematics" are often used, e.g. informatique (French), Informatik (German), informatica (Italian, Dutch), informática (Spanish, Portuguese), informatika (Slavic languages and Hungarian) or pliroforiki (πληροφορική, which means informatics) in Greek.

  Similar words have also been adopted in the UK (as in the School of Informatics of the University of Edinburgh). "In the U.S., however, informatics is linked with applied computing, or computing in the context of another domain."
https://en.wikipedia.org/wiki/Computer_science

Re: “Computer science is not about computers”

#86

For my entire time as an undergraduate, the large top-ten research university I attended offered no courses in programming language theory, nor were these topics woven into the computing curriculum at large. (actually, there may have been a handful of graduate courses, but undergrads were strictly prohibited from joining -- there was a mandatory theory of computation class required for all CS majors, but the topics v…

What are the best ways to fill in those gaps? I bet many of us never enjoyed those classes in school, or even had a traditional computing education.

I suggest a combination of theory (videos/books/papers) and practice.

For practice; I highly recommend learning Haskell. If you are new to functional programming then learning Haskell is challenging and frustrating but as with any new topic the key is to not give up but keep probing. A good recent development is lot of mainstream languages are beginning to include functional paradigms such as lambda, closures etc., For example Java introduced lambda expressions, Javascript has had them for a while now. But from a first-principles stand point Haskell is as good as it gets so please do learn and code in Haskell if not at work then at least side projects.

For theory I've found following material super useful.

0. This[0] is an incredibly awesome lecture where Phil Wadler takes us on a whirlwind tour of computer science. He talks us through different foundational structures on which almost everything (hardware and software) about computer science is built. I watch this lecture once every few months :-). It helps you build up context and ground various topics.

1. The one and only SICP. Book[1] and lectures[2].

2. Automata theory[3]. This isn't an easy course but gets to the heart of the matter i.e., the meaning of "function" and what how can it be mechanically "computed".

3. Category Theory is where lot of active research is happening in CS theory. This is a very good lecture series[4]. The pace may seem a bit meandering but don't be put off. Bartosz is a gifted teacher and works incredibly hard to disseminate knowledge. For evidence just look at a recent post on HN[5] about an article he published.

[0] https://www.youtube.com/watch?v=aeRVdYN6fE8

[1] https://mitpress.mit.edu/sites/default/files/sicp/full-text/...

[2] https://www.youtube.com/watch?v=-J_xL4IGhJA&list=PLE18841CAB...

[3] http://ce.sharif.edu/courses/94-95/1/ce414-2/resources/root/...

[4] https://www.youtube.com/watch?v=I8LbkfSSR58&list=PLbgaMIhjbm...

[5] https://news.ycombinator.com/item?id=26991300

Re: “Computer science is not about computers”

#87
post #29

In Europe, "Computer Science" is translated with a word that is a mix of "information" and "mathematics". University course names are: > [...] informatique (French), Informatik (German), informatica (Italian, Dutch), informática (Spanish, Portuguese), informatika (Slavic languages and Hungarian) or pliroforiki (πληροφορική, which means informatics) in Greek. Similar words have also been adopted in the UK (as in the S…

Wait a moment, the casual etimology of that word suggests (at least in spanish) a profession or a science, not "the sum of math and information" per se. That same suffix, -atica, is also applied in "the mathematic" as the person (-atic) and "The Mathematics" as the science (el Matemático, las Matemáticas). So lets say that you are a guy from two centuries ago. Someone tells you "this guy has studied informatics, he i…

Hmm, where are you from? I'm from norther Spain and those nouns don't suggest anything related to science for me. "El matemático" may be, but just because we associate it with a theoretical field, "Informático" is a practitioner of "Informática", as "Químico" is from "Química".

Re: “Computer science is not about computers”

#88

I find this article to be inspiring. I’m envious of those who have had the opportunity to study computer science and earn a recognised degree for that investment. I’m self educated and continuously study computer science. It is the one specific subject that I long to study full-time around similar thinking individuals. I’m fortunate to have had a successful career as a software engineer, but that’s just not enough fo…

I don't think you need to be envious. The degree isn't important as the learning and doing science is rewarding in and of itself, even on your own. You're already applying your mind.

Re: “Computer science is not about computers”

#89
post #81
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…

This is an interesting view that captures a substantial portion of computer science including also programs and proofs with a short and clear criterion. However, a key drawback of this view is that it undersells the linguistic aspect of computer science which is manifested in the search for suitable programming languages . I think it is justified to regard the design of programming languages as a core area of compute…

Programming languages are not full linguistics, at least not yet. We focus primarily on syntax, semantics and pragmatics. All of this, though, is firmly rooted in mathematics, defining grammar as expressions and mathematical relationships. This then enables formal mathematical proofs where we can reason about outcome. I don't know if there exists such search that you mention, or it is more of an optimization of language features to problem space. Perhaps in a future where we're able to program our machines by having a conversation with them...

Re: “Computer science is not about computers”

#90

Earlier quoted context omitted.

What are the best ways to fill in those gaps? I bet many of us never enjoyed those classes in school, or even had a traditional computing education.

For me learning Haskell has been a great way to expose myself to things that were previously "unknown unknowns". I do a mix of coding, for intuition, and reading papers, for theoretical context. The papers written by SPJ et al in the 1990-2000s give a remarkably clear history of how certain functional programming concepts jumped the gap from CS theory to practical implementation in Haskell. Just as assembly gives as…

Seeing SPJ refreshed very fond memories for me :-).

I accidentally stumbled onto Haskell in my masters course. On the first day at university I attended a trial class of functional programming[1] course and instantly liked the way professor taught. However, I didn't take the course then and forgot all about it. The next semester I took compilers course and approached that professor for my masters thesis. During a meeting he gave me couple of options one of which was in functional programming domain. This time I took the plunge and went all in. Took the FP course and the professor who taught FP became my thesis advisor. The next two years were the most intense and intellectually satisfying years of my life. Not only did I learn Haskell but also built a compiler for it. I still get goosebumps remembering the rollercoaster ride I had in those two years.

During all that, the book by SPJ [2] became my constant companion. The book was actually out of print but my advisor had a book that was signed by SPJ himself :-). And I promptly photocopied it so I have it with me even to this day.

Suffice to say Haskell, lambda calculus along with SPJ and my advisor have had a lasting (and continue to) influence my life.

[1] https://www.cse.iitb.ac.in/~as/fpcourse/fpcourse.html

[2] https://www.microsoft.com/en-us/research/wp-content/uploads/...

Post reply on HN