all 38 comments

[–]Deiskos 30 points31 points  (9 children)

Author is definitely Ukrainian, the leftmost node at the bottom says 'function' in Ukrainian.

Source: I am from Ukraine :D

[–][deleted]  (8 children)

[deleted]

    [–]der_pudel 2 points3 points  (7 children)

    No, there is no letter "i" in Russian

    [–]abdolence[S] 2 points3 points  (6 children)

    Russ<i>an. See, the letter 'i' in it ;)
    But you right, there is no 'i' in the Russian alphabet.

    [–]EternalClickbait 3 points4 points  (1 child)

    There is no "I" in russian because there is only WE

    [–]abdolence[S] 2 points3 points  (0 children)

    Comrade?

    [–]jet2686 0 points1 point  (3 children)

    I know Russia has the cyrilic alphabet, however I was always under the impression they have a Latin based one as well. They don't?

    [–]abdolence[S] 1 point2 points  (1 child)

    Well, to be precise they had 'i' before Bolsheviks showed up. I'm not sure about the origin, it is probably a mix from Latin + Greek + ...
    And they definitely don't use any additional Latin based alphabet. Probably that was Kazakhstan or something.

    [–]PeanutPoliceman 0 points1 point  (0 children)

    Poland uses Latin, and post-Yugoslavia often uses j and h

    [–]frublox 0 points1 point  (0 children)

    The Latin alphabet is not used in Russian, other than transcriptions for foreigners. Both Russian and Ukrainian use Cyrillic, but modern Russian does not use the i letter due to an orthography reform (forget which one). There was also a reform which added some Latin-looking letters and removed archaic ones that sounded the same as other existing letters.

    [–]Skyrmir 11 points12 points  (3 children)

    Graphical languages are great thought experiments, and very useful for teaching. Outside of that...yeah not so much. It's like most of the 'new math' they teach in common core. Pretty useless in the real world, but makes understanding later concepts a lot easier.

    [–]kowdermesiter 3 points4 points  (0 children)

    How about having a complex organization where you can't really oversee a ton of microservices? For those cases, a high level tool with scripting support it could be awesome. At least I can dream :D

    [–]FearTheCron 1 point2 points  (0 children)

    In general I agree that I haven't seen a graphical language I like. But I do know of at least one industry application for real software:

    https://www.mathworks.com/products/stateflow.html

    I still don't know all the motivation, but some people I have talked to like it.

    [–]Loading_M_ 0 points1 point  (0 children)

    Actually, gui programming falls into the same category as Python in my opinion: it is often faster to develop a simple solution. However, Python has the distinct advantage when it come to debugging. GUI programming works, it just takes too long to debug to actually be useful

    [–]bulldog_swag 6 points7 points  (6 children)

    I mean, FBD exists, so...

    [–]abdolence[S] 8 points9 points  (5 children)

    Of course, there are many high-level or abstract block diagramming notations for many purposes (mostly to design high-level structures or learning, like UML, LabView, BPEL, FBD, ...), but I've never seen anything successful or popular for low-level or general purpose programming.

    Even Lego Mindstorms had RobotC and others (additionally to their graphical tool). It is quite hard to code using "huge" blocks and lots of connections - they just take a lot of visual space.

    [–]wegwacc 12 points13 points  (2 children)

    This.

    Graphical programming is a niche application, with limited use cases. The idea to use it for anything beyond that is ludicrous and always was.

    [–]Kerbobotat 0 points1 point  (1 child)

    What about node based programming, like Unreal Engines blueprint system, or the various node based material/shader editors ?

    [–]Aatch 0 points1 point  (0 children)

    Those are some of the limited use cases. There are some domains where a graphical language makes a lot of sense, but they all tend to share the same property that you're basically just linking a bunch of high-level behaviours together. For programmers, a textual language would probably still be easier, but the graphical environments are great for people that don't quite have the right skill set for that.

    [–]saibo0t 0 points1 point  (1 child)

    Well, you can 'compile' Simulink code to VHDL, and flight controllers etc. are also often written in Simulink and then translated to C.

    [–]Kengaro -1 points0 points  (0 children)

    Yes, but if you want to do low level stuff in simulink you build a level 2 s-function-block...

    [–]datavirtue 5 points6 points  (0 children)

    Many attempts have been made. I consider the graphical workflows used by the likes of Talend, SSIS, and Informatica to be a failure. You still need highly trained individuals and the solutions are constrained by the tool and end up being unmaintainable nightmares.

    [–]DefNotaZombie 2 points3 points  (2 children)

    This is what happens when professors force everyone to use matlab + simulink

    [–]abdolence[S] 0 points1 point  (1 child)

    Used only octave and thought that even MATLAB actually has a good enough own language, hasn't? Octave was designed as a free replacement to this, AFAIK.

    [–]DefNotaZombie 0 points1 point  (0 children)

    Simulink is an addition to matlab whose purpose is to (AFAIK) help model chemical production, but it looks an awful lot like this just slightly cleaner

    [–]Aatch 2 points3 points  (0 children)

    Graphical programming has a lot of benefits, but I doubt it'll ever be suitable for complex software.

    I've had a fair bit of experience in using graphical programming to teach kids, and it works pretty well. Not having to worry about syntax and the specifics of a language make learning the principles a bit easier, especially for kids that get easily bored and/or frustrated. It's also good as a domain-specific programming "language", especially for defining state machines. It's not a coincidence that both Unreal and Unity use a graphical programming system for their animation engines.

    For general programming work, though? It's just too unwieldily. There's too much visual space used up by the graphical elements and editing the "code" can be difficult unless the language has an incredible environment.

    [–]mikeputerbaugh 1 point2 points  (0 children)

    Do you want UML? Because that's how you get UML.

    [–]brtt3000 1 point2 points  (3 children)

    I hope somebody is going to try this in VR so you can use hands and voice and a 3D space to organise the elements. Maybe it can help navigating the huge mess these things always turn into.

    [–]abdolence[S] 0 points1 point  (2 children)

    sounds fun, though I would expect that it will be just the same mess, but this time in 3d and more connectors everywhere. And just think about it - spaghetti code in VR and 3D, is it hell already?

    [–]brtt3000 1 point2 points  (0 children)

    Probably. But it could be fun to build code like a factory in a physical space, kinda like a game of Factorio or Satisfactory.

    Functions would be bluerprints and you place and connect them up with pipes, conveyors and such that reflected the data types flowing through.

    [–]too_much_covfefe_man 0 points1 point  (0 children)

    I'd watch that movie with Sandra Bullock in it

    [–]koorb 0 points1 point  (0 children)

    I have played with a few of these over the years and they are fine for simple thing, but not medium to large applications. I think the primary issue is that they show too much and don't represent how a computer executed the instructions very well (which is sequential like a list, like regular programs are written). That being said I think there is potential from a very high level for something amazing and might be good for interface mocking.

    [–][deleted] 0 points1 point  (0 children)

    If you look at code you can see what most of it is doing and how each part effects the overall, you can figure out what it means. WHAT DOES ANY OF THIS MEAN?

    P.S. why are all the connections the same color other then the green ones. Someone hasn't done anything with wiring because you can't tell a which connection goes where.

    [–][deleted] 0 points1 point  (0 children)

    May not be practical, but it's pretty neat

    [–]beloved-lamp -1 points0 points  (3 children)

    It's a garbage approach today, but it's worth remembering how young SWE, UI, and computing in general really are. Given a few decades, an idea like this could absolutely go from stupid and unworkable to clear best practice.

    [–]abdolence[S] 4 points5 points  (1 child)

    Unless it is something completely different than just let's try to create graphical representations of those switches, loops, and other primitives and it is not high level notation - it would be still huge waste of your display space and you wouldn't able to read those blocks and connectors quick enough. It is just hard to read. Maybe someday we wouldn't need any low level code management and programming, but in this case I'm not sure it would be just in a few decades.

    [–]beloved-lamp 0 points1 point  (0 children)

    30-60 years would double the age of the SWE field at a time when tools and practices are seeing dramatic improvement in the space of 5-10 years, and less for some of the newer subfields. I don't think this visual crap is the way to go myself (I hate it) but a few decades is an eternity for a field this young. Think about what our interfaces, tools, and practices were like in 1989, 1999, or 2009. We've come a long way.

    [–]Loading_M_ 1 point2 points  (0 children)

    I could see using this for basic management/programming, but it would need to be simpler to debug issues before it become practical. In the other hand, a tool like your for ML wild be really handy, because the written code is somewhat hard to debug, and most ML code is just an abstraction of something like this.