Why my friend hates LabVIEW

So there's a lot of takes on why some people hate LabVIEW. Here's mine.


I have a friend who is an engineer and had been asked to learn LabVIEW for a work project. 'Oh goodie', I thought, 'someone else to talk LabVIEW with!' But to my sorrow, he gets angry even when the word 'LabVIEW' is mentioned. He hates it.


'I can't find the examples. It's so slow to write. I can't get it to work.'.


I feel like it's very hard to learn LabVIEW without someone experienced standing behind you. I remember struggling so badly in my first few weeks. Spending 8 hours trying and failing to write some simple DAQ code. Why is there a cross on my arrow? Why is that line thicker than the other line? My wire has wiggled all around the screen and is now stuck behind a structure, help. It was painful. Way worse than other languages I had learnt before.


Okay, what does that mean?


I think what people find difficult is the steep learning curve to learn the IDE. The jargonny words like 'front panel', 'block diagram' don't help either. And the overall approach is so different - people are not used to having to remember things like colours and wire textures. As an analogy, at school I learned Spanish and Mandarin Chinese. Learning LabVIEW reminds me of learning Mandarin - after only knowing languages with the Roman alphabet, having to memorise characters felt very strange and like another layer of complexity.


However, the extra 'visual' layer of complexity is also LabVIEW's superpower - now that I have put the effort into learning it, I can get the gist of an application very quickly, compared to reading pages and pages of text. And also see at a glance whether I am going to like someone's coding style.


I just wish it was easier for new users to find examples (and good ones!), and that the IDE was more intuitive. Would the option to turn on callouts of tips after install (e.g. how to autostraighten wiggly wires, how to trim empty space, reasons why wires are broken), be one potential solution? For example, a 'training' mode that detects the worst things about the code you are writing and makes suggestions? I suppose what I am suggesting is a bit like a cross between VI Analyzer, broken run arrow menu and the '?' button, which are all great features but not necessarily obvious for new users. Food for thought.


Thinking about it, that would be something that would be fun to write... perhaps a project for the dark autumn evenings that approach! Watch this space.


Comments