This is just a thread to give feedback as a new user working with Windows and the problems I have.
I am a medical engineer and wanted to use Julia to develop software others can use (other engineers, laboratory workers, researchers etc.)
Since 100% (sic!) of our customers but also of my colleagues and collaborators e.g. in EU-funded projects use Windows or macOS on their desktop computers, of course I must provide software that runs under Windows. It does not matter if I like Windows, either I provide it, I can establish a product, or not.
I am a disappointed about how Julia is developed because Julia runs on Desktop computers - where Windows have > 80% market share. Therefore I assumed Julia is developed having in mind that Windows is the most important OS.
But this is not the case. Instead Unix-like OSes seem to have priority.
Examples:
- install Julia on Windows
The installer tells you “restart installer as Administrator to install Julia system wide”
Therefore I restart the installer with Admin privileges
result: Julia is by default installed to the user folder of the admin, not to the system. So under
C:\Users\<admin username>\AppData\Local\Programs\Julia-1.11.4
instead of
C:\Program Files\Julia-1.11.4
Also, the julia.exe is not added to the system-wide PATH environment variable of Windows.
So in fact, normal users of the PC cannot use Julia.
Mistakes happen, sure, but how can it be that nobody notices this? How is the installer tested?
-
PackageCompiler
is a core feature of Julia because to be able to use Julia for other applications, you must be able to make either an app or a library out of your Julia modules. Now, after many hours of trying, I am not able to get it to work under Windows). So I cannot use Julia for my purpose.
Also, I have for example two C-compilers installed, MinGW-w64 and Visual Studio, butPackageCompiler
does not care, it always downloads its own version of MinGW-w64. How isPackageCompiler
tested that it does not recognize an existing MinGW, despite this is in Windows’ system-wide PATH environment variable? -
juliac is still experimental, but OK, it provides exactly what I need. So I gave it a try via Julia 1.12beta1. And I failed because it hardcodes Unix-special compiler settings. There is no
cc
compiler on Windows. And juliac does not provide an option to specify the compiler. Apparently juliac is developed without the OS in mind that has the largest market share. How can that be? As I developer the goal is that others can use my programs, and not to please me or my personal needs.
There are threads like this one notice that Julia is not becoming more popular. And my experience: because it does not work well under the OS most scientists and lab workers use.
Regarding the Julia project lead team the focus must be to supply a product suitable for most of the users. Julia 1.12 is in beta phase, and since I was once a release-manager of a large OpenSource program (FreeCAD), my self-understanding was that before we go out for beta testing, we must be sure the basic things work under the 3 main OSes (Windows, MacOS, Linux). And for example I had to postpone the beta several times because of issues under MacOS and it was worth it in the end.
But Julia 1.12 is out as beta despite the main new functionalities were apparently not tested under the most important OS. --trim
is one of the main new things in Julia 1.12 but existing reports that this does not work, are unanswered since 2 weeks. I don’t understand the development policy: There is a bug report that the main new feature is not working under the main OS but a beta of Julia is released. Aren’t there checklists how releases are done?
This post is like an outcry to trigger something. As a new user I don’t know internals of the Julia project, if, what and how things could be changed. I can only say, as it is Julia is not attractive for average engineers and science-related software developers with the need to serve others using Windows.