Academically visual programming refers to programming using graphic notations instead of text coding. The industry has not adopted a visual programming because of two reasons. On contrary to common expectation that "one picture is more than a thousand words" most visual languages are harder to understand than text coding. A picture is easier to understand than text because it is more concrete. But graphic symbols in a visual language are highly abstractive and harder to grasp than words by laymen. Without a rich software library like industry languages do, such as Java, JavaScript, .Net Framework, etc., a visual language can only be of academic value. On the other hand, text coding IDE's have much evolved into rich graphic user interfaces. Microsoft has thus called their computer languages "visual languages": Visual Basic, Visual C#, etc. Visual language researchers are saying that these are not visual languages because they are text coding languages. One alternative to "visual" vs. "text" is "codeless programming". It does not use text coding but it is not strictly a visual language. It tries to visualize text coding. Usually it is based on object-programming and tries to visualize various aspects of object creation and object linking. There are several systems going this direction. Some of them still use some text coding. Some of "codeless programming" are domain-specific and are quite successful because of their powerful software libraries in specific domain and because of their specific visualization in specific domain, for example, LabView for electronic device design. For generic purpose programming, most of "codeless" systems still suffer from lacking rich software libraries.