Answer the question
In order to leave comments, you need to log in
Is it bad to have project dependencies as executables in Go and other languages?
In general, this question arose due to the fact that there is an application for converting a document with a cross-platform gui, but to convert documents to different formats from doc to pdf, for example, a C # program is used on Windows and sometimes you need to install .NET on computers, and on ubuntu need lowriter from libre office writer.
The real question is, is it considered normal practice to pull other executables and sometimes quite large projects (libre office writer) as dependencies?
Answer the question
In order to leave comments, you need to log in
What is your alternative?
Can you implement all the functionality in your program without the use of external software in a sane time?
If so, implement it, it will certainly be better.
But usually such complex functionality is implemented in dynamic libraries. Programs like lowrite use this functionality. You can also use the library instead of running external software. But this, of course, is much more complicated and can take a lot of time.
You can opt out of installing .net only by using non-.net related PLs.
lowrite may be contained in other, smaller packages that come with libre office, and the libraries it uses may be in a third package.
Ideally, this is best avoided. But this is not a tragedy.
How do you distribute your project? The user receives an executable file. And it's not scary that there are several files and one sometimes launches others.
The only problem is that you cannot rebuild your project for another system, or fix bugs in this third-party executable. From this point of view, it is better to use third-party projects, like libraries.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question