Closed VisenDev closed 1 year ago
Well after giving this some thought, here are some options:
TLDR: I think we should use JS
Python: -pro: relatively simple -pro: cross platform -con: most of us have never created a gui with python -con: python interpreter must be installed on target machine -con: python libraries must be installed on target machine -con: most of us will need to relearn python for this project
C/C++ -pro: we all have experience with it -pro: allows direct access to hardware -con: memory management is more difficult -con: creating a gui will be difficult -con: libraries may not be cross platform -con: Build system (cmake, etc) is complex -con: compiled, which means original source code can be lost
JavaScript -pro: most us have taken webdev and thus are familiar with js frontends -pro: simple to use (dynamically typed, garbage collected) -pro: cross platform -pro: can be easily bundled into a standalone application using electron (which i have experience in) -pro: libraries will be cross platform -pro: build system with npm is simpler than make/cmake -pro: interpreted, source code is present in application -con: some of us may not be as familiar with it as C++
To me, it seems like a Javascript app using electron will be our best choice. Any other opinions or comments? (We need to decide this before Monday)
More thoughts:
C Pros
-A C application would be much faster and dramatically more lightweight than python or javascript
-We could ship the C application as a single .exe file, no external dependencies or other complexities required
-Using arena allocators can make managing memory much simpler
-Libraries like raygui.h
can make gui creation in C pretty painless and cross platform
-Direct hardware access may mean there are more abundant serial port libraries available for C
I'm good with JS or C, but I lean more towards JavaScript.
Golang Chosen
Decide which language we want to use for our project