Announcement

Collapse
No announcement yet.

CLike: A New, "Simple C-Like" Programming Language

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Originally posted by jonnor View Post
    Interesting. Which languages are those besides LabVIEW?
    LabView, Matlab Simulink, a couple varieties of spice, and one hardware-specific interface.

    Originally posted by jonnor View Post
    What things (if any) do you think current visual programming languages do better than text-based languages?
    Two things, primarily:

    1. They are good for simple networks. Humans are good at visually analysing simple networks. However, in practice people don't seem to do this much. They may diagram stuff using a flow chart, but then implement it in a text-based language.

    2. They are good for doing simple manipulations of continuous streams of simple data. In particular, they are good when the timing of important data is unpredictable. It nicely abstracts away issues with things like timing, concurrency, triggers, and optimizing operation ordering in a manner that is difficult to do with existing text-based imperative languages (although functional languages with lazy evaluation can probably be made to behave similarly, but I am not familiar enough with any functional languages to know if they actually do).

    You will notice that both for the languages that I know, and the languages that gens brought up, are all examples of situation 2. My examples are all primarily used as interfaces to hardware. gens, on the other hand, seemed to be event-driven interfaces for things like 3D engines or game AI. In both cases, they are used for situations where the software has to react to events occurring in an external world, either the real world or a virtual world, which the software has essentially no control over. Visual programming languages are well-suited to that, as long as you don't try to do anything too complicated.

    With the hardware interfaces we work with, we have found that things are the most efficient when we mostly use the visual programming language for simple transformations, basically for getting data from a format that is understood by our (non-visual) software to a format that is understood by our hardware. If we try to do too much in the visual programming language, it becomes unreadable. If we try to do too much in the imperative, text-based programming languages (usually some combination of matlab, python, and/or c), we get bogged down in managing low-level hardware issues that the visual programming language abstracts away.

    Comment

    Working...
    X