Visual and code-free programming

Visual academic programming refers to programming using graphical notations instead of text coding. The industry has not embraced visual programming for two reasons.

  • Contrary to the common expectation that “a picture is worth a thousand words”, most visual languages ​​are more difficult to understand than text encoding. An image is easier to understand than a text because it is more concrete. But graphic symbols in a visual language are highly abstract and more difficult to understand than laymen’s words.
  • Without a rich software library like industry languages ​​like Java, JavaScript, .Net Framework, etc., a visual language can only have academic value.

On the other hand, text coding IDEs have evolved a lot into rich graphical user interfaces. Microsoft has thus called its computer languages ​​”visual languages”: Visual Basic, Visual C#, etc. Visual language researchers say that these are not visual languages ​​because they are text encoding languages.

An alternative to “visual” vs. “text” is “programming without code”. It does not use text encoding but it is not strictly a visual language. Try to visualize the text encoding. It is generally based on object programming and tries to visualize various aspects of creating and linking objects. There are several systems that go in this direction. Some of them still use some text encoding.

Some of the “no-code programming” is domain-specific and quite successful due to its powerful domain-specific software libraries and due to its domain-specific visualization, eg LabView for electronic device design. For generic purpose programming, most “no code” systems still lack rich software libraries.

A promising “no code” approach is to visualize component programming. It visualizes the existing computer languages ​​in the industry visualizing the handling of events and visualizing the development of objects. For standalone Windows applications, it covers creating .Net Framework objects and handling events. The complete libraries of the .Net Framework, from Microsoft or from any software developer, individuals and companies, are native building blocks of this programming approach. The programming results of this programming approach are also native .Net Framework objects and can be used directly by other .Net Framework-compliant computing languages.

This approach is feasible because most modern computer languages ​​are component based. Programming entities are components. A component is defined by properties, methods, and events. The role of a text language is much less important than procedural programming without components. In component-based programming, a text language acts like glue to join components together to form new software, or like nails and rivets to join building blocks together.

It’s also like using Lego blocks to form buildings. But Lego constructions don’t need glue, nails or rivets. It’s because each Lego block is made with pins and sockets that interlock with other Lego blocks.

Modern software components are also made with pins and sockets to interface with other components, as components can interface with each other through event handling. Event handling is a step up from object-oriented programming. If this event handling can be done using objects, then you don’t need a text language to put the components together. That’s the idea of ​​no-code programming through component programming visualization.

Because “objects” are easier to understand than text languages, programming by visually creating objects and visually handling events is easier to understand than textual computer languages. If visualization is done for the industry component based languages ​​like Microsoft .Net Framework library, PHP, JavaScript, etc., that approach will take advantage of the vast and growing software libraries available. Therefore, this programming approach is easy to use and powerful in handling business requirements. There are some sample projects that use 3D libraries, some sample projects that use generically typed classes, and web applications that use PHP for web server processing.

Leave a Reply

Your email address will not be published. Required fields are marked *