On Thu, Apr 18, 2013 at 4:53 PM, Mark Janssen <dreamingforw...@gmail.com> wrote: > The main thing that I notice is that there is a heavy "bias" in > academia towards mathematical models. I understand that Turing > Machines, for example, were originally abstract computational concepts > before there was an implementation in hardware, so I have some > sympathies with that view, yet, should not the "Science" of "Computer > Science" concern itself with how to map these abstract computational > concepts into actual computational hardware?
Why? You seem to have a notion that theoretical computer science is ultimately about programming. It's not, any more than theoretical physics is ultimately about how to build skyscrapers. Theoreticians don't discuss complicated languages like Python because it would be difficult to prove anything about computation using them. Programmers don't use constructs like Turing machines because they're not practical or useful for doing actual programming with. We're talking about two different groups of people who use different tools because they have very different objectives. > Otherwise, why not keep > the field within mathematics and philosophy (where Logic traditionally > has been)? Well now, that's an age-old debate. Ultimately what we call "computer science" does not encompass one single discipline. But I think they are generally kept under one academic umbrella because they are closely related, and there is value in working with colleagues in separate sub-fields. Certainly there is value in being passingly familiar with the theory side of things if one is going to be designing languages and writing parsers. Less so if one is primarily occupied with building inventory systems. > But still, it seems that there are two ends, two poles, to the whole > computer science enterprise that haven't been sufficiently *separated* > so that they can be appreciated: logic gates vs. logical "calculus" > and symbols. There is very little crossover as I can see. Perhaps > the problem is the common use of the Greek root "logikos"; in the > former, it pertains to binary arithmetic, where in the latter, it > retains it's original Greek pertaining to *speech* and symbols, > "logos"). Further, one can notice that in the former, the progression > has been towards more sophisticated Data Structures (hence the > evolution towards Object-Orientation), where in the latter (I'm > guessing, since it's not my area of expertise) the progression has > been towards function sophistication (where recursion seems to be > paramount). Okay, you've lost me again. What do logic gates have to do with data structures and OOP? What does symbolic logic have to do with functional programming? -- http://mail.python.org/mailman/listinfo/python-list