Comment by leoedin
13 years ago
I've unfortunately had to spend a great deal of time working with Labview (a graphical engineering software development environment that works based on data flow. Functions are represented by blocks with terminals for input and output data. You wire functions together to pass data between them). Some aspects are horrible (primarily the maintainability of anything more than a trivial application), but they also do some interesting things that I thought were quite parallel to this demonstration.
Documentation is quite well embedded into the software, and comes up with a similar box detailing the docs for every function you come across. The system also shows you the flow of data through a programme, allowing you to debug and see the data types moving between functions. You can dive into sub-functions and see what data's moving through them. Debugging can be fantastically quick if you constructed your programme carefully. If you didn't though, it's hell (see the point about maintainability).
If you wouldn't mind me (your friendly, neighborhood National Instruments programmer browsing HN) asking, could you expound a little more on other things you've found horrible with LabVIEW?
I completely understand your sentiment on debugging and maintainability. I've done my fair share of quick-and-dirty apps that did one little thing wrong and a million highlighted executions and five years later, I've finally got a handle on what's wrong (mind you, I'm nowhere near a LabVIEW expert).
I love our documentation tool as well. We call it Context Help, and as you highlight over different parts of your code diagram, it's handy to see a quick, readable summary with links to full documentation for every single node and system available in LabVIEW.
If only all IDEs had the same functionality and it's the reason why I'm super psyched to see Light Table come out. Ready to be blown away.