What is symbolic programming?
Sources:
Symbolic programming involves using symbolic expressions to represent and manipulate data and computations. This technique is contrasted with more conventional numeric or procedural programming techniques.
explains that symbolic programming constructs represent structures and concepts that align well with human cognitive processes. He utilized this method back in 1979 to represent computations at a higher level using symbolic expressions formatted as functions with arguments, which may not necessarily evaluate to anything specific but serve as a structural representation. This approach has been very effective in mimicking how humans conceptualize complex structures and has been a cornerstone of his work for decades 1.
draws a distinction between symbolic programming and more straightforward Python-based programming, emphasizing the cognitive challenge of symbolic programming. In frameworks like TensorFlow, symbolic programming requires one to translate ideas into a formal, often mathematical system, which can be a significant mental burden. On the other hand, PyTorch simplifies this by allowing direct implementation in Python, which reduces this overhead 2.
Symbolic programming also plays a crucial role in neurosymbolic AI, where neural networks convert natural language and image data into symbolic representations. These representations can then be used for sophisticated simulations and logical operations, bridging the gap between raw data and structured, understandable models 3.
In summary, symbolic programming uses high-level symbolic structures to represent and process data, aligning with human cognitive processes and facilitating complex programming and AI tasks.