I had some free time today so I decided to check how much community invests in the final product of it's language. So I decided to target three languages for this - Python, Rust and Ruby.
My target machine(s)
- Windows 7 SP1 and Windows 10 (1904)
- 8GB RAM (both machines)
- 8GB dedicated broadband line
What I want to test?
- Installer type
- Installation process
- Installation issues
- Community support on Installation
Python has installer for different version for each targeted platform. My OS being Windows I downloaded the MSI installer. The experience was pretty smooth. No errors. Installation worked and I can easily use the python on command prompt. It also added the PATH on it's own. No action required from my side.
- Easy to install
- Updates PATH on it's own
- Uninstall is painless
- PIP works with no issues
Now this is where the drama starts. Rust community has no option for MSI based installers for Windows users. They offer rustup utility from where they allow you to do the command line installation. Each part of the Rust gets downloaded separately in order to keep things current. Fair enough. But the installer went down plenty of times, on which I thought it was my internet but I tested this on different connections but it continued to have issues on windows machine. Biggest drawback of Rust, it does not add the Cargo path on it's own but you have to manually do it. My Windows 7 machines command prompt never recognized cargo command and even with PATH updated, it continued to throw errors. Plus windows based install requires MSVC build tools which is another dinosaur to handle.
- Harder to install
- Requires MSVC build tools
- rustup can hang while downloading
- No MSI installer
- Uninstallation is pain
- PATH update is manual
I don't even have to mention how bad Ruby community is going for years as far as developing on Windows. There are multiple community projects that allow ruby installs for windows. I tried both official and devkit method. And both got me into issues. Gem installation continued to throw error with CA cert and other SSL errors. If you plan on developing ruby apps then better do it through Ubuntu under some virtual machine or docker or vagrant.
- Lot of pain for stable install
- Gem installs are even more pain
- Lot of errors while downloading gems
- Some gems just don't work on Windows.
I must say with years of experience of Python foundation and it's active community, it shows in their effort, when you see they are paying attention to tiny details. Rust is pure pain as far as community support and installer is concerned. I don't know how some developers are so blindly advocating Rust when it has lot of issues to sort out for platform like Windows.
I stopped expecting from Ruby and I am sure many others too have reduced their expectations by now. So I'll ignore anything about Ruby on Windows. I just wanted to test it's state for Windows in 2019. I know Rust fans would say things like why do you need installer, command line is fine and you can use command line to install it but they are ignoring the PATH issues Rust has on Windows. I think Rust community needs to be open about opinion on Windows development.
My verdict: Python is boss, as far as installer and community is concerned. I don't mind reporting some of these issues to development team on github or any other specific place but based on their own design decisions towards platform like Windows. I wonder apart from Python any community would even listen to such opinion?
Note: Do understand that these are observation specific to Windows. Your experience on Linux and Mac may not be the same.