I have to admit I didn’t like the idea of another compiler starting from scratch, and I didn’t like its connection with python. Now, don’t bite me here, yes, I dislike python, I believe it is a hugely overestimated interpreted language and all the hype about it is not justified in any way. But don’t bite, if you like python then good for you, keep using it for all you like, and with all my blessings. Just don’t take what I am saying personally, and grant me the right to dislike what you like. Peace out.
Now, deespite the above, I started testing LFortran quite some time ago, and let me tell you first and foremost I like LFortran a lot. It is the mega-project in the Fortran community nowadays, it has a lot of potential and its progress is impressive. The community is also friendly and listening. It’s really a great project, and so far I have only good words to say about it. I look forward for the day it will be a “daily-compiler”.
That being said, I also have to mention I really dislike conda as well. Now, don’t get me wrong here, conda is a great tool for what it is. I just don’t want another environment in my system, with its own includes, libs, etc. Yes, it is isolated, it doesn’t really interfere with the rest of the system it is “installed” - but I still don’t like it. People do stuff like that in… that other popular “operating system” (they use MinGW, TDM-GCC, MSYS2, etc,) simply because there is no other sane way to do some programming there. But in GNU/Linux, FreeBSD etc, well those systems are tailor-made for programmers. In theory, we should not need yet another /usr
. In practice, however, conda is needed - for now. LFortran is in development, I can perfecty understand why conda is there, and I’m not blaming anyone for that.
Compiling LFortran from source is not always an option. Sometime ago, I managed to do that, right now building fails, presumably because of a dependency (which is installed on my system but doesn’t have the required version.) I could probably solve the problem by creating custom packages for the problematic dependencies, and install those on top of the ones the distro provides. But testing this workaround would be a pain, none of my computers is particularly “modern” and the system is literally unusable during compiling, with the fans turning at maximum speed. Compiling such a project from source again and again until the workaround works is not easy, especially since the problem comes midways, and I would have to do it several times until dependencies are ok. So conda is helping here. I can see it’s there for a reason.
To sum up: Don’t blame the project if you don’t like some things that are there for a reason. If you like what you get so far (as I do,) just be thankful to the developers for the insane amount of time and effort they put on the project. And if you want, help in any way you can. Testing and reporting problems is a great (and not particularly hard) way to help.