However, this week a problem arose in my new project that I am also dealing with in the cBAM project and I feel it needs sharing.
In both projects I need to develop some software to run on a PC as a user interface (UI). There are some differences between their requirement, but essentially they both need to run on a standard lab computer (if such a thing exists), have tons of functions, and most importantly – be intuitive and clear. Easy!
This led to an intresting dilemma for me – do I develop something in Python or Labview? I have experience in both – I’m a little more proficient in Labview but from a skills point of view, I’m perfectly capable of making this work using either coding language.
As a little intro for people who don’t have a clue what either language is, the cartoon below should make it pretty clear. One is a line-by-line language, the other looks like a FisherPrice drawing program for kids.
I tend to find that Labview is great for easy to use interfaces but Python is open source and has a lot more community support. I honestly couldn’t make a decision.
So to help, I wrote myself a little pros and cons list for using each language, which I hope might also guide anyone else thinking about using either of these programs.
- Drag and drop interface
- Plenty of existing GUI widgets
- Program doesn’t fail because I forgot to add a ; to the end of a line
- Lots of debugging options
- One click compiling into applications or installers
- My colleague can read Labview code
- Interface looks like it was made for a 3yr old
- Any UI made in it looks like every other Labview program
- Debugging feels like you are tracing a spider web
- Resource heavy (process and memory use)
- Developer edition cost is frankly nuts £3990
- FREE! which is exactly £3990 less than Labview
- Platform independent ( I can compile it into any language, including Raspberry Pi)
- Obsessively helpful support community
- Having pages of code on my computer screen looks hardcore
- Thousands of free packages to add complex routines that I barely understand
- Very resource efficient
- There’s a Python expert sitting at a desk about 4m away from me
- Making a good user interface requires a LOT of work
- Most UIs look like 90’s throwbacks
- Debugging is 75% guess work, 25% magic powers
- Spelling errors = bugs; which for a dyslexic is painful
- Version changes can break everything
- My colleague hasn’t the faintest clue what I’m sending him
So because both packages need to be extra user friendly, I’m going to have to stick with the FisherPrice look-a-like Labview. I just wish someone would hurry up and develop some easy to use pretty UI builders for Python!