[HN Gopher] "Computer science is not about computers"
___________________________________________________________________
"Computer science is not about computers"
Author : akakievich
Score : 245 points
Date : 2021-05-30 03:39 UTC (19 hours ago)
(HTM) web link (quoteinvestigator.com)
(TXT) w3m dump (quoteinvestigator.com)
| soegaard wrote:
| The beginning of this lecture (30 seconds in) by Harold Abelson
| (author of SICP - Structure and Interpretation of Computer
| Programs) explains why Computer Science is a terrible name here.
|
| https://www.youtube.com/watch?v=-J_xL4IGhJA&list=PLE18841CAB...
|
| Not sure about the year.
| [deleted]
| ldjb wrote:
| That lecture (from 2005) is how I first came across this idea
| of computer science not being about computers. It was
| interesting (though not massively surprising) to discover that
| similar arguments have been made for several decades earlier.
| creamytaco wrote:
| That video lecture is from 1986.
| ldjb wrote:
| Thanks, I stand corrected. Part of me did think 2005 would
| have been a bit too recent.
| jll29 wrote:
| At the University of Edinburgh, there isn't a School of Computer
| Science, but a School of Informatics - emphasis on the
| information processing in human and machines.
|
| In contrast, many schools nowadays are moving away from computing
| concepts towards teaching students how to use Microsoft Office,
| which troubles me greatly.
| mxscho wrote:
| 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), informatica (Spanish, Portuguese), informatika
| (Slavic languages and Hungarian) or pliroforiki (plerophorike,
| 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. [1]
|
| [1] https://en.wikipedia.org/wiki/Computer_science#Etymology
| sampo wrote:
| > In Europe, "Computer Science" is translated with a word that
| is a mix of "information" and "mathematics".
|
| I don't think the "ics" in Informatics comes from
| "mathematics". It is more general: Aesthetics, Economics,
| Genetics, Linguistics, Physics, Statistics. It just means "the
| study of".
| TacticalCoder wrote:
| That is true but in french at least "informatique" means both
| "computer science" (for example you can study "informatique" at
| university) and "anything related to computers". "What's your
| line of work?": a DBA, sysadmin, software developer, computer
| scientist, etc. may all answer simply "informatique". A series
| of books for beginners about Excel, Word, Internet, etc. may be
| called "Collection informatique".
|
| Or if, say, you have issues delivering something on time to a
| client (no matter the domain), you can always invoke a "bug
| informatique".
|
| So "informatique" means and is used, at least in french, much,
| much, much more than just "computer science".
|
| In a way it's even worse than in english: at least "science" is
| added to "computer" in english and it's kinda self-explanatory.
| In french everything is in the same basket: from someone doing
| its Ph.D. to someone having a lesson to learn how to use the
| mouse... It's all "informatique".
| stormking wrote:
| In Germany, anything computer-related is subsumed under
| "Informatik".
|
| - Students learning to use MS Office in school? Informatik.
|
| - People fixing printers and replacing your harddrive?
| Informatik.
|
| - System administrators managing a datacenter? Informatik.
|
| - Data scientist applying deep learning techiques?
| Informatik.
|
| - University professor trying to prove P==NP? Informatik.
|
| Honestly, I envy the Americans for their destinction between
| "computer science" (CS) and "information technology" (IT).
| Even if computer science is not really about computers.
| felixfbecker wrote:
| It depends on the context. A university degree in
| Informatik will obviously not be about using MS Office. But
| 7th grade Informatik is. 10th grade Informatik introduced
| programming at my school. A trained job "Fachinformatiker
| fur Systemadministration" will be about sysadmin work.
| stormking wrote:
| To 90% of the population, it's not "obvious" or we would
| not need T-Shirts labeled "I will not fix your computer
| for you".
|
| Even a common programmer does not use any actual
| "computer science" 99% of the time and your typical
| sysadmin type probably never knew any. So it's simply
| wrong and confusing to use the same word for it.
| huachimingo wrote:
| Same applies in spanish (at least were I live)
| gorgoiler wrote:
| These words overlap with IT too much. I'm suspicious that they
| refer to _Computer Science_ specifically, but please prove me
| wrong.
|
| I always find it slightly irritating that my learned peers from
| the _Information Technology_ team -- they who rigorously study
| the practice of managing Jira installations, Windows 10
| upgrades, finite Active Directory domains, and the long term
| effects of CISCO certifications -- have land grabbed the
| English word _Information_.
| jeltz wrote:
| In Swedish it is called "datavetenskap" i.e. "data science".
| ttiurani wrote:
| In Finnish it's "tietojenkasittelytiede" which consists of:
|
| * "tieto": knowledge but also sometimes information or even
| data. Computer is "tietokone", knowledge machine (IMO "tieto"
| one of the worst words in Finnish due to the too broad scope
| which is why we also say "informaatio" and "data" these days)
|
| * "kasittely": processing or handling
|
| * "tiede": science
| huachimingo wrote:
| 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
| Matematico, las Matematicas).
|
| So lets say that you are a guy from two centuries ago. Someone
| tells you "this guy has studied informatics, he is the
| Informatic of the town". That would sound as if he "is versed
| in the study of information" rather than Computing.
|
| Also, in Spain, instead of "the Computer" (the thing that
| computes, calculates), they call it "the Order-ator"
| (Ordenador, the thing that brings order).
| anthk wrote:
| The computer term in Spain came from the French "ordinateur".
|
| Ordenar has two meanings in Spanish:
|
| - To command someone
|
| - To sort
|
| Both are related. In order to sort some set, you need order.
| And rules. Thus, "ordenador" has a lot of sense.
|
| But if I was some guy from the 50's I'd translate computer
| science as "informatica electronica". (Electronic
| Informatics).
| iagovar wrote:
| Hmm, where are you from? I'm from norther Spain and those
| nouns don't suggest anything related to science for me. "El
| matematico" may be, but just because we associate it with a
| theoretical field, "Informatico" is a practitioner of
| "Informatica", as "Quimico" is from "Quimica".
| thrwyexecbrain wrote:
| This wikipedia article is not very accurate. In Hungary
| "informatika" is usually used only for primary/secondary school
| subjects covering every-day IT tasks like document editing,
| typing, or sending email. The most commonly used names for CS
| courses are "szamitaselmelet" or "szamitastudomany" which
| translate as "theory of computing" and "science of computing".
| kaba0 wrote:
| I would add that what is basically Computer Science
| curriculum is called "Programtervezo Informatika" (roughly
| software engineering/modeling informatics~=compsci) while
| what is generally the same as Computer Science Engineering is
| called "Mernokinformatika" (roughly engineering informatics).
|
| But you are right that as a job description, "informatikus"
| is a more basic position than "programozo"=developer/software
| engineer, etc.
| lioeters wrote:
| In Japanese, "computer science" is directly translated as Ji
| Suan Ji Ke Xue , which basically means "calculator science" -
| but the phrase is unusual, very rarely used.
|
| Instead, more commonly seen are Qing Bao Gong Xue
| ("information engineering") or Qing Bao Ke Xue ("information
| science") - which is equivalent in meaning to "informatics".
| lifthrasiir wrote:
| There are at least four more-or-less equivalent Korean terms
| in common use. "keompyuteo gwahag" (lit. computer science)
| and "keompyuteo gonghag" (lit. computer engineering) is the
| most popular and frequently seen in universities.
| "jeonsanhag" (lit. [electronic] computing science) is less
| common but preferred by several prominent universities [1].
| "jeongbogwahag" (lit. information science) is substantially
| unpopular than both but can be seen for example in several
| academic institutes like hangugjeongbogwahaghoe (the Korean
| Institute of Information Scientists and Engineers).
|
| [1] There was even a significant attempt in 2000 to change
| the name of KAIST [2] CS department from "jeonsanhag" to
| "keompyuteo gwahag" or similar. The attempt was unsuccessful
| and to this day its name remains "jeonsanhag(bu)". Prof.
| Kwanggeun Yi has written a public letter [3] against the
| change.
|
| [2] https://www.kaist.ac.kr/en/
|
| [3] http://ropas.snu.ac.kr/~kwang/memo/name.html
| pmontra wrote:
| The original name of the university course in Italy was Scienze
| dell'Informazione, Information Sciences. I remember that my
| relatives were surprised and they were asking me if I was
| really about to study journalism (news "informano" / inform
| people in Italian.) I had to explain that it was about
| computers. Informatics, not journalism.
| cable2600 wrote:
| It used to be called Data Processing. I guess that confused
| people? Information Services was used for people who didn't
| know what data was. Before the GUI it was a lot harder.
| oaiey wrote:
| ... and nevertheless it takes a lot of time to realize that it
| is not about computers.
|
| But I agree, the European phrases are more honest to the
| content.
| visarga wrote:
| In Romania the top higher education institution in CS is called
| "Automatics" emphasizing the applications.
| anthk wrote:
| In my country that would be related to "automatismos". Thus,
| industrial automatization, control engineering, automatic
| theorem demonstrations and so on. Self regulated machines.
| anticristi wrote:
| We settled this debate at our department by calling ourselves the
| _computing_ science department. This makes it clear that we are
| at the interface between the mathematics that algorithmically
| computes various things, but that these computations need to
| eventually end up on a machine that can be engineered today or in
| the future - a computer.
| tarkin2 wrote:
| I used to say Computer Science is not about computing, nor is it
| about science. But Nand2Tetris changed that slightly.
|
| When you realise the fundamentals are loops, data, comparisons,
| addition, negative numbers and instructions of those then
| computer science is building logical structures based on said
| computational primitives.
| dancemethis wrote:
| Wow, what a _MASSIVE_ missed opportunity to quote the best
| variation of this idea by far, done by Hal Abelson in the
| legendary "6001-Introduction to Computer Science" class on MIT
| in the 80s.
|
| You can check it here:
| https://www.youtube.com/watch?v=2Op3QLzMgSY
|
| Abelson in the first minute crosses both computer AND science,
| and references the also legendary SICP with "computer so-called
| science actually has a lot in common with magic".
|
| Honestly, this alone already made the article that empty.
| vzaliva wrote:
| "the difference between mathematicians and computer scientists is
| that mathematicians love math and computer scientists hate
| computers"
|
| https://mobile.twitter.com/sydgibs/status/138740846208320307...
|
| (not true in general but still insightful)
| [deleted]
| albertTJames wrote:
| tldr: There is no other science which is based on the study of a
| tool. A computer is a tool and so cannot be the main subject of a
| sciencific field. Hence Computer Science is a bad name.
| stakkur wrote:
| Computing Science? Algorithmology?
| trixie_ wrote:
| What should it be called then? I saw suggestions for computing
| science, but applications often don't 'compute' anything rather
| make API calls. Data science doesn't seem to fit.
|
| The best I can come up with is 'instruction science' the study of
| how to structure, execute and store sequences of instructions.
| The computer is a tool to do it faster, but you can also use pen
| and paper, it would just take longer.
| jltsiren wrote:
| I kind of like the Finnish term "tietojenkasittelytiede" ("data
| processing science") and its older form "tietojenkasittelyoppi"
| ("data processing theory").
|
| It combines the focus on the process in computer science /
| computing with the focus on the data in datalogy / informatics.
| It tells that the process is what we are really interested in.
| At the same time, it admits that the data and the results are
| what ultimately matters and that computation is just an
| irrelevant side effect we would like to avoid.
| dragontamer wrote:
| Computer science is the mathematics behind counting.
|
| You count the number of "swap" operations in insertion sort,
| quicksort, or merge sort. You count the number of "memory"
| operations. You count the number of bytes used.
|
| When precise counts are difficult, you learn big-O notation to
| estimate how counts change as variable grow. Etc. etc. etc.
| Twisol wrote:
| I would consider what you described to be "algorithms" (or
| "complexity theory"), a particular sub-area of computer
| science. There are quite a few other areas of CS.
|
| The ACM organizes a number of SIGs (Special Interest Groups),
| each with their own (often several) conferences [1]. Some of
| the more well-known SIGs include SIGPLAN (Programming
| Languages), SIGGRAPH (Computer Graphics), and SIGLOG (Logic and
| Computation). What you described probably falls best under
| SIGACT (Algorithms and Computation Theory).
|
| > the mathematics behind counting.
|
| Traditionally, this is combinatorics, not any particular part
| of computer science. Complexity theory concerns itself with
| specifically counting the amount of resources used by a formal
| process.
|
| [1] https://www.acm.org/special-interest-groups/alphabetical-
| lis...
| arithma wrote:
| Computer science is much more like Mathematics than Physics. It
| feels wrong calling "computer science" a science, in the same
| sense of calling "Mathematics" science.
| WoodenChair wrote:
| pg has a good essay partially around this topic called "Hackers
| and Painters." That essay also lends its name to his book of
| essays. To quote
|
| > I've never liked the term "computer science." The main reason I
| don't like it is that there's no such thing. Computer science is
| a grab bag of tenuously related areas thrown together by an
| accident of history, like Yugoslavia. At one end you have people
| who are really mathematicians, but call what they're doing
| computer science so they can get DARPA grants. In the middle you
| have people working on something like the natural history of
| computers-- studying the behavior of algorithms for routing data
| through networks, for example. And then at the other extreme you
| have the hackers, who are trying to write interesting software,
| and for whom computers are just a medium of expression, as
| concrete is for architects or paint for painters. It's as if
| mathematicians, physicists, and architects all had to be in the
| same department.
|
| http://www.paulgraham.com/hp.html
| uwagar wrote:
| this is a conspiracy to move us away from hands-on interactive
| realtime seat of the pants programming to some respectable top-
| down, waterfall model or pencil and paper math shit.
| dalbasal wrote:
| 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
| experts in seismic interpretation, the tool they use. When the
| subject turns to the actual subject (the earth), they call it
| geology, or rock physics. It's not an idealistic take, or a very
| scientific one, but it's apparently useful to their work.
|
| To take the reductio ad absurdum head on, I don't think it's
| totally useless to think of astronomy or microbiology as
| telescope or microscope sciences. It certainly introduces biases,
| but it might also remove certain biases and lead to new ways of
| phrasing a question. It might lead to new lines of inquiry, and
| is somewhat descriptive of how these fields developed
| historically. Wasn't Astronomy Astrology, before it was telescope
| science?
|
| You could go with an intentionally provocative " _computer
| science is not about mathematics_ " or "not about science."
|
| What if we were to phrase Dijkstra's statement as a question: "
| _Is computer science about computers?_ " It's not a statement you
| can approach with empirical falsification. That doesn't mean it's
| false, or useless. It just means you can't treat it like you
| would F=ma.
| seoaeu wrote:
| 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.
| dalbasal wrote:
| Well stated.
|
| That would be leaning _in_ to the "telescope science"
| analogy.
| domlebo70 wrote:
| I love this take. I guess metaphors carry a similar purpose.
| They help draw analogs and expand an idea
| human wrote:
| English is not my primary language so correct me if I'm wrong.
| But didn't the word "computer" have another meaning before the
| physical computer machine? Otherwise I would agree it should be
| renamed to information science.
| Blikkentrekker wrote:
| A "computer" is something that "computes", morphologically.
|
| But even so, it would better be called "computation science".
|
| It is called "informatica" in Dutch, in any case.
| chiffre wrote:
| It referred to person who does computations by hand and/or
| abacus.
| mongol wrote:
| Maybe "computing science" would be more accurate
| fnrslvr wrote:
| I agree with the sentiment, but I've actually come to consider
| "computer science" to be a great name for our field.
|
| Turing's universal machine is the original dependency inversion
| of our field: instead of specifically studying the programs that
| can be written for any particular hardware device, we largely
| study phenomena that are regarded as computation as defined by
| the Church-Turing thesis, and require that the hardware vendors
| supply suitable universal machines which can instantiate the
| phenomena of our study. Or field _is_ the science of computers --
| every program is a blueprint for a computational device -- but we
| choose to simulate most of our blueprints using universal
| machines, so that we don 't have to send each one off to the
| silicon fab separately.
| bolangi wrote:
| Not about computers but the science of what is possible to do
| using a computer and thus understandably referred to as "computer
| science". It rolls off the tongue easier than "computing science"
| hyperpallium2 wrote:
| Computer Science ~ physicists Computer Engineering ~
| electrical engineers Computer Technician ~ electricians
|
| But CS is used for all three.
| pkrumins wrote:
| I made an illustration from this quote:
| https://comic.browserling.com/93
| axiosgunnar wrote:
| Typical US-centric problems.
|
| Anywhere else CS is called ,,Informatics", meaning the science to
| do with information.
|
| Broad enough to make articles like this unnecessary.
| sahkopoyta wrote:
| Eh, not really. At least in the nordic countries I haven't
| really seen many other translations than "computer science"
| with eg. uni degrees
| [deleted]
| YeGoblynQueenne wrote:
| Note well: the article is about the provenance of the quote, not
| the veracity or not of the sentence.
| laen wrote:
| Here is Harold Abelson discussing the topic in ~1986. His
| introduction to "Computer Science" has stuck with me for years.
| Interesting to see the lineage of the statement, it must have
| stuck with him as it has for me, when he first heard it.
|
| https://youtu.be/-J_xL4IGhJA?list=PLE18841CABEA24090
| the__alchemist wrote:
| As someone who hasn't taken CS classes, I was surprised to learn
| that what I'd assumed was CS is classified as Electrical
| Engineering (Designing processors, ICs etc), and Physics
| (concepts like reversible computing, quantum computing, the works
| of Turing, Feynman, and Shannon.) I still don't have a grasp on
| what characterizes CS.
| bidirectional wrote:
| The works of Turing are absolutely not physics.
| imtringued wrote:
| Why would that be surprising? Processors and ICs contain a lot
| of analog electronics.
| RcouF1uZ4gsC wrote:
| > computer science is not about computers, any more than
| astronomy is about telescopes, or biology about microscopes
|
| That is actually underselling telescopes and microscopes. It was
| telescopes that really gave us modern astronomy. Before we had
| the ability to really observe stars and planets, we were stuck
| with a very simplistic, geocentric view of the universe. The
| telescope was what really opened up venues for us to really
| understand astronomy.
|
| Similarly, before the invention of the microscope, we had a very
| limited understanding of biology. There was no germ theory of
| disease, instead just theories about 4 humors. It was the
| microscope that really opened up venues for us to really
| understand biology. In fact, we even have a branch of the science
| that is basically dedicated to the biology of stuff you see under
| a microscope - microbiology.
|
| With astronomy and biology, the science, such as it was, preceded
| the invention of the tools that were really needed to study it.
| With computer science, people were not capable of doing
| calculations fast enough to really appreciate complexity theory
| and asymptotes. At low N, N^2 and 2^N can look similar (4^2 ==
| 2^4). The computer both became the application for computer
| science, as well as revealed the need for this area of study.
|
| One can almost imagine an analogy, where the stars are invisible
| to the naked eye. Someone invents a telescope, and all of a
| sudden discovers the full wonders of stars. There is a pretty
| good chance that astronomy in that world might be called
| something like "telescope science" since the telescope is so
| intrinsically linked both to the birth of the area of study as
| well as its application.
| lukego wrote:
| My favourite take on "computer science" is from George Forsythe
| who founded Stanford's computer science department in the 1960s.
| He didn't seem to be embarrassed to put the computer into
| computer science.
|
| Excerpt from
| http://i.stanford.edu/pub/cstr/reports/cs/tr/65/26/CS-TR-65-...:
|
| > I consider computer science to be the art and science of
| exploiting automatic digital computers, and of creating the
| technology necessary to understand their use. It deals with such
| related problems as the design of better machines using known
| components, the design and implementation of adequate software
| systems for communication between man and machine, and the design
| and analysis of methods of representing information by abstract
| symbols and of processes for manipulating these symbols. Computer
| science must also concern itself with such theoretical subjects
| supporting this technology as information theory, the logic of
| the finitely constructable, numerical mathematical analysis, and
| the psychology of problem solving. Naturally, these theoretical
| subjects are shared by computer science with such disciplines as
| philosophy, mathematics, and psychology.
| felixfbecker wrote:
| In Germany the equivalent field and degree is called
| "Informatics" (Informatik). I always felt weird about telling
| Americans I studied "computer science" because it sounds so
| dumbed down. It's like how a 6 year old would describe it to
| someone else: "my older brother studies the science with the
| computers!"
| tsss wrote:
| Even though I appreciate the origins of "informatics" I prefer
| "computer science" nowadays because the word is less loaded in
| Germany. I feel like in the US there is more appreciation for
| CS. The word "informatics" has already been taken over and
| devalued by clueless business people like "IT" before it.
| lcuff wrote:
| The place I heard the quote is the opening statement by Hal
| Abelson in the course he co-taught with Gerald Sussman and is now
| part of MIT Open courseware. Not quite sure when it was taught,
| but the text SICP was written in 1985.... He goes on to say also
| the word Geometry derived from metron to measure and Gaia, the
| earth, and that Geometry was developed in Egypt to restore
| boundaries to land after the annual flooding of the Nile. But
| it's really the beginning of our efforts to formulate our
| concepts of space and time.
| xyzelement wrote:
| CS is a way of thinking about how to solve things, with regards
| to efficiency of solution.
|
| Example: my wife likes to put gym shorts and shirts in different
| drawers. To my CS mind that doubles the seek time of a retrieval.
|
| The little bowl by the door is a cache of my most recently used
| stuff.
|
| People who nearly file their papers (eg bills) nearly are
| optimizing for retrieval efficiency - of an operation that is
| actually very rare.
|
| When my wife and I leave the apartment we often take the garbage
| out to the chute. My wife likes to drop off the garbage before
| pressing the button to to call the elevator. To me that's weird
| because calling the elevator is long running IO in a separate
| thread - might as well start it asap.
| siraben wrote:
| > To me that's weird because calling the elevator is long
| running IO in a separate thread - might as well start it asap.
|
| Oh, man. I've felt exactly the same way wrt. a lot of IRL
| scenarios, implicitly optimizing the number of "threads" I can
| do tasks in, for instance:
|
| - starting an automated but lengthy task (e.g. choosing Nixpkgs
| PRs to automatically review) before going out for a period of
| time
|
| - starting the microwave heating food before going to the
| toilet
|
| - pressing the elevator button before tying my shoes (in a
| private elevator scenario)
|
| Distinct from multitasking, which splits your attention, here,
| you can still dedicate attention to a task at hand while
| knowing in the background that a thread is running. These types
| of behaviors may not really do all that much long term, but it
| sure feels nice you optimize IRL scenarios.
| noisy_boy wrote:
| > People who nearly file their papers (eg bills) nearly are
| optimizing for retrieval efficiency - of an operation that is
| actually very rare.
|
| It maybe rare but that fact doesn't capture the probability
| that the importance of retrieval could be disproportionately
| high - when you really need that bill, you definitely want it
| and want it quick.
| xyzelement wrote:
| > when you really need that bill, you definitely want it and
| want it quick.
|
| Seems very unlikely & it's a very improbable event and if it
| does happen, say you have "all your bills for the last 3
| years" jumbled up together it'll take a minute or two to find
| it anyway. Vs filing each one carefully..
| aniijbod wrote:
| The very first thing that Hal Abelson says and puts up on the
| chalkboard in his very first SICP talk (Lecture 1A 6.001
| 'Structure and Interpretation') in 1986 is that "Computer Science
| is not about either science, or computers'.
| https://www.youtube.com/watch?v=2Op3QLzMgSY
| sova wrote:
| Dijkstra, to whom that quote is often attributed, preferred to
| call it "Computing Science" as it is the science of computing.
| brunosdm wrote:
| Now that you've said it, I realized that's how we say it in
| portuguese (computing science not computer science).
| sova wrote:
| Would you please provide the native Portuguese words? Like
| others, I'm interested to know what they are.
| khaledh wrote:
| A better name would be "Computing Science".
| ajdoingnothing wrote:
| Richard Feynman's take on the term Computer Science:
| https://www.youtube.com/watch?v=lL4wg6ZAFIM
| bmitc wrote:
| And calculus has nothing to do with pebbles or counting. So what?
|
| Also, isn't it easiest to think of a computer as an abstract
| concept that could both represent a physical device and the
| abstract computer? Computation needs a computer, whether real or
| abstract.
|
| Lastly, I think science is the more "wrong" word in the name.
| jhgb wrote:
| > And calculus has nothing to do with pebbles or counting. So
| what?
|
| Coincidentally, in my native tongue, we regularly don't use
| "calculus" as a term for mathematical analysis any more than we
| use "computer science" for informatics.
| kaba0 wrote:
| As per Paul Halmos one can't really write a good calculus
| book as taught in US schools, since there is no single
| subject corresponding to calculus. One needs to study series,
| (and other subjects I can't really list now).
|
| I'm not sure which of his books I read it in..
| jhgb wrote:
| I was thoroughly confused when I found out how the US high
| school math curriculum is structured. To this day I can't
| remember what the hell is "precalculus". In my country I
| had separate textbooks on: functions; equations and
| inequalities; sequences and series; planimetry;
| stereometry; goniometry; analytical geometry;
| combinatorics, statistics and probability; complex numbers;
| mathematical analysis. Every time I refresh my knowledge on
| what "precalculus" is I promptly forget it again because it
| doesn't correspond to any of the fields that we were taught
| and that I'm used to think in terms of.
| dools wrote:
| The analogies given are kind of dumb, because astronomers don't
| create their own telescopes. Computer scientists create computers
| and then everyone uses them to do stuff
| dimitrios1 wrote:
| This quote, regardless of its origin, has been used many times in
| the past in similar forms, and in different contexts, and is
| quite useful. Another example: geometry is not about compasses
| and straight edges anymore than computer science is about
| computers.
| phendrenad2 wrote:
| A lot of people think it is. Computers are a deep well and you
| could easily subdivide it quite a bit.
|
| 1. Math-heavy "CS" that studies algorithms.
|
| 2. The study of teams and best practices, maybe "Computer
| Sociology"
|
| 3. The study of tech team and company efficiency, maybe under
| psychology.
|
| 4. Computer Engineering, the study of how to engineer computers
|
| 5. The hypothetical science behind that engineering, the science
| not of algorithms, but of structure and design of computers
| themselves
| TheOtherHobbes wrote:
| This is what CS should be. But academic CS is full of people
| who really wanted to be in the math department but aren't quite
| bright enough to make the cut.
|
| So they cargo cult CS into a sort of weird pure/applied-ish
| math hybrid full of contingent generalisations like Big O and
| debatable abstraction traditions - not least the idea of
| provability, which only applies to conceptually self-contained
| micro-problems and is a much harder sell for big complex
| systems.
|
| The engineering track - including the theory of how to design
| systems so they actually work, are easy to use, and are
| maintainable - is underrepresented.
| scrutinizer80 wrote:
| As I see it, the term "Computer Science" includes all sciences
| that make use of 'computational power'. That includes most
| accurate sciences nowadays.
| FabHK wrote:
| Tangential, but QuoteInvestigator is a great website, and quite
| entertaining. Many famous quotes are not from the people they're
| usually attributed to.
|
| Examples:
|
| "I Have Never Killed Any One, But I Have Read Some Obituary
| Notices with Great Satisfaction" (Darrow, not Twain,
| https://quoteinvestigator.com/2011/05/05/darrow-obituary/)
|
| "When the Facts Change, I Change My Mind. What Do You Do, Sir?"
| (maybe not Keynes,
| https://quoteinvestigator.com/2011/07/22/keynes-change-mind/)
|
| "A Lie Can Travel Halfway Around the World While the Truth Is
| Putting On Its Shoes" (neither Twain nor Churchill,
| https://quoteinvestigator.com/2014/07/13/truth/)
|
| "Everybody is a Genius. But If You Judge a Fish by Its Ability to
| Climb a Tree, It Will Live Its Whole Life Believing that It is
| Stupid" (not Einstein...
| https://quoteinvestigator.com/2013/04/06/fish-climb/)
|
| "I Disapprove of What You Say, But I Will Defend to the Death
| Your Right to Say It" (not Voltaire,
| https://quoteinvestigator.com/2015/06/01/defend-say/)
| thrower123 wrote:
| The quote might be accurate, but most of the people taking
| computer science courses care very much about computers, and
| particularly actual computers as they physically exist.
|
| It'd be nice if there was a better division between the
| blackboard purists and the pointer-slingers, but in most cases
| they have been lumped together, and it produces a subpar
| education for both breeds.
| neonological wrote:
| It's technically not even a science. It's in the realm of logic
| and maths. After all we don't call algebra a science, why does
| computing all of sudden need the word?
|
| So to some it all up: computer science is neither about computers
| nor is it a science.
| userbinator wrote:
| I suppose if we call it computer science, then perhaps all the
| other forms of science should really be called "reverse
| engineering" (especially biology.)
| neonological wrote:
| 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 believe the term "computer science" was likely
| mistakenly coined by someone who didn't know the full extent
| of the word "science."
| redis_mlc wrote:
| > In math everything is purely theoretical conjecture. No
| hypothesizes, no testing, no observation, just derivations
| of theorems from axioms.
|
| Sorry, no. Your statement is quite ignorant of how
| mathematics works, and how mathematicians create new
| theorems and proofs - your description is actually
| backwards.
|
| Proofs often use axioms, but it's rare that somebody starts
| with a list of axioms and extends them to a higher-order
| theorem in a backwards fashion like some Prolog program.
|
| In advanced pure math (ie. analysis), we usually start with
| a novel conceptual diagram (hypothesis) and decide which
| fields and axioms apply, so it's very creative. The
| language of mathematics is used to express original ideas
| that usually spring from imagination.
|
| Some of the scenes in "Good Will Hunting" are pretty
| accurate, including the hallway blackboard, mirror and
| "flaming proof" scenes.
| huachimingo wrote:
| Modern math is more abstract.
|
| Old math, like the one from primary school, was more
| inspired on physical phenomena and interactions with
| previous things.
|
| We need more "clever guesses"(lets see what happens if A is
| B because C) and building up of theories in exercises. But
| that would not be rigourus...
| visarga wrote:
| > 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.
| neonological wrote:
| Domain related applications aren't what's studied by
| "Computer Scientists." You will note that most people who
| do "domain related" applications call them selves
| Software developers, Software engineers, etc. etc.
|
| If someone finds themselves calling themselves "Computer
| scientist" they are indeed usually exclusively studying
| the logic game.
| teleforce wrote:
| This reminds me of Holy Roman Empire, it's neither Holy nor
| Roman nor it's an Empire.
| scollet wrote:
| Defining a thing by what it's not. Now that is a science unto
| itself.
| reifyx wrote:
| There's this old picture from a 1986 MIT lecture: https://mir
| o.medium.com/max/4448/1*-yaqXNO1tUwVkUpyOqTT7Q@2x....
| db48x wrote:
| https://www.youtube.com/watch?v=2Op3QLzMgSY&t=15s
| neonological wrote:
| Good find. My post is voted down, but this authoritative
| source is literally saying the same exact thing.
| adrusi wrote:
| It's true that for some time now "science" has been used almost
| exclusively for disciplines that make use of experimental
| methodologies, but in earlier usage it just meant roughly "the
| process of creating knowledge." The German "Wissenschaft"
| (which is normally how "science" is translated) is closer to
| the older meaning (though I'm not fluent in German, so I'm just
| going off what I've been told).
| neonological wrote:
| But the inconsistency still exists regardless of the
| historical etymology.
|
| Math is not a science. A mathematician is Not a scientist.
| Why is computing a science?
| adrusi wrote:
| Well I'm not sure when the common usage of "science"
| changed, but it's possible that when "computer science" was
| coined in the 1950s [1], the older usage was still at least
| widely understood. Perhaps given the present day importance
| of the discipline that's stuck with an outdated name, we
| can return the the older usage which is IMO better.
|
| [1] https://books.google.com/ngrams/graph?content=computer+
| scien...
| neonological wrote:
| I'm curious how did mathematics miss out on the word
| "science." The meaning of the word "scientist" is
| consistent with how it's not ascribed to a mathematician
| as mathematicians don't do anything related to the
| scientific method.
|
| The thing is you stated that around this time the term
| "science" was more broad and just meant acquiring
| knowledge... how come "science" wasn't applied to
| mathematicians? Technically, according to what you
| stated, the definition was broad enough to apply to
| mathematicians.
| User23 wrote:
| Logic, Ethics, and Aesthetics are the three normative
| sciences. Mathematics falls comfortably within the domain
| of logic, and thus mathematics is a scientific enterprise.
| Computing science is the subset of the subset that deals
| with getting actual computable results.
| neonological wrote:
| Did you just group Logic and aesthetics together into one
| thing?
|
| Beauty and ethics are subjective. Logic is not.
|
| Either way following this definition of "normative
| science" neither logic nor computer science nor math goes
| under it: https://en.wikipedia.org/wiki/Normative_science
|
| The reason is because this definition mentions the notion
| of preferred outcome. Logic and Math and computer science
| do not deal with "preferred outcomes" these fields are
| all just axioms and the consequences resulting from said
| axioms preferred or not.
|
| Pedantry aside, nobody considers a "mathematician" to be
| a "scientist" when using the terms as they are commonly
| used in English. This is a total inconsistency.
| User23 wrote:
| I'm using Peirce's definition of the normative
| sciences[1]. As is not uncommon in English, the same
| words or phrases can denote different concepts and the
| wiki link you shared is a case in point.
|
| [1] https://www.isko.org/cyclo/peirce
| neonological wrote:
| Feels arbitrary. You don't group oil painting with
| mechanical engineering why group Math with Beauty?
|
| This isko organization... if they do indeed follow pierce
| is incredibly strange. Case in point:
| https://www.isko.org/cyclo/peirce1.jpg
|
| Philosophy is under mathematics which is not under logic?
| Philosophy is like literature it is entirely a separate
| category and logic isn't even mentioned in his arbitrary
| grouping.
| adreamingsoul wrote:
| 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 for me. I aspire to apply my
| mind for reasons other then a salary.
| Barrin92 wrote:
| 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.
| mensetmanusman wrote:
| Maybe CS is a branch of information theory...
| gbolcer wrote:
| My favorite description is: Creative problem solving with
| computers for almost any application area.
| nitwit005 wrote:
| You can flip this around though. If the math and theory wasn't
| relevant to real world computers, we wouldn't consider it part of
| computer science. It's just be some abstract mathematics.
| Twisol wrote:
| Yes, but the definition of "computer" in this context is much
| more expansive than the hunks of silicon we're using to
| converse right now. The Turing machine was meant to capture the
| basic set of actions any human could in principle perform, made
| amenable for formal inquiry and algorithmic specification.
|
| In particular, the computer programs we typically develop are
| designed to _automate_ some process that a human would have
| otherwise done. We can study those processes -- and spaces of
| such processes -- independently of the executive agent that
| ultimately performs those processes.
| Maksadbek wrote:
| So what the hell is CS about ?
| TwoBit wrote:
| It's about computing, not about computers.
| evdubs wrote:
| Algorithms and data structures.
| WoodenChair wrote:
| Using computational tools to solve problems.
| throwaway3699 wrote:
| Machine learning
| Apocryphon wrote:
| Boolean algebra
| cookingrobot wrote:
| Algorithms?
| moehm wrote:
| Handling and processing of informations. This includes
| computing and algorithms.
| User23 wrote:
| Is astronomy the science of telescopes?
| Mike345845 wrote:
| Algorithms, Discrete Mathematics, Mathematical Logic, Formal
| Languages, Theory of Computation ...
|
| Basically it's a subset of Mathematics.
| member492 wrote:
| In the Netherlands the broad field of CS is called Information
| Technology.
| [deleted]
| for_i_in_range wrote:
| Computer Science = The Study of Information Processing
| bregma wrote:
| Computer programming is to computer science like accounting is to
| mathematics.
|
| Odd thing is I don't see a bunch of bookkeepers brandishing
| anything.
| benrbray wrote:
| 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 varied wildly between
| semesters and the primary lecturer was notoriously apathetic
| about teaching)
|
| In graduate school, I attended another large top-ten research
| university and again, no courses on programming language theory.
| The reason being all the PL faculty had either recently been
| poached by industry or accepted positions at more prestigious
| universities.
|
| The result was that my entire computing education felt like
| watching shadows on the wall of Plato's cave; I was never exposed
| to fundamental concepts like lambda calculus or to non-standard
| languages like Haskell or Lisp that might have given a different
| perspective on computing.
|
| Only recently in the past 1-2 years have I started to fill in the
| gaps myself, but I can't help but feel cheated. It's pretty crazy
| that the research-level faculty turnover can prevent thousands of
| students from being exposed to such an important aspect of
| computing.
|
| (imagine, for instance, if an entire class of engineers had no
| option to take a course on heat transfer simply because there was
| no research faculty available who specialized in heat transfer
| research)
| iratewizard wrote:
| I personally feel the pain of this when trying to hire someone
| who understands core concepts in PL theory and can help
| maintain a framework. It's also not the sort of thing I can
| teach to my Sr devs on the job in under a year when they've
| never even touched anything like forth or lisp, or even tried
| to write a parser by hand.
| tsss wrote:
| I wish my colleagues would appreciate the beauty of
| abstraction and PL theory as much as you do. It seems they
| actively resist any effort in that direction.
| benrbray wrote:
| I feel an analogous pain on the flip side of interviewing! I
| would kill for a job that lets me exercise some of these
| skills, rather than the brain rot of a typical software job
| which doesn't demand that one thinks too deeply about things.
| ollran wrote:
| I think the only way to do this might be founding your own
| company and building your own product in Forth and Lisp.
| Aeolun wrote:
| React re-rendering logic requires one to think plenty deep.
| benrbray wrote:
| Of course, there's interesting work to be done at all
| levels of the stack. However, not every company will
| allocate time for solving frequently-encountered problems
| with creative solutions. Often, it's "ok, what's the
| minimum amount of time we can spend to fix this problem
| *right now*?", rather than "how can we make sure we don't
| have to re-solve this problem again ten more times in the
| future?"
|
| Not me, but a friend described a whole team of engineers
| at his company hired to put out the fires caused by using
| database software that is a poor fit for the application,
| rather than biting the bullet and either 1) performing a
| migration or 2) rolling their own solution.
| divbzero wrote:
| 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.
| benrbray wrote:
| 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 close to a "bare metal" view of
| hardware as many of us will ever come, languages like Haskell
| and Lisp give a "bare metal" view of CS theory.
| vishnugupta wrote:
| 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/...
| utkarsh181 wrote:
| Thanks! this looks really good. The fact that you did
| your programming class in IIT Bombay further motivates to
| work hard for my "dreams".
| swebs wrote:
| You could find a MOOC (Massive open online course) for pretty
| much any programming language you want. Here's a pretty good
| one for Haskell.
|
| https://haskell.mooc.fi
| sum1datduznot wrote:
| Reading the textbooks that people use in those classes is
| pretty helpful.
|
| Dan Grossman has a great set of courses on Coursera, and a
| good number of resources are in those discussion boards.
|
| https://www.coursera.org/learn/programming-languages
| vishnugupta wrote:
| 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=PLE18841
| CAB...
|
| [3] http://ce.sharif.edu/courses/94-95/1/ce414-2/resources/ro
| ot/...
|
| [4] https://www.youtube.com/watch?v=I8LbkfSSR58&list=PLbgaMIh
| jbm...
|
| [5] https://news.ycombinator.com/item?id=26991300
| bidirectional wrote:
| That post is by a completely different Bartosz.
| vishnugupta wrote:
| Darn! All these days I thought they were the same! Thanks
| for correcting me!
| vishnugupta wrote:
| > For evidence just look at a recent post on HN[5] about an
| article he published. > [5]
| https://news.ycombinator.com/item?id=26991300
|
| Ignore this part because the one I referred to is a
| different person! Though they are both terrific :-)
| logicchains wrote:
| This also applies to interviewing. Google for instance
| generally doesn't include anything PL theory related in their
| interviews, even though it would often be more relevant to the
| work than random dynamic programming problems. As a result of
| this they produced languages and frameworks like Go, Dart,
| Angular and Tensorflow, which display ignorance if not outright
| contempt for modern programming language theory. This led to
| the latter two being mostly replaced by React and Pytorch,
| which are more influenced by language design best practices, to
| Dart being mostly ignored, and to Go being violently rejected
| by a significant subset of the programming community.
| jasonwatkinspdx wrote:
| I know someone that was on the Dart team. He's a PLT expert.
| In fact that's rather understating it. Don't mistake some
| pragmatic choices in language designs targeted for business
| use with ignorance.
| kaba0 wrote:
| I really dislike Go, but its creator(s) is more than familiar
| with language theory, and it is absurd to say otherwise.
| codesections wrote:
| I didn't read the GP as making a statement about the
| _creators_ of Go, but rather about its target users. And Go
| is explicitly targeted at "Programmers working at Google
| [who usually] are early in their careers and are most
| familiar with procedural languages, particularly from the C
| family."[0] If Google's interviews gateted on the sort of
| programming language questions the GP mentioned, then Go's
| target users would have been very different, and Go would
| likely be a different (better? Worse?) language.
|
| [0]:https://talks.golang.org/2012/splash.article
| UncleMeat wrote:
| > As a result of this they produced languages and frameworks
| like Go, Dart, Angular and Tensorflow, which display
| ignorance if not outright contempt for modern programming
| language theory.
|
| This is a non-sequitor. Google hires a lot of PL PhDs (I'm
| one of them). And for relevant teams there is a "Domain
| Expertise" portion of the interview. And many of the people
| working on the languages and frameworks you mention have such
| background.
|
| You don't like these systems. That's fine. But "Google would
| do it all differently if they just hired some PL PhDs" is
| just false.
| dataflow wrote:
| Relevant: https://steve-yegge.blogspot.com/2007/06/rich-
| programmer-foo...
| [deleted]
| [deleted]
| enriquto wrote:
| I hate this quotation and find it not only false but sad. It
| feels as if a physicist would say "physics is not about mass,
| energy and matter, it is about ODE and PDE."
|
| And yes, astronomy _is_ pretty much about looking at the shadows
| of sticks under the sun; and this includes more complex "sticks"
| like telescopes.
| seoaeu wrote:
| I've always interpreted the statement to mean "theoretical CS
| is the only _real_ CS: everything else is just glorified
| software engineering. "
| DangitBobby wrote:
| I also disagree with the quote. I think it's fair to say that
| the goal of Computer Science is to generally improve computing,
| but the purpose of astronomy is not to generally improve
| telescopes, nor biology microscopes, etc.
| jmartinpetersen wrote:
| Seeing as the Danish "CS" degree deliberately[1] wasn't named
| "Computer Science", but "Datalogi"[2] (which translates rather
| directly to "Datalogy"), and since it happened in the sixties, I
| somehow assumed this article would end up mentioning Peter Naur
| in some way.
|
| [1]: http://www.naur.com/comp/c4-3.html [2]:
| http://www.naur.com/comp/c4-4.html
| mrweasel wrote:
| We also now have an education the is more equivalent to a US
| computer science degree: Software Engineer.
|
| I think the US degrees are more focused on practicality than
| the Danish version. Basically the Danish universities will
| teach basic programming in one or two languages and the expect
| you to be smart enough to figure out the rest.
|
| It's not that one education is better than the other, but given
| that I didn't end up doing reasearch of heavy computational
| work, I might have preferred a US education.
| danielscrubs wrote:
| I'd expect "engineer" (ingenior) to be a protected title in
| Denmark just like Sweden, which requires a math heavy
| university programme?
|
| So the way to call yourself a software engineer without a
| math-education is to move to a country like US, making even
| the "Software Engineer"-title problematic.
| mrweasel wrote:
| It is a protected title, and yes, it math heavy, at least
| the first couple of years.
| username90 wrote:
| Computer science is to math as biology is to physics. Biology
| isn't technically about life, but the reason we have separated it
| and study it so thoroughly is that it is related to life.
| mjul wrote:
| This is straight from the school of Peter Naur.
|
| He called it datalogy, the science of the nature and the use of
| data.
|
| See Peter Naur: "The Science of Datalogy", Communications of the
| ACM, July 1966.
|
| https://dl.acm.org/doi/10.1145/365719.366510
|
| Incidentally, he became the first professor of datalogy in
| Denmark at the University of Copenhagen, founding DIKU, the
| Institute of Datalogy.
| fouc wrote:
| Datalogy seems like a bad name especially now in the era of
| "Big Data" & "Data Scientists"..
|
| Maybe Computology would be a better name..
| panarky wrote:
| Dijkstra hand-wrote a paper titled "On the cruelty of really
| teaching computer science" where he argues that we should think
| about CS more as pure reasoning like mathematics than something
| tied to a machine.
|
| https://www.cs.utexas.edu/users/EWD/ewd10xx/EWD1036.PDF
| criddell wrote:
| One of my favorite professors started the year by telling us
| that the only equipment we need to work on computer science
| problems is a pencil and some paper.
| jhanschoo wrote:
| 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 a lot of
| handwaving, metaphors, generalizations, and leaps of logic that
| the reader is presumed to be expert enough to fill-in-the-
| blanks. So for example, Wiles had a non-trivial bug in his
| proof of Fermat's last theorem that was thankfully non-fatal
| and fixable.
|
| On the other hand, if Dijkstra was referring to formal proof,
| then without a proof assistant one still easily makes mistakes
| in it, and even with a proof assistant the task is so immensely
| tedious even now that even mathematicians don't do it, so why
| would programmers of non-safety-critical apps?[1] And another
| blind spot is that no formal proof will help you if your
| specification is wrong, and only give you false confidence: you
| can't navigate the world without errors if the only geometry
| you know is Euclidean.
|
| [1]: of course, note that many people are trying to develop
| good enough proof assistants that mathematicians would feel add
| more value than remove via tedium. And also note that formal
| methods are being employed when the stakes are high enough;
| e.g. formal verification is performed on processor circuits.
| panarky wrote:
| 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 "tools" and
| "workbenches" that require "maintenance". Getting stuck with
| bad industrial analogies is "medieval thinking" that prevents
| real understanding.
| kn1ght wrote:
| One of my Uni professors was working on Proof-carrying code
| *(https://en.wikipedia.org/wiki/Proof-carrying_code). I got a
| cursory involvement. Although I agree with you, the fact that
| there is a way forward and is entirely based in mathematics
| (on the formal side) makes me also agreeable with OP. I don't
| see a contradiction. If you talk about the more informal
| side- the way something is used does not necessarily define
| its nature.
| UncleMeat wrote:
| There is a way forward, but it is tedious as all hell. I
| _love_ formal methods. I spent years in grad school working
| in it. But the truth is that formal reasoning struggles to
| scale to interesting programs, especially if you have to
| consider open programs, and is utterly incoherent for most
| software engineers. You can compare something like symbolic
| execution, which seems amazingly elegant and powerful, with
| coverage guided fuzzing, which is hacky and random.
| Coverage guided fuzzing eats symbolic execution for lunch.
| jhanschoo wrote:
| Indeed, I don't disagree with OP. I just felt compelled to
| point major problems with Dijkstra's argument, because it's
| somewhat generally known yet its very real shortcomings
| aren't as widely known.
|
| The general response seems to be that "yeah, ideally we
| should be more mathematically rigorous with programs if we
| have time and mathematical expertise", but few have
| sufficient exposure to formal methods to understand that
| it's far from the panacea the memo makes it out to be and
| there are more reasons not to do it than just time and
| expertise.
| user3939382 wrote:
| If my memory from many years ago serves, I believe the
| introduction in SICP says "computer science is not a science and
| has little to do with computers."
| streamofdigits wrote:
| "Data science is not about data" - I can see a pattern here
| lmilcin wrote:
| 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 so much of
| their potential by studying CS when they know they will get into
| software development anyway. Rather than racking education costs
| they could be earning money and gaining experience.
|
| I have been constantly hiring for the past 15 years and I have
| learned to stop caring about CS. Real world experience is worth
| more than comparable time spent studying CS.
|
| The only reason I may prefer a candidate with a degree is because
| it takes a lot of work and perseverance to stick to the goal of
| earning the degree, but I almost don't care what kind of
| technical degree you have earned.
|
| One more point, it is not like academia is the only place where
| you can learn CS! In some areas of knowledge and at bleeding edge
| of it you may need access to people, but basic CS knowledge that
| can ever be even potentially useful at development work is all
| well documented in a huge selection of very good books.
|
| You can pick them up and learn.
|
| Good developers treat learning as part of their work, and it
| doesn't matter if something was not taught at school -- if they
| notice they are missing some knowledge they will just learn it.
|
| If you need to study something I think it is better to study
| something orthogonal to what you are going to be doing. This can
| help create unique profile for you as a developer.
|
| For example I have studied theoretical math and over the years I
| came to conclusion that was much better choice than going to CS.
| I have learned logical thinking and dealing with complex abstract
| problems. I have learned most of the CS stuff anyway while doing
| my work but I would probably never learn most of what I learned
| in math.
|
| Other good directions of studies would be philosophy, visual
| arts, management, accounting -- you see the picture. Any of these
| could provide you with an edge as a developer for particular set
| of problems.
| cableshaft wrote:
| While I would agree that a Computer Science degree doesn't
| necessarily teach you a whole lot about Software Engineering
| (i.e. little-to-no time spent on version control, continuous
| integration, unit testing, microservice architecture,
| deployment, requirements gathering, data security, etc), it did
| give me a broad exposure to the different types of work that
| could be out there for programming, which would be a lot harder
| to do in the job market (i.e. no one is going to look at my
| web/game development history and go 'Yeah, this guy would be a
| good person to hire to work on our operating system!')
|
| I learned about making Operating Systems, Compilers, 3D
| Graphics, Artificial Intelligence, Machine Learning, TCP/IP
| Networking, Databases, low-level Assembly programming, and how
| computers work at a hardware logic gate level, to name a few.
| And they offered other courses as well, these are just what I
| picked from the offerings.
|
| Yeah, there was the standard Data Structures and Algorithms
| class (which in the business world is now not much more than a
| 'you better know/refresh this if you want to get through our
| interviews' class) and one class that was about Automata
| theory, which my teacher would claim 'is the only real computer
| science class at this school' which was all mathematical
| proofs, but it still helps you understand regular expressions
| better, at least it did for me.
|
| But most of the classes I took would have had practical
| applications in the workforce, for different types of jobs. But
| really isn't that pretty much any undergraduate major? The
| classes you take aren't all going to be directly relevant to
| your particular path through the field, it's more about
| exposure to different possibilities and providing a broad base
| of knowledge to build from.
| incognito_limey wrote:
| This also reflects how broken hiring is in tech. Leetcode and
| algorithm memorisation has very little to do with being a
| "good" developer. Can you communicate your ideas well? Can you
| understand and follow up when requirements are not clear? Are
| you able to work with others well? This last point in
| particular is where I find a lot of candidates fall down. They
| maybe able to invert a binary tree, but if they have to have an
| actual conversation with say an end user to help
| resolve/understand a problem, many of them can't.
| lmilcin wrote:
| That is exactly what I am seeing. I think of things like
| ability to communicate, lead, etc. as force multipliers.
|
| It does not matter much how good your technical skills are if
| other force multipliers are very low.
|
| More than that, people who are bad at communicating and
| relations tend to stay away from these problems -- trying to
| bring every problem to technical level -- basically ensuring
| they are continuing to be at a disadvantage.
| vmception wrote:
| Computer didn't always refer to a device
|
| Someone that does abstract computation is a Computer. It was a
| profession
|
| No need to get confused on how we got here
| moonbug wrote:
| always a shock to a fresh undergrad who discovers what they
| really meant to study was computer engineering.
| pestatije wrote:
| computer science / information technology
|
| they got them mixed together, it should be
|
| computer technology / information science
| Apocryphon wrote:
| "Computer science was a fraud. It always had been. It was the
| only branch of science ever named after a gadget. He and his
| colleagues were basically no better than gizmo freaks. Now
| physics, that was true science. Nobody ever called physics "lever
| science" or "billiard ball science."
|
| The fatal error in computer science was that it modeled complex
| systems without truly understanding them. Computers simulated
| complexity. You might know more or less what was likely to
| happen. But the causes remained unclear."
|
| - Bruce Sterling, _Zenith Angle_
| kaba0 wrote:
| > The fatal error in computer science was that it modeled
| complex systems without truly understanding them. Computers
| simulated complexity
|
| I think this part is backwards, and I would even say that CS is
| about complexity itself. In some ways it is even meta-
| mathematical even though it is a subset of mathematics.
|
| There is an interesting paper measuring the complexity of
| different things in terms of a minimal Turing machine (sorry,
| I'm not sure about the details but will try to find it) and it
| gave a relatively small number for the complexity of the base
| axiom set of modern maths (few kb, or maybe MB?) It really put
| it in perspective for me what is mathematically provable and
| all the rest of things that we don't even have the tools to
| reason about, at most we can compute it.
| ant6n wrote:
| Computer science is the study of computing things. In fact,
| virtually all of math used to be about the study of computing
| things, until about 200-300 years ago, when the study of
| mathematical structure branched of the science of computing
| things.
|
| Computer science has existed for thousands of years, the naming
| has just been a bit off.
| sum1datduznot wrote:
| https://en.wikipedia.org/wiki/Computer_(job_description)
| Apocryphon wrote:
| Naming it after a profession doesn't mitigate the critique
| from Sterling's quote. Mathematics isn't named calculator
| science.
|
| https://www.youtube.com/watch?v=7EA-eVWEIKY
| sum1datduznot wrote:
| https://en.wikipedia.org/wiki/Actuarial_science
|
| Also, people arguably use the scientific method when
| programming. I think that Sedgewick illustrates this point
| well in Algorithms:
| https://algs4.cs.princeton.edu/14analysis/
| huachimingo wrote:
| Interesting enough, being a Math theacher doesnt imply being
| a good calculator.
|
| I saw this happen with my Math Teacher Hero and with common
| teachers.
| js8 wrote:
| 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 of
| computer science).
|
| Finite sets in the rest of mathematics are sometimes considered
| uninteresting, but not so in computer science, where only very
| small sets (roughly of up to 32 elements, all subsets can be
| easily checked on a typical computer) are considered
| uninteresting.
|
| Good example is number theory, which philosophically considers
| all natural numbers, regardless of size, to be equal type of
| objects. In computer science, the (although fuzzy) magnitude of
| numbers plays much bigger role.
| tom_mellior wrote:
| > I believe, computer science is a branch of mathematics that
| deals with large but finite structures (so they need an
| algorithmic description).
|
| This is a strange claim since the entire field was founded upon
| the investigation of potentially (and often actually) infinite
| computations.
|
| > Compare with most of "legacy" mathematics, which studies
| countable structures (so the description can use arbitrary
| series).
|
| Define "most". Do it in a way that makes real and complex
| analysis and topology (and probably many other branches) the
| smaller part of mathematics.
|
| Most importantly though, my problem with this kind of
| discussion is that the question itself is meaningless. Not
| everything can be classified into neat " X is a Y"
| relationships. Not everything needs to be classified into such
| relationships. Even if the discussion reached a consensus, that
| consensus would be meaningless. 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.
| dahart wrote:
| > 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 empirical evidence of a natural process.
| Maybe that still lands in the 'OK, but so what?' category, on
| the other hand this has been much discussed re: math, and it
| may be useful to clarify in what ways CS is not employing
| scientific method.
| walleeee wrote:
| > 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 physics
|
| Newell and Simon had some thoughts: "We build computers and
| programs for many reasons. We build them to serve society
| and as tools for carrying out the economic tasks of
| society. But as basic scientists we build machines and
| programs as a way of discovering new phenomena and
| analyzing phenomena we already know about... the phenomena
| surrounding computers are deep and obscure, requiring much
| experimentation to assess their nature."[0]
|
| The fact that digital computation is a _new_ process doesn
| 't make it "unnatural", it might be argued; some also
| contend computation takes place not merely in digital
| computers but much more generally, in which case
| distinctions between computer science/cognitive
| science/physics blur
|
| Agree with your broader point, though. I'm not aware of any
| consensus on the epistemological or ontological status of
| computer science, or on its relation to the other sciences.
| It seems (to me) subject to many of the same philosophical
| questions that dog mathematicians, re: discovery vs.
| invention, the uncertain reality of various abstractions,
| generalizability, etc
|
| Likewise agree that consideration of the methods employed
| in computer science can be fruitful, in particular if the
| goal is not so much to establish once and for all which
| category CS falls most naturally into, but simply to
| stimulate critical thought about the fundamental questions
|
| [0]: https://dl.acm.org/doi/10.1145/360018.360022
| js8 wrote:
| > This is a strange claim since the entire field was founded
| upon the investigation of potentially (and often actually)
| infinite computations.
|
| To me, that is not that surprising, although it's a good
| point.
|
| My view has to do with history of mathematics. People were
| fascinated with infinities long time before they considered
| that large but finite systems can be also interesting. I
| think applications of mathematics, mainly geometry and
| physics, are responsible too.
|
| The development of more finitist taste in problems (somebody
| else mentioned the constructivism, which I think is fitting)
| came with the practical need to do computations and
| developing algorithms.
|
| So I am not that surprised that one of the early forays into
| theory of computation are through the lens of infinite,
| rather than finite.
|
| > Most importantly though, my problem with this kind of
| discussion is that the question itself is meaningless.
|
| Of course, I forewarned that it's just my view, and you're
| free to ignore it.
|
| Look, partly why I mention it, it seems rather surprising to
| me; I would consider infinite structures to be more
| complicated, in some sense; yet, in the history of
| mathematics (which lately includes CS, as a study of large
| but finite), these were studied first. There was nothing that
| would prevent Ancient Greeks (or Euler) from discovering,
| say, lambda calculus, or how to do sorting efficiently.
| Although, it seems in many fields we progress from more
| complicated to simpler methods, in some way. But I think it's
| partly precise because the finite is often considered
| uninteresting by mathematicians, it was overlooked. And
| that's the philosophical point I am trying to emphasize.
| Different fields of math perceive (in the way they treat
| them) the same structures differently, and I gave an example
| of natural numbers. Another example is the notion of the set
| cardinality, in most areas of mathematics people only care
| about countable/uncountable distinction.
| xtiansimon wrote:
| > " Not everything can be classified into neat " X is a Y"
| relationships."
|
| I'm with you on skepticism of the x-is-y relationship;
| however, I read the comment as comparing math versus
| computing academics.
|
| Then, the so-what answer would be informative for the
| neophyte or youth who is interested In computing but
| struggles with mathematics instruction. Right? That's a real
| thing in education.
|
| In fact I find this to be the principal benefit of online
| MOOC courses. You can compare styles of instruction, and
| pedagogy from major universities from across the US (and
| internationally).
| rapjr9 wrote:
| At Dartmouth College, computer science started as a branch of
| the Mathematics Dept. It was eventually made it's own
| department (located in a former clinic for the mentally ill,
| Sudikoff Laboratory which some see as ironic). Now Dartmouth is
| building a new addition to the engineering building (Thayer
| School of Engineering) and the Math and Computer Science Dept's
| will move there. I believe the thinking is that those dept's
| collaborate so much that having them located in the same
| complex will be helpful. Much of computer science research is
| more about applications of computers rather than research into
| computing itself, though some pure computing theory is still
| being worked on, and everything is becoming cross disciplinary
| across many fields. One CS project I worked on was designing a
| smartwatch for health apps. It involved electronics
| engineering, operating system development, health applications
| development, sensor data processing, medical research on senior
| frailty, gesture UI design, UI usability research, secure
| wireless data transport and collection and more. It was run by
| a CS prof though. If you go into CS you can end up working on
| anything and everything. Another CS robotics project involved
| electronically herding cattle. Where do cattle fit into CS
| theory? As end users of computers? :-)
| dhosek wrote:
| At Harvey Mudd College, when I was there in the 80s, the
| Computer Science department was part of the Biology
| department: They had one prof who did CS exclusively, one who
| did Biology exclusively, and one who did both. The "real"
| departments, Mathematics, Physics, Chemistry and Engineering
| all offered the option to do a CS option within them, but one
| of the cool things about Mudd of that era (I'm not sure how
| much of this has survived since then), was that you didn't
| really do a specialized degree in Math, Physics, etc. but got
| a good broad education across the discipline.
| musicale wrote:
| > computer science is a branch of mathematics
|
| Subject boundaries are arbitrary, but they have a practical
| implementation in terms of university CS departments.
|
| Some CS departments came out of math departments, and some
| universities have a "Department of Mathematics and Computer
| Science. The theoretical side of CS does seem like a branch of
| mathematics.
|
| Other CS departments came out of EE departments, and and some
| universities (MIT, Berkeley) have a "Department of Electrical
| Engineering and Computer Science." The practical side of CS
| does seem like a branch of engineering.
|
| A number of stand-alone CS departments (Stanford) still seem to
| be part of the school of engineering, so my vote is for CS as
| an engineering discipline with a theoretical basis in
| mathematics (perhaps like information systems or signal
| processing.) I also like the idea of Caltech's "Computing and
| Mathematical Sciences," as it seems to bring a lot of computing
| and applied math under one roof.
| twobitshifter wrote:
| Before there was a CS major at many universities you would
| major in mathematics if you wanted to work with computers.
|
| John Kemeny majored in mathematics and taught "Finite
| Mathematics" while a professor. He saw the application of BASIC
| not as a new field but as a way to simplify computers so that
| it wasn't only mathematicians and scientists who could program
| them.
| jltsiren wrote:
| Computer science research is mix of (at least) mathematical,
| engineering, and scientific traditions that varies by subfield.
| Among the subfields I'm most familiar with, theoretical
| algorithms are mostly mathematical, while algorithm engineering
| is closer to engineering. Data compression has both
| mathematical and engineering work, while bioinformatics is a
| mix of all three traditions.
|
| It's not always clear what is computer science and what isn't.
| For example, you can find both mathematicians and computer
| scientists in theoretical computer science. In bioinformatics,
| you often see similar work from people with CS and life
| sciences backgrounds.
| TuringTest wrote:
| Computer science has two origins, born from electronic
| engineers who studied the ways to build the physical devices
| required for computation; and mathematicians who studied the
| best way to represent the desired computations as
| configurations on such devices. This double soul still lives
| as the distinction between hardware and software (though the
| line can be blurred, with programable microchips like FPGAs
| or the direct implementation of algorithms on hardware in
| ASICs).
|
| However, there's a general and unified way to define anything
| computing-related, unifying both traditions: seeing computer
| science as studying the _automatic processing of symbols_.
| I.e., anything that the human mind treats as a _symbol with a
| meaning_ , that can be _represented in physical devices_ and
| _transformed_ in a different set of symbols _through
| mechanized processes_.
|
| This definition widens the scope of comp.sci beyond its
| origins in representing calculations of physics and maths, to
| include other fields typically taught in the degree but that
| people don't think of as computer science: natural language
| processing, design of viable user interfaces (human-computer
| interaction), design of adequate programming languages apt
| for different problems.
|
| The most general view of this definition encompasses
| disciplines far removed from engineering, but which are
| nonetheless used to expand its frontiers: aristotelian
| ontology was used to invent object-oriented programming, and
| is still used to explore the semantic web; or semiotics to
| explore what ideas can be represented and processed
| automatically, and the best way to build user interfaces
| tailored to the way we think.
| unknown_apostle wrote:
| Working with coinduction. So that's not a good definition :-)
| btilly wrote:
| Please explain how Dijkstra's _Go To Statement Considered
| Harmful_ (see
| https://homepages.cwi.nl/~storm/teaching/reader/Dijkstra68.p...
| for the text) is part of mathematics. Then Knuth's famous reply
| _Structured Programming with Go To_ (available at http://citese
| erx.ist.psu.edu/viewdoc/download?doi=10.1.1.103...) and then
| the much later follow-up at https://cis.temple.edu/~ingargio/ci
| s71/software/roberts/docu..., _Loop Exits and Structured
| Programming: Reopening the Debate_.
|
| When you've disposed of those, read the less well-known paper
| _Programming as Theory Building_ by Peter Naur (see
| https://pages.cs.wisc.edu/~remzi/Naur.pdf for a link).
|
| Are there computer science papers that could fit within
| mathematics? Yes. Are there important computer science papers
| that clearly don't? Also yes.
| revnode wrote:
| I don't think there's necessarily a disagreement here. You're
| talking about "how" to approach problems and he's talking
| about "what" the problem space is.
| amelius wrote:
| Those papers you mentioned are closer to the field of
| Software Engineering.
| btilly wrote:
| 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.
| Delk wrote:
| 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 distinct from science. The same would
| practically apply to many areas in computer science that
| are studied experimentally, not just software
| engineering.
|
| To elaborate on that a little, (software) engineering
| does build on experience and empiricism, as well as
| analytical thinking, but in practice it may be more in
| the form of "lessons learned" than in the form of
| hypothesis testing.
|
| That doesn't make it any less valuable, or even any less
| valid as an academic area of research. It just, in some
| sense, makes it possibly distinct from the sciences.
|
| Of course there are also problems in CS that can actually
| be studied with the scientific method, but I think
| amelius might have meant that publications such as
| Dijkstra's and Knuth's papers on goto would be more in
| the "lessons learned" category than in the "results from
| the scientific method" category. They would thus not
| really make computer science a science even though
| they're not really in the "CS as a part of math" category
| either.
| hnfong wrote:
| This is basically the True Scotsman argument.
| js8 wrote:
| 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 engineering
| taste, but the theorem tells you, at the very least, you can
| do so.
| btilly wrote:
| 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 tenured
| professors of computer science. ALL of them were published
| in journals of computer science. There is no valid basis on
| which you can draw an artificial line between computer
| science and non-computer science, and put those outside of
| computer science. Doubly not if your goal is to say that
| computer science is a subset of mathematics rather than its
| own thing.
| marcosdumay wrote:
| You imply that mathematics isn't concerned with notation?
| afpx wrote:
| multiplication is an algorithm.
| Jenz wrote:
| There are large and finite structures in mathematics that would
| be very odd to call computer science. Take group theory and,
| say, the monster group [1].
|
| [1]: https://en.wikipedia.org/wiki/Monster_group
| bregma wrote:
| I see nothing odd in calling that computer science. It seems
| more like hardcore computer science.
| Jenz wrote:
| And what then couldn't be called "hardcore computer
| science?"
| TuringTest wrote:
| I believe the core difference between comp-sci and other
| math is in taking into account the efficiency of the
| representation and/or transformation.
|
| Thus defining the Monster group is discrete mathematics,
| but not computer science (or not directly). Finding parts
| of the Monster groups that can be represented and
| manipulated by computers would be computer science.
| thanatos519 wrote:
| This is good thinking and I am sad to hear that it is
| unconventional.
|
| And now I'll contradict the part of what you said about finite
| structures: At a theoretical level, the field deals with
| infinite structures, namely the Turing Machine tape and
| infinite time. We use finite Computing Machines to simulate a
| finite section of that tape in a finite time.
|
| Maybe we should call it Turing Machine Science, because we use
| computers to study the behavior of programs in Turing Machines,
| just as astronomers use telescopes to study the behavior of
| atoms in stars and particle physicists use particle
| accelerators to study the behavior of elementary particles. We
| will never touch those particles, stars, or Turing Machines,
| but we can know them, hence the _science_.
|
| Software engineering is like using one's understanding of the
| emissions of the sun to design better solar panels. Very
| practical, but you don't use your understanding of gravity-
| driven fusion reactors every day.
| fnrslvr wrote:
| When you mentioned infinite structures, I thought you'd bring
| up the idea that our goal to _automate_ often pits us against
| problems defined as collections of infinitary instances. I
| don 't think the potential infinity of tapes and running
| times poses as much of a concern by comparison.
|
| Maybe computer science is about giving, to borrow a little
| bit from Hilbert, finitary representation to infinitary
| structures. (Finitary representation with other properties of
| interest, such as tractability and whatnot, of course.)
| antonvs wrote:
| > 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.
| h8hawk wrote:
| This by the way is the most arrogant comment I've seen on
| this site.
| antonvs wrote:
| What about my comment makes it so arrogant?
|
| In case it helps, I've provided some substantiation for
| my position here:
| https://news.ycombinator.com/item?id=27334163
|
| I should also clarify that I didn't intend to argue that
| lambda calculus should be the only way of understanding
| computation, but rather that it doesn't make sense to
| privilege the Turing machine model, as the comment I was
| replying to suggested.
|
| The Turing machine model _is_ arbitrary, and it _is_
| unmathematical in the sense I 've described in my comment
| linked above. A different culture (or species!) would be
| likely to come up with a different computational machine-
| like model, but any culture that develops formal logics
| would be likely to discover the lambda calculus as a
| consequence of that.
| qsort wrote:
| This reads like total nonsense to me. Why would Turing
| machines be 'arbitrary and unmathematical'? What's
| 'unmathematical' about them? They can be formally and
| precisely described and I don't know of any mathematician
| who wouldn't accept TMs as a sound definition.
| antonvs wrote:
| Turing machines are arbitrary in that they don't derive
| from some mathematical basis. You could easily
| reformulate the abstraction in many different ways,
| replacing "tape" or a "read/write head" with some other
| quasi-physical concept that don't normally appear in
| mathematics. Those concepts are spurious, just provided
| for their analogy to real-world machines.
|
| You can provide formal descriptions for many things - the
| Perl programming language, for example. I would also call
| that language unmathematical. You can study such objects
| mathematically, but they are essentially external objects
| of study which one is using mathematics to make more
| tractable.
|
| In contrast, Curry and Howard discovered direct
| correspondences between logic and lambda calculus. For
| example, intuitionistic natural deduction is isomorphic
| to typed lambda calculus. The internal languages of
| Cartesian closed categories are lambda calculi.
|
| If Church hadn't discovered lambda calculi, they would
| have eventually been discovered via one of these
| correspondences.
|
| Wikipedia provides a partial list of these
| correspondences at https://en.wikipedia.org/wiki/Curry%E2
| %80%93Howard_correspon... :
|
| * Girard-Reynolds System F as a common language for both
| second-order propositional logic and polymorphic lambda
| calculus
|
| * higher-order logic and Girard's System Fo
|
| * inductive types as algebraic data type
|
| * necessity in modal logic and staged computation
|
| * possibility in modal logic and monadic types for
| effects
|
| * The lI calculus corresponds to relevant logic.
|
| * The local truth ([?]) modality in Grothendieck topology
| or the equivalent "lax" modality (O) of Benton, Bierman,
| and de Paiva (1998) correspond to CL-logic describing
| "computation types".
|
| As such, lambda calculi are inextricably embedded in
| mathematics and logic, and their core features (ignoring
| superficial choices such as syntax) are a discovery,
| rather than an invention. We can't change the
| equivalences described above, they are facts that arise
| from the formalisms developed to address subjects like
| logic and categorical analysis. The same is not true of
| Turing machines.
| siraben wrote:
| > They can be formally and precisely described and I
| don't know of any mathematician who wouldn't accept TMs
| as a sound definition.
|
| Just because something can be formally and precisely
| described doesn't necessarily mean it's (aesthetically)
| "mathematical". Another example that comes to mind now is
| the notion of an applicative functor (Applicative in
| Haskell) -- sure, you can give the categorical definition
| for it but it's quite an oddly specific structure (if
| anyone reading this knows where they arise in non-FP
| contexts, I'd really like to know!).
|
| So for Turing machines, maybe a question we might ask is,
| "how can we ensure Turing machines always terminate?"
| This is a much harder question than say, imposing a type
| system on untyped lambda calculus which unconditionally
| makes all terms terminate, while still retaining the
| ability to do recursion and useful work.
|
| A good yardstick to judge the "mathematicality" of a
| construction often amounts to looking at its
| compositional properties. That is, could you re-use the
| concepts over and over again, and could variants of the
| structure be uniformly described? While Turing machines
| and lambda calculus are both equivalent and can be both
| formally described, one does win over the other in terms
| of having a simpler, more compositional structure.
|
| This is quite subjective, and in any case it feels
| remarkable that both Turing and Church came up with their
| constructions to describe computation formally!
| qsort wrote:
| > 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
| 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.
|
| > So for Turing machines, maybe a question we might ask
| is, "how can we ensure Turing machines always terminate?"
| This is a much harder question than say, imposing a type
| system on untyped lambda calculus which unconditionally
| makes all terms terminate, while still retaining the
| ability to do recursion and useful work.
|
| You can bound the number of steps or the size of the tape
| :) That's not a "well, actually", the point I'm making is
| that other computational models (TMs, pointer machines,
| RAMs, counter machines) are more natural formalisms to
| think about some problems. Sure, logic/proof theory is
| intimately related to lambda calculi and it would be
| extremely unnatural to formulate the same ideas using
| Turing machines, but for things like analysis of
| algorithms, complexity theory or numerical analysis it
| would be similarly unnatural to use lambda calculus as
| the computational model instead.
|
| They certainly aren't lesser forms of math, even though
| one might find them less aesthetically pleasing.
|
| > ... it feels remarkable that both Turing and Church
| came up with their constructions to describe computation
| formally!
|
| It is. It completely blew my mind when I first learned
| about that fact. If computation can be exactly described
| by different formalisms resulting in the exact same set
| of computable functions, then it must be a very
| fundamental feature of how "things" work!
| siraben wrote:
| > 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 literally equivalent to lambda
| calculus, after all!)
|
| > but for things like analysis of algorithms, complexity
| theory or numerical analysis it would be similarly
| unnatural to use lambda calculus as the computational
| model instead.
|
| That's a good point as well. Because of the nature of
| hardware, _neither_ lambda calculus nor Turing machines
| are very good fits, so RAMs and pointer machines
| essentially take over.
| antonvs wrote:
| > Just because something can be formally and precisely
| described doesn't necessarily mean it's (aesthetically)
| "mathematical".
|
| Thank you, this is exactly what I was getting at.
| tom_mellior wrote:
| > Turing machines are arbitrary and rather unmathematical.
|
| Thus proving the point that a field that studies them
| cannot be considered a branch of mathematics.
| jll29 wrote:
| If you like, we can generalize and call it "computation
| science" to avoid the focus on the tool/machine in favor of
| the process.
| plumeria wrote:
| https://youtu.be/2Op3QLzMgSY?t=16
| antonvs wrote:
| "Computing science" is more commonly used as an
| alternative, but yes, that approach makes much more sense
| than focusing on some particular abstraction.
| kaba0 wrote:
| 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 mathematical structure one.
| antonvs wrote:
| > 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 assistants such
| as Coq. Coq is based on the calculus of constructions,
| which is a typed lambda calculus. Again, this would be a
| mystifying choice if lambda calculi are difficult to
| reason about.
|
| > I disagree with your statement that it is more
| mathematically grounded.
|
| I've provided more support for my position here:
| https://news.ycombinator.com/item?id=27334163
| _game_of_life wrote:
| 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, Godel himself (as well as other mathematicians)
| found Turing machines and Turing's thesis to be more
| persuasive:
|
| Godel also found Turing's analysis superior. Kleene
| related that Godel was unpersuaded by Church's thesis
| until he saw Turing's formulation:
|
| According to a November 29, 1935, letter from Church to
| me, Godel "regarded as thoroughly unsatisfactory"
| Church's proposal to use l-definability as a definition
| of effective calculability. ... It seems that only after
| Turing's formulation appeared did Godel accept Church's
| thesis. (Kleene 1981: 59, 61)
|
| Godel described Turing's analysis of computability as
| "most satisfactory" and "correct ... beyond any doubt"
| (Godel 1951: 304 and *193?: 168)."
|
| For what it's worth, I do think you've started an
| interesting discussion!
|
| You're allowed to have an opinion that you prefer lambda
| calculus over LCMs (logical computing machines -- a
| better term for Turing machine's that Turing favoured)
| for conceptualizing and reasoning about computation
| mathematically.
|
| Myself, I find Conway's game of life to be the superior
| framework over both lambda calculus and Turing's Logical
| Computing Machine :-P
| TuringTest wrote:
| 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 better
| basis is a combination of lambda calculus for defining
| mathematical structures and (Von Neumann based) agent-
| based models for defining stateful processes.
|
| Modern programming languages are evolving to be capable
| of representing either model, to adapt themselves to the
| style more suited to the problem at hand.
| [deleted]
| fnrslvr wrote:
| This whole debate is always so bewildering. Programming
| paradigm fanboys get into heated arguments about which
| model is the "best" one, but actual computer science
| research uses myriad different models of computation,
| usually endeavoring to select the one that is most
| convenient for the given purpose.
|
| Sometimes that could mean using the lambda calculus,
| particularly in study of language theory and type
| systems. Other times that could mean some sort of black
| box model, such as when proving lower bounds for solving
| problems using specific operations (see e.g. the sorting
| lower bound). Yet other times, like when establishing the
| ground-zero of some new variety of computational
| hardness, I can't think of many more suitable models to
| cut up into pieces and embed into the substrate of some
| other problem than those based upon Turing machines.
| antonvs wrote:
| > Programming paradigm fanboys get into heated arguments
| about which model is the "best" one
|
| My original comment certainly reads that way, but my
| intent was really to point out that it doesn't make sense
| to privilege the Turing machine model in the study of
| computation. I wrote more about why in this comment:
| https://news.ycombinator.com/item?id=27334163
| TuringTest wrote:
| 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.
| fnrslvr wrote:
| 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
| computing languages/platforms upon theoretical research
| models of computation misunderstands the relationship
| between theory and practice. There is a relationship for
| sure, the research on these models usually does want to
| translate into real-world implications somehow, but your
| functional programming language is not the literal lambda
| calculus.
| kaba0 wrote:
| 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.
| TuringTest wrote:
| > Efficiency is not important at all when you talk about
| a mathematical proof.
|
| Precisely, and that's the main difference between
| computer science and the rest of mathematics.
|
| Typically CS cares about the process to find a result,
| and not just its value nor the possibility or
| impossibility to find it.
| bregma wrote:
| > Typically CS cares about the process to find a result,
| and not just its value nor the possibility or
| impossibility to find it.
|
| Typically, programmers care about the process to find the
| result. Some programmers are computer scientists. You can
| not conclude that all computer scientists are
| programmers, so your statement is based on logical
| fallacy.
| TuringTest wrote:
| Computer science still has computational complexity
| theory and analysis of algorithms as sub-fields, with
| complexity classes and Big O notation. These very much
| care about the process to find results, which was the
| basis for my statement :-) The fallacy is on your
| interpretation of what I said.
|
| There _are_ results in theoretical computer science that
| don 't care about the efficiency in the process; the most
| essential are the computability theorems exploring what
| parts of mathematics can be computed, and what we mean by
| computation anyway.
|
| But the most essential part -the halting problem- was
| resolved long ago, so the lion's share of applications of
| computing science is in finding practical ways to use
| computers, which again needs to take efficiency into
| account.
| triska wrote:
| 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.
| kn1ght wrote:
| 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...
| triska wrote:
| I once read an article suggesting that reading computer
| code does not activate the regions of the brain that are
| involved in language processing:
|
| https://news.mit.edu/2020/brain-reading-computer-code-1215
|
| This may indicate that the sampled programmers did not
| program in the way it can be done for example with
| declarative languages, i.e., primarily as a linguistic
| activity where we _describe_ what we know about the task.
|
| I also like the description in _Programming as Theory
| Building_ by Peter Naur:
|
| https://pages.cs.wisc.edu/~remzi/Naur.pdf
|
| The feasibility of this approach may depend on the
| programming languages one uses.
| kn1ght wrote:
| Thanks for the articles. I definitely don't do it the
| same way I process language. To use the same example- I
| describe a task unambiguously, which makes it a
| translation from written text to memory regions or
| execution paths. It gets more concrete than just what I
| know about the task. A better parallel would be to
| writing mathematical formulas. When I process language, I
| believe, more of my brain is engaged in empathy, in
| trying to match context, in allowing ambiguity, storing
| ideas and concepts to be disambiguated at a later point.
| xwolfi wrote:
| Yeah I remember that I started reaching my first CS
| successes once I knew enough of the mathematics and
| properties of the hardware to "think like a machine" and
| was trying to explain some of my peers still struggling
| how to do a more step by step execution in their mind.
|
| In hindsight it's clear that you dont tell a story when
| you program a computer or not the way I'd describe my day
| or teach my kids about a phenomenon. It feels more like
| unrolling a tape and executing a receipe in the most
| simple way you can after you built a mind model of the
| machine. You mimic an actor maybe, rather than imagine an
| event ?
| Peritract wrote:
| I have a very different experience; when I code, it feels
| similar to mapping out a conversation or constructing a
| narrative, and this is how I teach it to my students.
|
| I've met people who view it as mathematics or philosophy
| or a bunch of other things; in the end, I think there is
| a wide range of valid mental models for how computers
| function and therefore how to communicate with them.
| imtringued wrote:
| Did they compare identical information expressed as
| written language or programming language or did they
| compare messages that contain logic expressed via
| programming languages vs messages that don't contain
| logic expressed via written languages?
| [deleted]
| seoaeu wrote:
| A substantial portion of _theoretical_ computer science.
|
| There are huge swaths of the field that deal with things like
| machine learning or distributed systems or computer
| architecture that don't really fall under that
| categorization.
| siraben wrote:
| > computer science is a branch of mathematics that deals with
| large but finite structures (so they need an algorithmic
| description)
|
| Another way to put this is that computer science deals with
| mostly _constructive mathematics_ (more precisely, mathematics
| that uses intuitionistic logic, the kind that is natural to
| most programmers and computer scientists anyway). For instance,
| when you prove the fundamental theorem of arithmetic, you
| actually can translate that into an algorithm for factorizing
| numbers into products of powers of primes. And the converse
| holds too, an algorithm is a proof! If you can give me an
| algorithm that, given a number n, always produces a prime
| bigger than n, then that actually _witnesses_ the infinitude of
| primes.
|
| Constructive methods are everywhere in CS, for instance, to
| prove a proposition P, it's possible in classical math to say
| "assume (not P) is true, then derive a contradiction, hence P",
| however that would be really unnatural in CS! You never hear "I
| want to show an algorithm to solve P exists, let's suppose it's
| not computable, ... contradiction!", because you don't end up
| with an algorithm at all (what you proved instead was that it's
| impossible for an algorithm to _not_ exist, without saying what
| it is). Likewise, you if want to show some number /program/data
| structure has the properties you care about you almost always
| give the description explicitly.
|
| For more information, I'd say that type theory is a great
| intersection of math and computer science in a way that's quite
| accessible to programmers, since we're already used to this
| kind of thinking, even if we weren't explicitly taught it.
| Scarblac wrote:
| Although the standard proof of the incomputability of the
| halting problem assumes it is computable and then reaches a
| contradiction. And that's more or less the central proof of
| everything to do with computability.
| siraben wrote:
| That's still constructive. This can be a confusion because
| there's actually two kinds of contradiction proofs:
| to show ! P, assume P then derive a contradiction (false,
| [?])
|
| i.e., ! P := P -> [?]. This is actually just fine and
| constructive, it's just how you prove a negation.
|
| OTOH, there's another kind of contradiction proof:
| to show P, assume ! P, then derive a contradiction (false,
| [?])
|
| Written with function notation, this becomes P <-> (! P ->
| [?])
|
| But if we unfold the definition of negation, we have that
| P <-> ((P -> [?]) -> [?])
|
| The left to right direction holds classically and
| constructive, but the right to left direction uses double
| negation, which can is equivalent to the law of the
| excluded middle, AKA classical reasoning.
| momentoftop wrote:
| Sometimes, the strategy of proving ~P by showing how P
| entails absurdity is called "proof by negation". The
| phrase "proof by contradiction" is then reserved for the
| strategy of proving P by showing how ~P entails
| absurdity.
|
| On that usage, constructivists are happy with all proofs
| by negation, but not generally happy with proofs by
| contradiction.
| bitL wrote:
| I find relevance logic much more intuitive than
| intuitionistic. Intuitionistic has still some weird
| assumptions that make it fit a lookup table like classical
| logic.
| otabdeveloper4 wrote:
| 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.
| pjmlp wrote:
| In Portugal, there is some time to spend with such matters
| during the 5 year long that an Informatics Engineering degree
| takes (certified by the Engineering Order).
|
| Since Bologna, it got levelled to Masters, but most still
| take the 3 + 2 years, not to be left behind the older
| generation that had 5 + 2 for Master.
|
| So plenty of time to go down into the subjects that USA
| consider computer science.
|
| However for those that want to really go down the rabbit hole
| of computer science as seen on USA, the appropriate degree is
| Applied Maths into Computing.
| tsss wrote:
| As seen on USA? European CS degrees are generally more
| comprehensive because we do all the humanities already in
| high school which leaves more time for math and it is more
| common for people to continue with a masters degree.
| pjmlp wrote:
| Well, from what I know about them anyway.
| anthk wrote:
| In Spanish it' s "Ingenieria informatica" (Informatics
| engineering), you would call it CS Engineering.
| nosianu wrote:
| 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), informatica (Spanish,
| Portuguese), informatika (Slavic languages and Hungarian) or
| pliroforiki (plerophorike, 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
| wayoutthere wrote:
| > Good example is number theory, which philosophically
| considers all natural numbers, regardless of size, to be equal
| type of objects. In computer science, the (although fuzzy)
| magnitude of numbers plays much bigger role.
|
| Somewhat similarly, I have a degree in number theory / modal
| logic systems that was issued by the philosophy department at
| my university. The concepts are similar to a CS degree except
| you get really good at describing the problem because
| philosophy degrees usually involve a _lot_ of writing.
| maweki wrote:
| I always tell my students that computer science the special
| subset of math that that is coincidentally "easily" executable
| on a computer.
|
| This subsumes finite structures, parseable Problem
| descriptions, structured formulas, formalized algorithms, etc.
| MeinBlutIstBlau wrote:
| Legitimate computer science should be about assembly and C for
| the most part. Knowing mathematically how the 1s and 0s are
| outputting through the machines circuit.
|
| Nowadays it's just an antiquated term for programmer. The
| average C programmer if wager is above 40 years of age whereas
| the average python or web dev dev must be pushing late 20s.
| bobmaxup wrote:
| In my opinion, this thread illustrates insecurity over naming
| that people within this profession exhibit regularly.
|
| The analogies that this argument hinges on are often brought up
| in a dogmatic manner with historic terms jeered in euphoric tone.
|
| In threads like these devil's advocates, normally copious, are
| scant. Why?
| dalbasal wrote:
| Because "pseudoscience" is a pejorative.
|
| There is an uncanny valley between non-science and science.
| Realistically, everything we know about a lot of things exists
| in that uncanny valley. Most or all of psychology & economics.
| A lot of of zoology, ecology, health sciences etc. Yet, it's an
| uncomfortable place.
|
| Different professions have dealt with it differently over time,
| usually trying to reach one bank or the other.
|
| The bad name pseudoscience has isn't unearnearned. Our modern
| conception of "scientific" (empirical falsification, etc.) was
| kinda invented to debunk turn of the century psychology and
| economics... and those often did earn pseudoscience's
| reputation.
|
| The philosophical implications of "hard" sciences really are
| different, and the disadvantages of semi-scientific pursuits do
| really manifest.
|
| Say we study mental health impacts of exercise on teenagers.
| You may find a result in one school. It might be replicable in
| a nearby school. It probably won't hold true in a different
| country or a decade. That's because we aren't really isolating
| fundamentals, as scientists should. OTOH, we can't isolate
| fundamentals in a lab and still have results that are relevant
| to actual mental health IRL. Does that mean the whole pursuit
| is pseudoscience?
|
| Computer science is in the same position. You can strive for an
| F=ma, ideal understanding of fundamentals... but... there's not
| always a lot of gas in that car.
| lucasfcosta wrote:
| In Brazilian Portuguese, CompSci courses are named the equivalent
| of "Computation Science".
|
| This is one of the few cases in which I think the Brazilian
| Portuguese translation is way better. It actually conveys a more
| precise idea of what the discipline is about.
| jpswade wrote:
| Back before computer systems, computers were people who did
| calculations. It's maths at its core.
|
| Computers today are surely then just applied computer science.
| paxys wrote:
| I mostly agree with this. It's weird that you get an engineering
| degree called "science" which is mostly set up to prepare you for
| entering the commercial software industry. Universities can't
| even figure out which college to put the CS department under.
| There needs to be some sort of split where one track can focus on
| the academia/research and other on practical applied concepts.
___________________________________________________________________
(page generated 2021-05-30 23:01 UTC)