10
$\begingroup$

I would like a mathematical approach to programming languages and computer science, not just the theoretical aspects of computer science. Is there any such text out there? After all, the world has a huge supply of mathematical texts.

$\endgroup$
  • 3
    $\begingroup$ I wish there was a community on non math books that have a nice math-y style. I find it really hard to read non mathematical introductory stuff (like electronics). Some of it feels extremely ambiguous to me and i believe most of it could be remedied with precise definitions and stuff like that. $\endgroup$ – Saal Hardali Jul 3 '15 at 5:52
  • $\begingroup$ Can you clarify what exactly you're looking for? There are certainly math-oriented books on computer science (both theoretical and applied), but I don't think you'll find something like "Java for Mathematicians." (Nor do I know what that would entail; software engineering is more about organization and procedures and memorizing the niceties of various languages than any real science or math.) Or are you looking for a mathematical treatment of programming languages and parsing, compilation, etc. in general? $\endgroup$ – anomaly Jul 7 '15 at 15:45
  • $\begingroup$ Yes, I am looking for a mathematical treatment of programming languages, parsing, compilation, etc. $\endgroup$ – user107952 Jul 9 '15 at 3:06
0
$\begingroup$

How about "The art of computer programming" by Donald Knuth?

$\endgroup$
0
$\begingroup$

I would like a mathematical approach to programming languages and computer science, not just the theoretical aspects of computer science.

This sounds like you want a more formal book about programming languages themselves from a mathematical perspective, rather than the more standard "undergrad" CS theory (algorithmics, complexity theory, data structures analysis, etc...).

I think, however, it is very useful to know the basics of computability theory (automata, regular languages, Turing machines, Lambda calculus, context-free grammars, etc...), before looking at this area. Understanding compilers/interpreters deeply also requires it. (PS: for many graduate CS courses at most major universities, they have a publicly available syllabus/website with book recommendations present; it can be useful to check them).

Anyway, many mathematical treatments of programming languages tend to come from a type theory and lambda calculus approach, which allow formalizing programming and the language itself. This is particularly prevalent among introductions to functional programming languages (a fact which may not be appreciated by all its would-be users).

Two popular books that somewhat follow this approach are:

Note that the former book does not neglect Object-Oriented Programming. There are also other angles to look at, however, which tend more formalized from a logic perspective, such as operational semantics (e.g., this book).

Related: [1], [2], [3], [4].

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.