Live data from Hacker News

Show HN: DeepUI Programming Studio – A different approach to programming

deepui.io

51–60 of 136 posts

Re: Show HN: DeepUI Programming Studio – A different approach to programming

#51

There is a deeper question undercutting this project (and Bret Victor's Drawing Dead Fish talk and related approaches). That question is: how can we represent computation in an intuitive and scalable way? Conventional programming languages is one answer. They associate programs with text. Some believe there is another way, by associating programs with diagrams. A more abstract example: machine learning associates pro…

> is there a well-defined ordering? > a = 0; b = 1; c = a + b; In pure functional languages, these expressions form a dependency graph and the interpreter or compiler may choose an ordering and may cache intermediate results We may even represent the program itself as a graph, just like you suggest with ML programs, but this is a general purpose program Obviously we can't do this in imperative languages. I think pure…

Back in the late 80s/early 90s after I learned C, I remember wondering in awe how in the world compiler optimizations worked. But they do the same thing, they build (often intricate) dependency graphs. In the end, if a human can translate between imperative and functional programming, then there's no reason a machine can't.

I think the move towards functional programming, and putting the onus on developers to do the mental elbow grease of converting what are largely macro-style tasks (do this, do that) into functional code (feed this transform into this one) has done a great disservice to software engineering, especially with respect to productivity.

For a specific example: I use map() frequently with a use() clause or some other means of passing immutable variables to the inner scope. I have done the work of building that dependency graph by hand. But I should be able to use a mundane foreach() or even a dreaded for() loop, have the compiler examine my scope and see that I'm using my variables in an immutable fashion, and generate functional code from my imperative code.

What I am getting at is that in the olden days we used synchronous macros do a series of tasks and even though it was mediocre at best, it gave tremendous leverage to the developer. Today the amount of overhead required to map-reduce things or chain promises and carry the mental baggage of every timeout and failure mode is simply untenable for the human brain beyond a certain complexity. What we really need is to be able to read and write code imperatively but have it executed functionally, with every side effect presented for us.

I realize there is a lot of contradiction in what I just said but as far as I can tell, complexity has only increased in my lifetime while productivity has largely slipped. Shifting more and more of the burden to developer proficiency is just exactly the wrong thing to do. I want more from a typical computer today that is 1000 times faster than the ones I grew up on.

Re: Show HN: DeepUI Programming Studio – A different approach to programming

#52

So they've reinvented Matlab Simulink or LabVIEW with a dorky interface and .5% of the functionality.

Simulink and LabVIEW to DeepUI can be compared to what C is to Lisp.

Simulink and LabVIEW are made for electrical engineers transitioning to developers. They are good tools for building and shipping products.

DeepUI on the other hand introduces new paradigm for visual expression, and it looks to be more targeted towards computer scientists and experimental artists (and maybe hobby game developers with aversion to traditional programming).

I agree that in all these visual programming languages the interface is always way too slow. They tend to completely ignore the keyboard which is by far the fastest input device.

Re: Show HN: DeepUI Programming Studio – A different approach to programming

#53

Is it just me? Or does this look 10 times geekier than writing actual code? I think the project is trying to be a user friendly way of writing programs, and I think that's an awesome idea, but the actual product looks otherwise. I finished the video and still have no idea what the hell was going on through out the entire video.

Same here, the video is way too long without giving actual information I was looking for. I guess they should create two videos, one for programmers and one for everybody else.

Re: Show HN: DeepUI Programming Studio – A different approach to programming

#54
post #19

Earlier quoted context omitted.

Maybe because GNU/Linux users are allergic to money for desktop software.

Not a very mature comment for HN, this kind of shit posting is really below what I have come to expect from this community. That said, it maybe enlightening to the OP to answer with some kind of effort and truthfulness. The game development industry is highly compartmentalized with respect to tooling, platforms, IDEs, etc. It's mostly proprietary software that still runs the game. These antiquated models of software…

I am not sure how more maturely should he put it, but it is definitely true. You can verify it by looking at statistics from different category of software: games, CAD apps, etc.

Re: Show HN: DeepUI Programming Studio – A different approach to programming

#55

There is a deeper question undercutting this project (and Bret Victor's Drawing Dead Fish talk and related approaches). That question is: how can we represent computation in an intuitive and scalable way? Conventional programming languages is one answer. They associate programs with text. Some believe there is another way, by associating programs with diagrams. A more abstract example: machine learning associates pro…

> We don't, however, try to understand what "thought" is, and work backwards to form a representation of it.

Yes, we do. ML/AI is a moving target that literally represents the current SOTA in doing just that, and even symbolic logic itself is the outcome of an older, a priori, way of doing that. Actually, analytic diagrams are also an outcome of one approach to that. So, all programming methods you mention come from some effort to model thought and make a representation of that model.

Re: Show HN: DeepUI Programming Studio – A different approach to programming

#56

Earlier quoted context omitted.

> is there a well-defined ordering? > a = 0; b = 1; c = a + b; In pure functional languages, these expressions form a dependency graph and the interpreter or compiler may choose an ordering and may cache intermediate results We may even represent the program itself as a graph, just like you suggest with ML programs, but this is a general purpose program Obviously we can't do this in imperative languages. I think pure…

Back in the late 80s/early 90s after I learned C, I remember wondering in awe how in the world compiler optimizations worked. But they do the same thing, they build (often intricate) dependency graphs. In the end, if a human can translate between imperative and functional programming, then there's no reason a machine can't. I think the move towards functional programming, and putting the onus on developers to do the…

I enjoy functional programming because it's easier to reason about the code. Often it's easier to write it, but it's true that sometimes it's harder. I find that when I need to read and understand that code later, though, functional programming is usually a win. The same factors that make it sometimes harder to write - state must be passed around explicitly, idiomatic control flow constructs are less general, mutability is explicit and discouraged - make it much easier to understand later, because the interactions between different parts of the system are very clear. Compilers can certainly transform imperative code into the same form in many cases, but the benefit of functional programming is for my ability to reason, not the compiler's.

That said, you can write spaghetti code in any language. =)

Re: Show HN: DeepUI Programming Studio – A different approach to programming

#57

Earlier quoted context omitted.

> is there a well-defined ordering? > a = 0; b = 1; c = a + b; In pure functional languages, these expressions form a dependency graph and the interpreter or compiler may choose an ordering and may cache intermediate results We may even represent the program itself as a graph, just like you suggest with ML programs, but this is a general purpose program Obviously we can't do this in imperative languages. I think pure…

Back in the late 80s/early 90s after I learned C, I remember wondering in awe how in the world compiler optimizations worked. But they do the same thing, they build (often intricate) dependency graphs. In the end, if a human can translate between imperative and functional programming, then there's no reason a machine can't. I think the move towards functional programming, and putting the onus on developers to do the…

This. Well put.

Re: Show HN: DeepUI Programming Studio – A different approach to programming

#58
post #31
post #19

Earlier quoted context omitted.

Maybe because GNU/Linux users are allergic to money for desktop software.

Out of respect for Linus, it should be called Linux, and not by some made-up name.

A lot of people worked on the user space, too. I understand why both camps want to get some of the credit.

Re: Show HN: DeepUI Programming Studio – A different approach to programming

#59
I like it and I think this is the general direction that creating applications will look like in the future.

But don't throw away text-based programming yet; the wiser move would be to combine the two.

Find use-cases were visual DeepUI style programming shines and is vastly superior to text-based programming, but let me polish the details with old-school text source code.

There are apps which already do a lot of this, for example Unity - you can assemble your scenes and animations visually and tune it up with code.

Re: Show HN: DeepUI Programming Studio – A different approach to programming

#60
I worked on Accelsor which is a tactile-spatial programming language, and I think the ideas here are actually really good (so don't let HN haters get you down).

Ultimately work like this though leads to needing to reinvent all of programming (unfortunately) for instance, I'm now having to build a graph database to handle Turing Complete systems that are being collaborated on in realtime (see http://gun.js.org). So prepare for a long haul of work ahead of you. Get to know people in the space, like me and the Eve team, etc.

If you persist long enough (don't let money or lack of money stop you) you'll make a dent. :)

Post reply on HN