Slashdot Mirror


Forget Math to Become a Great Computer Scientist?

Coryoth writes "A new book is trying to claim that computer science is better off without maths. The author claims that early computing pioneers such as Von Neumann and Alan Turing imposed their pure mathematics background on the field, and that this has hobbled computer science ever since. He rejects the idea of algorithms as a good way to think about software. Can you really do computer science well without mathematics? And would you want to?"

9 of 942 comments (clear)

  1. Computer Science != Software Engineering by Anonymous Coward · · Score: 5, Insightful

    Maths IS needed for computer science. Just be sure not to confuse Computer Science with Software Engineering. Software engineering is only a part of the computer science sphere.

    1. Re:Computer Science != Software Engineering by allthingscode · · Score: 5, Insightful

      What most people do in computer programming is like carpentry, and for that all you need to do is memorize how to write a few loops and and which methods to call. But then, every once in a while, you need something truly earthshaking, like solving string subsequence matching (comparing DNA sequences) in O(n**2) rather than O(2**n), and then you have to run to the people who can do the math. Another example is when people thought the best way to do AI was to mimic the neuron, but then, by applying some rigorous math, you end up with Support Vector Machines.

  2. Sure thing Einstein by Anonymous Coward · · Score: 5, Insightful

    Good luck on doing a kernel, file system, network stack, crypto, image processing, window manager, animation or 3D without math or algorithms. I look forward to reviewing some of this guys code.

  3. Math not essential - Logic is! by DeadlyEmbrace · · Score: 5, Insightful

    I attained a Computer Science BS in 1986. At the time everyone was getting Math minors. I opted for a communication minor instead. I've worked in high-tech engineering environments with real-time programming for many years. What I found is that I've never needed the intense mathematics attained by those with math minors. I needed to be able to implement equations that staff mathmaticians would develop. Though math is a fundamental of computer science, I believe the ability to logically assess a situation from multiple perspectives; communicate your approach with the customer; and then implement a maintainable solution is the key components required for computer scientists.

  4. He has no idea what math is by aleph+taw · · Score: 5, Insightful

    This guy just doesn't seem to understand what math is. Substituting theory of computation with his "theory of expressions" just shifts focus on another field of math.

  5. Re:As if computer science wasn't stunted enough by garcia · · Score: 5, Insightful

    Do the lessons of VB6 teach us nothing?

    People have been fucking saying this about various versions of BASIC since the beginning. Instead of trashing it, what did BASIC's various incarnations teach us?

    It taught us that Microsoft could roll what amounts to a scripting language into its Office line and make the programs ever more powerful without having to relearn something completely new and difficult. An education in just about any language, a book or a list of commands, and some time and you will have a fully functional module or two that saves you a ton of time and energy.

    I honestly think a lot of the hostility, here, towards VB has to do with the fact that now pretty much anyone can write code and that it's from Microsoft. If you're somehow saying that if they used C/C++ or even Perl that their code would somehow be wonderful or safe, you're insane.

    COMPUTING IS HARD. You can't dumb it down just because it would be nice to do so. And I'm sorry but mathematics is just the way in which meaning is expressed for machines. There's no free lunch here. And he's wrong about algorithms too - since a non-terminating algorithm is always expressible by deconstruction into a series of terminating algorithms.

    I agree and while most applications require this, if you look at VB as a way to either get people started coding or to do quick things because it's built into the system instead of concerning yourself with the necessity of math-based algorithms, it serves its need.

    I'm no math whiz but I can write code (in languages other than VB) and so can plenty of others. Enough putting people down and being on your high-horse because you write in such and such. Math is important to CS and so is easy access to be able to write code.

  6. Re:Computer science ? by joel.neely · · Score: 5, Insightful

    The term itself is a product of the academic environment, similar to the equally dubious "Library Science" and "Management Science". For what it's worth, the European term "informatics" would have been better, but never caught on.

    That said, I believe there's a useful set of relationships well understood in other fields:

    Science = The search for fundamental knowledge and predictive models;
    Engineering = The creative application of the results of science;
    Technology = The routine application of the results of engineering.

    giving us, for example:

    Science: Physics
    Engineering: Electrical engineering
    Technology: TV Repair, Cable TV Installation

    The punch line is that application of this model to computing works as follows:

    Science: Mathematics
    Engineering: Programming, Informatics, "Computer Science"
    Technology: Coding, Computer Installation, Home Computer Repair, etc.

    Mathematics IS the science in "Computer Science".

    Anyone who has studied advanced Mathematics knows that Math is not about numbers; think of mathematical logic, Boolean algebra, abstract algebra, set theory, topology, category theory, etc. ad infinitum. Dijkstra defined Mathematics as "the art of precise reasoning". In the same sense, "computation" doesn't mean "number crunching", but more generally the automated manipulation of information.

    It is true that there are legitimate concerns in today's computational landscape (networking, concurrency, etc.) which didn't figure in the mathematical/engineering world view of the 1940s, but that's simply a sign that the field has grown up (i.e. grown beyond the limited perspectives of its founders). That's also true in many other applications of Mathematics. For example, early research in differential equations paid much more attention to linear differential equations (because they were more tractable). However, we now know that most "interesting" systems in the real world involve non-linearity.

    Science, Engineering, and Technology share with living systems an important rule: "Grow or die!" Fortunately, the field of computing has grown.

  7. Re:Damn straight! by Anonymous Coward · · Score: 5, Insightful

    as a CS major, i sucked at all the math subjects that were supposed to be a given for a CS major, HARD, but i still consistently was at or near the top of my class in anything involving actual programming, wrote cleaner, more efficient code, and was able to troubleshoot code much better than virtually all my peers. That's like a mechanic who is better at replacing a tie rod than the engineer that designed it.

    You are a programmer, not a computer scientist. I'd hire you to write code based on a specification. I wouldn't hire you to design rendering algorithms. It is too bad they didn't teach you the difference between compsci and programming during day one of your CS program.

  8. Re:wahay! by GreatBunzinni · · Score: 5, Insightful

    If I had never dropped out, I would have never dropped in on this calligraphy class, and personal computers might not have the wonderful typography that they do.

    Oh I see. All this time I was lead to believe that Donald Knuth created TeX to satisfy the desperate need for a half decent digital typography tool and after all it must have been due to some class that steve jobs took when he dropped out of college. Knowing that TeX remains to this day the best typesetting system and knowing a bit about Adobe and the history of PostScript, I guess that that half baked assertion makes sense and must be true.

    ...or maybe not.

    Please. Steve Jobs doesn't walk over water, nor is he behind every single thing which can be accounted as progress in the computer world. This whole jobs-worshiping thing is starting to become ridiculous.

    --
    Slashdot, fix your code or at least hire someone who is competent at it to do it for you.