TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Full Metal Jacket: A visual dataflow language (2016)

56 pointsby mr_tyzicover 6 years ago

18 comments

rdtscover 6 years ago
I have seen visual dataflow languages and even worked on some of them. They usually work better in specific domains like stream processing, control systems, signal processing and such. Even then, once a &quot;program&quot; gets complex it can get tangled fast. A node with 3000 edges starts to look messy. There are some things you can do to fix it but then you just kind of wish to use a simple script.<p>As for general computing, the most thought out language I&#x27;ve seen so far is probably <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;DRAKON" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;DRAKON</a>. Apparently you can now even try it online: <a href="https:&#x2F;&#x2F;drakonhub.com&#x2F;try-me?example=mind157" rel="nofollow">https:&#x2F;&#x2F;drakonhub.com&#x2F;try-me?example=mind157</a><p>I like Full Metal Jacket in that it starts with a functional approach (it seems to be based on LISP) and might actually be a good way to introduce functional programming to newcomers. For example, here you just have a &quot;factorial&quot; node when you define the factorial function: <a href="http:&#x2F;&#x2F;www.fmjlang.co.uk&#x2F;fmj&#x2F;tutorials&#x2F;Recursion.html" rel="nofollow">http:&#x2F;&#x2F;www.fmjlang.co.uk&#x2F;fmj&#x2F;tutorials&#x2F;Recursion.html</a> Some people really struggle with recursion initially and if they are visual learners this might be helpful.
评论 #18793441 未加载
评论 #18793076 未加载
评论 #18799090 未加载
评论 #18794387 未加载
评论 #18794484 未加载
Eli_Pover 6 years ago
Visual representation for code has its own niches for certain.<p>The most newfangled thingy I&#x27;ve encountered is Ballerina[1], it&#x27;s kind of text &lt;-&gt; diagram convertible code, cloud-oriented. Looks cool; there are some codes on github[2].<p>But anyways, I think it may be worthy as a domain-specific environment only. Because as a general-purpose language, visual languages are claimed to have improved <i>perceptible difficulty</i>, but in general case, they don&#x27;t.<p>Try to define perceptible difficulty, or search for implementations in code linters, I believe it&#x27;s always subjective, like max lines of code per function. The <i>true</i> code representation is multidimensional and incomprehensible for a monkey brain, even if you&#x27;d made it look like a multi-layer Manhattan-like glowing graph.<p>[1] <a href="https:&#x2F;&#x2F;ballerina.io&#x2F;philosophy&#x2F;" rel="nofollow">https:&#x2F;&#x2F;ballerina.io&#x2F;philosophy&#x2F;</a> [2] <a href="https:&#x2F;&#x2F;github.com&#x2F;search?q=ballerina" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;search?q=ballerina</a>
评论 #18793730 未加载
xvilkaover 6 years ago
Something like Luna[1] language looks saner - where it has both textual and visual representation.<p>[1] <a href="https:&#x2F;&#x2F;luna-lang.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;luna-lang.org&#x2F;</a>
kenover 6 years ago
There&#x27;s one thing here I strongly agree with:<p>&gt; There is no point developing new programming languages unless they&#x27;re radically different from existing languages.<p>95% of the time, any language from the past few decades would work fine for what I&#x27;m doing, and I run into far more problems from languages changing than from languages lacking features. (Python 3 is the poster child for this right now, but I don&#x27;t think it&#x27;s even the worst offender.) One of my favorite languages is Common Lisp, and that hasn&#x27;t changed since the 1980&#x27;s.<p>There&#x27;s also something here I strongly disagree with:<p>&gt; Programs are composed almost entirely with the mouse rather than keyboard, and type inference and other checks take place while you edit your program.<p>If there&#x27;s one thing that&#x27;s true of all programmers today, on any platform, it&#x27;s that they <i>love</i> their keyboards. You&#x27;ll never get anywhere trying to get them to edit a program with just their mouse. Graphical programming languages are cool, but they need to incorporate keyboard editing. Like any IDE, you should be able to work with a mouse, but not required to. Put &quot;graphical representation&quot; and &quot;mouse-only editing&quot; in the same boat and the latter will sink the former.<p>I&#x27;ve known a couple programmers who hooked up foot pedals to their editors. I know nobody who&#x27;s ever written programs with just a mouse. So based on my experience, you&#x27;re going to have a tougher time selling anyone on this than if you&#x27;d made a programming language which required you to use your feet.
评论 #18799185 未加载
lincpaover 6 years ago
The Clojure threading macro provides language-level support for The Pure Function Pipeline Data Flow <a href="https:&#x2F;&#x2F;github.com&#x2F;linpengcheng&#x2F;PurefunctionPipelineDataflow" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;linpengcheng&#x2F;PurefunctionPipelineDataflow</a>
merricksbover 6 years ago
Discussed at the time:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=12106259" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=12106259</a>
Hyperborianover 6 years ago
I&#x27;m just a few pages in to the tutorial and I already want to try it out myself... but how? Where&#x27;s the link?<p>Is this not available to the public yet?
评论 #18793341 未加载
评论 #18793257 未加载
IshKebabover 6 years ago
Looks like Labview. Nobody who has used Labview would try to recreate it.<p>One of the main problems I find with these type of systems, is that although you <i>can</i> add comments and maybe even organise your diagrams nicely, it is such a pain to do that nobody does. You always end up with literal spaghetti code with zero comments.
hjekover 6 years ago
Looks a lot like Pd[0].<p>[0]: <a href="https:&#x2F;&#x2F;puredata.info&#x2F;" rel="nofollow">https:&#x2F;&#x2F;puredata.info&#x2F;</a>
drivingmenutsover 6 years ago
My first thought was “it’s Visual Lisp”. My second was that it reminded me of an old music tracker program called Buzz Tracker. It was a bitch to learn, but once you got a few concepts down, it was insanely powerful.<p>It was also pretty unstable.
评论 #18793134 未加载
sidcoolover 6 years ago
This is pretty cool. I am looking for a tool that can help with visualization of Linear Programming&#x2F;Optimization problems. How constraints interact etc. Would be pretty cool.
6nfover 6 years ago
Hmmm I&#x27;m trying to picture what a debugging session with something like this might look like... I can&#x27;t decide if it would be amazing or impossible
ivanhoeover 6 years ago
Considering that I spend at least 30% of my work time in the command line I really have some doubts about these &quot;text is obsolete&quot; ideas.
评论 #18794501 未加载
评论 #18793153 未加载
deadmankuover 6 years ago
when you look at code it&#x27;s hard to recognize. if there is a way to success of a visual programming language that is the code should appeal more recognizable than text.
theshadowknowsover 6 years ago
Funny how so much of the underlying code used to make this “keyboardless” language was written on a keyboard. I’ll be more impressed when there’s a “FMJ” implementation written purely in “FMJ.”
vectorEQover 6 years ago
i dont see how this is different from regular programming to be honest. perhaps that you dont have side effects as a possibility, but i just see someone making functions and tying them together and supplying inputs and outputs? :&#x2F; seems super tedious to have to use the mouse, like with most things programming related, a keyboard is generally much easier to use.
caymanjimover 6 years ago
The name of this language is stupid. It evokes violence, either via the bullet reference, or via the film of the same name. I&#x27;m not thin-skinned or even prone to political correctness, but I still find it slightly insensitive for no compelling reason.<p>Then I read the author&#x27;s explanation (<a href="http:&#x2F;&#x2F;www.fmjlang.co.uk&#x2F;fmj&#x2F;Name.html" rel="nofollow">http:&#x2F;&#x2F;www.fmjlang.co.uk&#x2F;fmj&#x2F;Name.html</a>), which makes a comparison between lisp (the programming language) and stereotypes about homosexuality (with the requisite &quot;I have gay friends!&quot; disclaimer).<p>Maybe the author should grow up.
评论 #18793266 未加载
评论 #18793394 未加载
评论 #18793144 未加载
hliyanover 6 years ago
&quot;Text-based languages are so 20th century&quot;<p>This is arguably NOT true. Visual languages have consistently failed to match, let alone out-do textual languages for decades, and with good reason.
评论 #18793945 未加载
评论 #18792898 未加载
评论 #18794182 未加载