news.volyx.in

We need visual programming. No, not like that (blog.sbensu.com)

1178 points by stopachka · 761 days ago · 494 comments on HN

Article summary

The article discusses the limitations of visual programming languages and why they often fail to gain traction among developers. It argues that visual programming should focus on aspects of software that developers already visualize, such as state transitions, memory layouts, and network requests, rather than trying to replace code syntax. The author suggests that visual programming can be useful for understanding complex systems, but it needs to be integrated into existing developer workflows. The article also explores various examples of visualizations that can be useful for developers, such as codebase visualization, network topology diagrams, and state machine diagrams.

Main themes

  • Visual programming limitations
  • Code syntax and semantics
  • Software visualization
  • Developer workflows
  • Complex system understanding
  • Spatial reasoning and representation

What commenters say

  • Visual programming is limited by its reliance on spatial geometry, making it difficult to represent complex relationships and non-planar graphs.
  • Text-based programming is more powerful due to its use of named values and computations, which allows for more abstract and flexible representation of code.
  • Visual programming can be useful for understanding certain aspects of software, such as state transitions and memory layouts, but it is not a replacement for textual programming.
  • The use of visual programming can lead to cluttered and confusing representations, especially for complex systems, and may not provide a significant advantage over textual programming.
  • Visual programming can be improved by incorporating symbols and abstractions that are not spatially bound, allowing for more flexible and expressive representations of code.
  • The fundamental principle of language, which relies on named references, is abandoned in visual programming in favor of physical connections, which can lead to limitations and difficulties.
  • Visual programming can be effective for specific use cases, such as representing high-level sequences of actions or understanding complex flows, but it may not be suitable for all programming tasks.
  • The success of visual programming depends on its ability to integrate with existing developer workflows and provide a clear and intuitive representation of code, rather than trying to replace traditional programming paradigms.