Już parę ładnych lat temu zaobserwowałem na forach wysyp pytań o “sprzęt do programowania”. Pojawiało się tam mnóstwo wątków, począwszy od edytorów kodu, przez komputer, aż po słuchawki, czy podkładki pod mysz… Wszystko “do programowania”. Nie mogłem się doczekać, aż ktoś w końcu zapyta na przykład o “spodnie do programowania”, albo o “wodę do programowania” – odnosiłem wrażenie, że zmierza to właśnie do tego. To typowa prokrastynacja, widoczna szczególnie u wielu początkujących adeptów, którzy chcą zabrać się za wszystko wokół, ale nie za samo programowanie. Gdybym miał zakończyć ten wpis już teraz, napisałbym – obojętnie jaki komputer – na ten moment chyba żaden za Ciebie sam kodu nie napisze, więc nie powinno to mieć większego znaczenia. Ale jednak w dłuższej perspektywie ma, bo co jak co, ale dobra maszyna potrafi znacząco wpłynąć na komfort Waszej pracy.
Przedstawiam swoje obserwacje, które zresztą niejednokrotnie konsultowałem także z innymi programistami. Na ich podstawie będziecie mogli lepiej zorientować się, jakiej maszyny tak naprawdę szukacie.
Programiści w swojej pracy często potrzebują wielozadaniowości, dlatego dobrze jest postawić na większą liczbę rdzeni, nawet kosztem nieco niższego taktowania. Warto tu przyjrzeć się między innymi procesorom AMD, takim jak te z serii Ryzen.
Wszystko zależy od tego, czym tak naprawdę planujesz się zajmować. Wymagania takich programów jak np. Android Studio lub profesjonalnego, ciężkiego IDE mogą być znacznie wyższe niż zwykłego edytora kodu. W obecnych czasach zalecam przynajmniej 8 GB pamięci RAM, ze wskazaniem na 16 GB lub więcej, jeśli tylko jest to możliwe.
Zdecydowanie warto rozglądać się za dyskami SSD. W szczególności na system operacyjny oraz na programy, z których korzystasz najczęściej. Na mniej istotne dane możesz dokupić także drugi, tańszy i wolniejszy dysk HDD. W przypadku SSD celowałbym w minimum 240 GB pojemności, żeby nie ograniczać się wyłącznie do instalacji na nim systemu operacyjnego. Gdybym miał kupować taki dysk dla siebie, wybrałbym ok. ~512 GB pojemności, co starczyłoby zarówno na system, najważniejsze programy jak i pliki, oraz ewentualnie na kilka gier, czy innych rzeczy, które mam na swoim dysku.
Jeśli nie masz zamiaru zajmować się tworzeniem gier, albo po prostu graniem w nie na tym samym sprzęcie – wówczas zintegrowana karta graficzna powinna wystarczyć Ci w zupełności. Nie będzie potrzeby dokładania pieniędzy do dodatkowej, tym bardziej że w czasach popularności kopania kryptowalut, dostępność oraz ceny dedykowanych kart graficznych potrafią przyprawić o ból głowy niejednego gracza.
Klawiatura:
To kwestia indywidualnych preferencji. Sam rozmiar klawiszy, czy ich skok powinien odpowiadać przede wszystkim Tobie. Dobrze jest zakupić taką klawiaturę dopiero po uprzednim teście, ponieważ dość ciężko określić jej wygodę na podstawie zdjęcia, czy samej specyfikacji. Osobiście bardzo lubię klawiatury mechaniczne, choć mają one do siebie to, że są w większości dość głośne. Zwróć też uwagę na układ klawiatury, ponieważ taka z układem niemieckim, czy na przykład francuskim niekoniecznie przypadnie Ci do gustu.
Myszka:
Podobnie jak w przypadku klawiatury, kwestia przede wszystkim preferencji. Warto dobrać coś dla “oburęcznych” lub dla dłoni, w której trzymasz mysz. W zależności od preferowanego chwytu i rozmiaru dłoni możesz też dobrać jej typ i rozmiar.
Wszystko zależy od tego gdzie i na czym pracujesz. W przypadku laptopów rekomenduję rozmiary ekranów od 13″ w górę, w zależności od tego jak bardzo zależy Ci na mobilności takiego sprzętu. Jeżeli kupujesz jednak komputer do domu, czy biura, polecam coś pomiędzy 21″-27″, w zależności od Twoich preferencji, oraz od tego jak daleko siedzisz od ekranu. Sama proponowana przeze mnie rozdzielczość to minimum Full HD (1920×1080), choć w przypadku większych ekranów, bardziej wymagającym użytkownikom może ona nie wystarczyć (osobiście mam taką na 27″ i niespecjalnie narzekam).
Warto też zakupić coś z matrycą oferującą szerokie kąty widzenia (np. IPS). Dwa monitory znacząco ułatwiają pracę przy programowaniu, ponieważ dzięki nim można w bardzo wygodny sposób pisać kod na jednym ekranie, a na drugim podglądać jego efekt, lub na przykład sprawdzać coś w dokumentacji. W moim przypadku drugi monitor znajduje się po prawej stronie i jest ustawiony pod kątem. Dzięki matrycy IPS nie czuję, żebym tracił przez to ostrość, dzięki czemu takie połączenie jest dla mnie bardzo wygodne.
Odpowiedź brzmi: nie wiem. Ile osób tyle indywidualnych gustów. Miałem jednak styczność z każdym z tych systemów, na każdym napisałem niejedną linijkę kodu, wobec czego postaram się przybliżyć ich najważniejsze cechy.
Windows:
Najpopularniejszy system operacyjny, oferujący szeroką dostępność różnego rodzaju programów, w tym tych, które potrzebne są dla programistów, czy na przykład grafików. W dzisiejszych czasach Windows sprawia wrażenie bardzo stabilnego i działa naprawdę szybko. Choć kiedyś miałem z nim sporo problemów, odkąd przeszedłem na dziesiątkę (Windows 10), jeszcze ani razu nie spotkałem się z jakimś nieoczekiwanym błędem. Jego popularność może być zarówno jego największą zaletą, jak i wadą. Oprócz sporej ilości dostępnych programów, na Windowsie znajdziemy też większość najpopularniejszych gier komputerowych. Jeżeli grasz na tej samej maszynie, na której zajmujesz się programowaniem, wybór powinien być tylko jeden – właśnie ten. Wspomniałem też o wadzie takiej popularności. Ze względu na to, że Windowsa używa tak wielu ludzi, tworzy się na niego mnóstwo nie tylko pożytecznych programów, ale także mnóstwo tych, które potencjalnie mogłyby w jakiś sposób zaszkodzić użytkownikowi. Pomimo całkiem niezłego wbudowanego Defendera, warto uważać na to co się pobiera, ponieważ z moich obserwacji wynika, że nieco łatwiej wkopać się wtedy na minę niż w przypadku mniej popularnych systemów.
Niektórzy programiści krytykują Windowsa także za wbudowany terminal, choć osobiście nie mam nic przeciwko temu wbudowanemu w Windows 10. W razie potrzeby zawsze można doinstalować na przykład Cmder.
MacOS:
System znany z bezpieczeństwa, szybkości działania i ogólnej niezawodności. Ceniony przez wielu programistów, zwłaszcza tych, którzy posiadają inne urządzenia Apple (mają naprawdę świetny ekosystem i bardzo fajnie się ze sobą “łączą”). Dużą zaletą MacOS jest też bardzo wygodna praca nawet na jednym monitorze, ponieważ samo przemieszczanie się pomiędzy oknami jest niezwykle wydajne i można zrobić to także za pomocą skrótów klawiszowych (ta opcja jest dostępna też na niektórych innych systemach, ale nie wiedzieć czemu, w moim przypadku na Macu sprawdzała się zdecydowanie najlepiej).
Jeśli miałbym wymienić jedną wadę tego systemu, wymieniłbym chyba tą najbardziej oczywistą: wybór urządzeń jest trochę ograniczony. Chcąc mieć oryginalnego MacOS powinniśmy postawić na np. Macbooka, Maca mini, iMaca lub Maca pro.
Linux:
Testowałem kilka bezpłatnych dystrubucji, takich jak m.in.: Ubuntu, Debian, czy Mint. Oprócz samej “ceny” muszę pochwalić te systemy szczególnie za szybkość działania. Śmigały naprawdę świetnie nawet na starych i wysłużonych urządzeniach. Choć uważam, że Linux to rewelacyjny wybór do programowania, nie ukrywam, że powinniśmy zapoznać się z tym, czy aby na pewno pozwoli nam na odpalenie naszych ulubionych programów. Oczywiście można spróbować je przystosować do działania na nim, np. przy pomocy programu Wine, ale z doświadczenia wiem, że ich działanie nie zawsze musi być równie sprawne jak na oryginalnym systemie, do którego zostały przystosowane. Drugim minusem może być to, że to systemy, które potrafią wymagać od użytkownika sporo czasu i wiedzy. Jeżeli coś nam się popsuje, zwykle ciężko to sobie “wyklikać” bez zabawy ze wpisywaniem nieraz kilkunastu poleceń w terminalu. Problemem też może być sama mnogość dystrybucji i wersji, przez co w moim przypadku o wiele ciężej znajdowało się rozwiązania problemów w wyszukiwarce, niż miało to miejsce chociażby w przypadku Windowsa.