Zależy od tego, w jakim środowisku prowadzisz badania. Większość MI znanych programistów używa akurat MacOSa lub Windowsa.
Wszystko zależy co chcesz programować. jakie aplikacje. Jeżeli programujesz back-end do webowych aplikacji, to jasne, że znajomość podstaw tzw. Linuksa jest wymagana, bo na 90% to będzie działało na jakiejś dystrybucji linuksowej ew. na jakimś BSD, też z rodziny uniksowej.
Jeżeli chcesz programować mobilne apki na iOS, to jedynym środowiskiem jest MacOS, bo tylko tam są narzędzia do programowania iOSa.
Jeżeli programujesz aplikacje użytkowe na systemy Windows, to jedynym sensownym rozwiązaniem jest Windows.
Jeżeli programujesz apki mobilne na Androida, to masz wybór, bo Android Studio jest na różne systemy, ale nie pracowałem, więc nie umiem ocenić na ile są różnice w jakości.
Jeżeli programujesz front-end, to moje doświadczenia wykazują, że ludzie z mojego kręgu znajomych wybierają Windowsa lub (częściej) MacOSa, choć znam takich, co próbują coś z linuksami.
Jeżeli chodzi o naukę, to wybór Windowsa jest o tyle bezpieczny, że pod Windowsem odpalisz to co jest Windowsowe oraz masę tego, co jest linuksowe. Oczywiście jednocześnie czy to na maszynie wirtualnej, czy to obok, można mieć pełnego linuksa, żeby np. takie różne rozwiązania LAMP testować, jeżeli gdzieś w nauce idziesz w kierunku back-endu.
Pamiętaj, że są dwie szkoły wyboru narzędzi
- Fanbojska: Wybieram X/Y/Z bo X/Y/Z rządzi
- Zdroworozsądkowa: Wybieram narzędzie do realizacji założonych celów
Ja mam w domu i firmie komputery z Windowsem, linuksem i MacOSem. Nie jestem programistą, ale myślę, że zasada jest ta sama – dobieram po prostu narzędzie do potrzeb.
Jeden z najznańszych polskich hakerów – Gynvael Coldwind – ma zbudowane środowisko z połączenia Windows i Linuksa. Bazowym systemem jest Windows, ale linux mu chodzi na maszynie wirtualnej i tak sobie to połączył, że z wnętrza windowsa woła narzędzia linuksowe. No ale on ma jeszcze inny profil pracy, niż opisałem wyżej, bo on bardzo niskopoziomowo działa i używa różnych narzędzi do inżynierii wstecznej.