Is this a good definition of computer science:
The breaking down of problems into algorithms that can be solved by computers.
?
Is this a good definition of computer science:
The breaking down of problems into algorithms that can be solved by computers.
?
Computer science is the "scientific and practical approach to computation and its application". So creating algorithms from information in the problem domain would be a subset of it, but an algorithm is just a set of calculations/mechanics, so there must be more to it?
It might be more accurate to say :
"The breaking down of problems that can be solved by computers"
WndProc = (2[b] || !(2[b])) ? SufferNobly : TakeArms;
If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
If at first you don't succeed, try writing your phone number on the exam paper.
This famous video explains it in a very concise way!
https://www.youtube.com/watch?t=30&v=2Op3QLzMgSY
(Many of you have probably read the book version of this lecture series, SICP)
Computer Science is what Scientist do when they are using the computer to make complex calculations.
Most Enterprise programming has more in common with Scrap booking than actual "Science". It's a Science in the sense that Boxing is the Sweet Science.
I think computer science is taking something and see if it could be solved by a Turing machine. I really just think it's taking something and abstracting it down to a base set of instructions.
Code://try //{ if (a) do { f( b); } while(1); else do { f(!b); } while(1); //}
I wasn't trying to be derisive, most of the Science in computing, ends at the hardware, OS and the compiler. By then any and all Science is already baked in.
Any additional Science, requires external laws and theory to be of use. Those programs don't write them selves.
You may think I'm trying to diminish the power of Computer Science, but actually I'm just giving more credit to where it is either due or not due. The User and/or the developer of a given set of instructions.
The computer was just a tool, no more than the rock pick and tooth brush is for an Archaeologists.
You know, I think the English terminology betrays the real purpose of the field. Probably why your confusion. In Portuguese we say, literally, Computational Science, not Computer Science. And this I think better describes the field. The computer is to Computer Science what the Universe is to Physics; the canvas from where theories are formulated and laws are discovered.
So the computer is the subject of Computational Science, and not the tool as you say. The computer is a tool only to programmers, engineers, professional writers, artists, gamers, and web surfers; people who put into practice or take advantage of the prior work of computer scientists.
Originally Posted by brewbuck:
Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.
I thought it was interesting that "computer" science has its roots in mathematics, where people like Turing, Haskell, and Church were studying the theoretical limits of computation before there even were computers. Now that computers are everywhere, its a practical application of the theoretical roots. Maybe they should call it "computation science" instead.