title: What is symbolic computation?
body: <p>According to <a href="https://en.wikipedia.org/wiki/Symbolic_computation" rel="noreferrer">wiki</a>:</p>
  
  <blockquote>
    <p>In mathematics and computer science, computer algebra, also called
    symbolic computation or algebraic computation is a scientific area
    that refers to the study and development of algorithms and software
    for manipulating mathematical expressions and other mathematical
    objects</p>
  </blockquote>
  
  <p>Does symbolic computation focus on symbol manipulation and computation? Lisp program is written in the form of an AST with atoms as leaves. Lisp is said to be language for symbolic computing. Does it mean that in symbolic computation, it is:</p>
  
  <ul>
  <li>all about symbols (symbols are atoms or non-atom expressions in Lisp)</li>
  <li>every symbol is assigned a semantic</li>
  <li>symbolic computation is a paradigm that orients programmers to focus on working with symbols and semantics (a semantic can be an atom or expression that does something) and the relationships between symbols, as opposed to think that data structure and code are two separated entities.</li>
  <li>program design is language design, based on symbol composition/manipulation and semantic assignment.</li>
  </ul>
  
  <p>According to <a href="https://stackoverflow.com/questions/5588962/what-is-the-opposite-to-symbolic-computation">this question</a>, the opposite of symbolic computation is numeric computation. What's the primary difference between these two? When I work with Octave (I'm studying it), I have to work with numbers a lot and have to guess the meaning of those magic numbers many times. Is this a numerical computation focus?</p>