Hacker News new | ask | show | jobs
by abdullahkhalids 1198 days ago
The difference between Matlab/Octave and Python/Julia is the difference between Windows and Linux. Windows is a product that is designed to get out of the way, so the user can do what they are actually interested in (watching movies/doing business tasks), and the Linux is constantly in your face about your freedoms and which combination of libraries and packages you need [1].

To learn and use Matlab/Octave requires learning very little programming or the intricacies of programming. To use Python, one has to figure out packages and libraries and object-oriented programming. To even use Julia, which is much better, one has to think about, how can I write my code to avoid the initial JIT delay.

When I am thinking science, I don't want to think about any of those things. I want to think about science and science alone. The intricacies of the programming language should not bother me.

[1] I say this as a 15 year exclusive linux user.

1 comments

>Windows is a product that is designed to get out of the way,

I get your drift but I think your analogy is opposite. I absolutely could not function in windowsland because it's constantly getting in the way of what I want to do whereas Linux just works.

Maybe because you have a niche Linux uses and very specific distro. On Windows, there are no distro and no gui manager. Everything works. I have been to old folks home teaching computing. From starting Windows to surfing Internet to print out take less than 15mins. The teaching is very straight forward. The same for Linux which I taught a bunch of teenagers are nightmare when they bring their own laptops. So many drivers missing and breakage here and there. The irony is that wsl actually save the day because it just works. I can setup a scenario where closing my eyes and select 25 brands and install python anaconda and minecraft to just work. I can bet 100K usd you cant do the same in the same amount of time on Linux of ANY distro of your choosing. Simply you are damn good with your specific Linux and your niche habits doesnt translate to majority computer users worldwide. Take building controls very specific niche, Linux equivalent GUI server simply rare and usually lack the full feature of Windows equivalent. Yes, one can run Win VM in Linux to get it done, but boy that is getting complicated for engineers working in that field.
I dunno, there was a time about 10 years ago when drivers on windows were a nightmare, but Linux just worked. I mostly use stupid Linux distros (system 76) and not even installing the Linux (just as one usually doesn't install windows).