Live data from Hacker News

NoFlo Kickstarter, the hacker's perspective

bergie.iki.fi

11–20 of 51 posts

Re: NoFlo Kickstarter, the hacker's perspective

#11

As much as I want to love this thing, I can't help but feel like they are trying to solve an unsolvable problem. We don't consider Michaelangelo a genius because he thought up the David statue. We consider him a genius because he went through the process to make the statue exist. Great software exists not because someone thought it up. Great software exists because someone went through the process of making that soft…

More than making coding easier, I think we're trying to give strict structure to code and pair it with a visual metaphor to help manage complexity. There is a learning curve, but we're designing it to stick close to JavaScript.

If we succeed, I imagine that we'll just increase the complexity of the coding that we take on. That's an interesting possibility. I'd like to imagine a new generation of startups with more interesting tech than CRUD.

Re: NoFlo Kickstarter, the hacker's perspective

#12

As much as I want to love this thing, I can't help but feel like they are trying to solve an unsolvable problem. We don't consider Michaelangelo a genius because he thought up the David statue. We consider him a genius because he went through the process to make the statue exist. Great software exists not because someone thought it up. Great software exists because someone went through the process of making that soft…

>Any tool that claims to make coding easier is nullified by the fact that you have to still have to learn that tool too!

This statement is proven false by the number of IDE's that claim to make coding easier, and in fact do.

Noflo makes code easier to maintain and collaborate on by providing a visual map of how code is designed. The benefits of which should be plainly apparent if you have ever been tasked with maintaining >10,000 of lines of code.

Re: NoFlo Kickstarter, the hacker's perspective

#13

As much as I want to love this thing, I can't help but feel like they are trying to solve an unsolvable problem. We don't consider Michaelangelo a genius because he thought up the David statue. We consider him a genius because he went through the process to make the statue exist. Great software exists not because someone thought it up. Great software exists because someone went through the process of making that soft…

What is your point? Regardless of how easy or hard the tools we make are obviously someone has to learn them to use them, and when they use them well it will be praised. If this allows people to make better and more robust software with less skill, the bar gets raised and that's a great thing. You could say the same thing about any new tool or language but, well, that's how things develop.

    Is it a magic bullet? No Yes
                           |   |
                          Ok.  |
                               |
                  Find some larger things to shoot. Repeat.

Re: NoFlo Kickstarter, the hacker's perspective

#14
I'm not quite sure what problem is this solving. What exactly does dataflow programming allow me to do that is not possible with non-data flow programming? It appears that the single components are still text, and data flow is only used to hook up these components. So how is this different than say an IDE with definition and reference lookup?

I've used Pure Data (which they mention) a little bit and here is an example of a somewhat advanced program. http://i.imgur.com/NRtG8Ai.jpg [1]. For Pure Data, dataflow somewhat makes sense (considering the problem domain) but if I had to pick between debugging the schema above and debugging text code, I think that I'd choose the latter.

[1] Image is from here http://www.spazioclang.org/eventi/live-electronics-con-pure-...

EDIT: Lol, here's an example of another PD program I found. http://i.imgur.com/Flwviol.jpg Now imagine that you inherit a legacy codebase that looks like that.

Re: NoFlo Kickstarter, the hacker's perspective

#15
From a teacher's perspective this looks excellent. I start teaching my students programming using Scratch. Continuing on to a more advanced visual programming interface would be great. It reminds me a little of the visual scripting interface inside Cinema4dD- Xpresso.

Re: NoFlo Kickstarter, the hacker's perspective

#16
From the kickstarter page:

      > If you’re a programmer, deep down, you know code is bad, it rots, 
      > and with each new line your software accrues complexity debt. 
      > New code means more bugs, more refactoring and more time needed
      > to bring someone else up to speed.
Yeah, and moving little interconnected boxes around a project workspace will solve that? It's not like visual programming is something revolutionary new and different - it's just another representation of the same old thing. So the chances that it will solve the current problems with large code bases are the same as a green car being faster than a yellow car only because of the color.

Re: NoFlo Kickstarter, the hacker's perspective

#17
Looks like an interesting way to enforce the pattern of testable, reusable components for developers that tend to end up with spaghetti code. However, I think it's a little dubious to say that designers without coding experience will suddenly become empowered to contribute to the code base (or write their own applications) in any meaningful way.

Looking at one of the sample pictures on the Kick Starter page I see AnchorY out connected to SpringY anchor and Touch start connected to DragX open. I literally have no idea what this is doing. I probably would have connected Touch start to DragX in, though apparently that would be wrong. So as a non-coder I need to understand what every component does (which probably is not explained in layman's terms), what inputs are, what outputs are, what the specific component inputs and outputs are, and what those actually do (again in layman's terms please!).

More importantly, I need to be able to think like a coder and know how to break large problems down into small components and be able to figure out how to then wire those together to get the desired outcome. And as soon as I hit a bug or it doesn't do what I want, I'm guessing I'm just out of luck because everything is a black box to me.

I remember some usability studies that we did at Microsoft that was testing a simplified flow control UI to do basic programming. We brought in people that claimed to have at least scripting experience if not coding experience. We should them a constrained UI that had some operations (ping a server, start a server, stop a server) and basic flow control (if, for, etc). We asked them to reboot a server as a warm up question - since no 'reboot' operation was provided they just need to combine a stop server with a start server. We lost 75% of the participants at that step. It was pretty eye opening to see first hand that not everyone can think like a developer, it has nothing to do with providing a nicer UI or pretty visuals. Problem decomposition and recomposition are learned skills.

I really like the approach and think it can be very effective at improving the overall experience for developers. But to say this is somehow suddenly going to allow somebody with no coding or developer experience to "skip the tens of thousands of hours becoming fluent in syntax and start visually hacking on your application now" just reeks of marketing bs.

Re: NoFlo Kickstarter, the hacker's perspective

#18
I concluded that they are trying to open source what https://www.mashape.com does behind the scenes, visually. Connecting the different parts of the SOAd web, in the sense of docker and containers. It's true- why can't newly released services just work like legos? Say you want to support a new payment system, or a new analytics, it's just drag and drop with this, hopefully; right?

Re: NoFlo Kickstarter, the hacker's perspective

#19
Throwing this out there, I have shelved a similar web-based project that did this with Verilog designs, which lends itself more naturally to this struture imo. I stopped because I don't believe there's a big enough market for it. That, and I wasn't sure how to tackle the problem of thousands of I/Os in a visual format (would make things real hard to see).

Re: NoFlo Kickstarter, the hacker's perspective

#20
post #17

Looks like an interesting way to enforce the pattern of testable, reusable components for developers that tend to end up with spaghetti code. However, I think it's a little dubious to say that designers without coding experience will suddenly become empowered to contribute to the code base (or write their own applications) in any meaningful way. Looking at one of the sample pictures on the Kick Starter page I see Anc…

What would have happened if the question had been rephrased to "Ok, you have stop car, start car and check car. What do you do to restart a car"? Perhaps they would have done a lot better because they have a better understanding of the car domain.

The purpose of a visual language is not to replace domain experience. If you put me in front of a drawing program with a pallet of red, blue and green and ask me to create the color cyan... Then we're gonna have a bad time.

Visual programming does not claim that critical thinking is not required: aka programming in this context.

We've chatted with people who've said "I can not get the coding thing. That has always been hard for me. Designing and taking bigger concepts and parts and putting them together: assembly. I get that." These people can solve problems, they understand critical thinking. They have expertise in their domain.

What they don't get is a mapping process of automating a real world system (what programming is) in a computing device by coding out the solution.

Don't even get me started on education where students are expected to learn how to think critically (do that mapping thing) and fight with, to them, totally nonsensical compiler errors as they try to learn coding and syntax.

In my opinion, a lot of brilliant future programmers are lost because they don't enjoy fighting the compiler/interpreter.

Post reply on HN