Jestem głównie programistą .NET, więc normalnie używam Windows / VisualStudio (co oznacza: jestem zepsuty), ale w wolnym czasie lubię Haskell i inne (głównie funkcjonalne) języki.
Teraz w przypadku Haskell obsługa okien jest w porządku (możesz dostać platformę Haskell), ale latley próbowałem skonfigurować podstawowe środowisko Clojure / Scheme i to po prostu boli dla systemu Windows.
Zastanawiam się więc nad wypróbowaniem innego systemu operacyjnego, aby uzyskać lepszą obsługę i obsługę języków. Oczywiście pozostawia mnie to w systemie MacOS lub dystrybucji Linuksa.
Nigdy wcześniej nie korzystałem z MacOS i oczywiście Linux byłby tańszy (darmowy) i nie sądzę, że mogę równolegle uruchamiać MacOS na twoim normalnym sprzęcie komputerowym (prawda?). PLUS: Nie mam pojęcia o narzędziach, których można użyć na tych (dla mnie) forign OS.
Krótko mówiąc: chcę poznać więcej Haskell, Clojure, Scala, Scheme i oczywiście potrzebuję co najmniej dobrego oprzyrządowania dla JavaScript / HTML5 / Css. Obsługa .NET / Mono / F # byłaby świetna, ale do tego nadal będę mieć rozruch z Win7.
Więc chcę wiedzieć: - jaki jest twój preferowany system operacyjny, Dystrybucja (czy Ubuntu jest wykonalny?) - jakiego edytora / IDE używasz
Dziękuję za pomoc!
PS: Nie jestem pewien, czy jest to właściwe miejsce na to pytanie, ale na pewno mam taką nadzieję - jeśli nie, daj mi znać, gdzie mam to przenieść (StackOverflow nie wydaje się być właściwym miejscem IMHO)
Odpowiedzi:
Trasa, którą obecnie wybieram do eksperymentowania z takimi językami i innymi rzeczami, z wielkim sukcesem i łatwością użycia:
W ten sposób zyskujesz zalety obu systemów operacyjnych.
źródło
Krótka odpowiedź: Istnieje proste rozwiązanie twojego problemu. Wystarczy zainstalować maszynę wirtualną z systemem Linux (Ubuntu) - jest bezpłatna.
Jestem również głównie programistą .NET, który uwielbia eksperymentować z różnymi rzeczami lub wypróbować różne frameworki i / lub narzędzia programistyczne. Najważniejszą rzeczą nie jest tu bałagan głównym środowisko programistyczne. Tak więc instalowanie wszystkiego na maszynie wirtualnej (natywny system operacyjny, frameworki, ich konfigurowanie i konfigurowanie itp.) Dla rodzaju rozwoju, jaki zamierzałeś wykonać, jest najbardziej logicznym i optymalnym sposobem.
Edycja: możesz rozważyć inne rozwiązanie wirtualizacji do zbudowania maszyny wirtualnej. Moje osobiste preferencje dotyczą VirtualBox . Jest to bezpłatne rozwiązanie do wirtualizacji x86, które pozwala na uruchomienie szerokiej gamy systemów operacyjnych x86, takich jak Windows, DOS, BSD lub Linux na systemie Linux.
źródło
Używam Haskell i Scali (a także wykonuję Scheme, Common Lisp, SML, OCaml, Erlang) wszystko pod Linuksem (Ubuntu).
Wszystkie powyższe języki (kompilatory i interpretatory) można zainstalować dość łatwo (istnieją pakiety, które można zainstalować za pomocą apt-get lub innego systemu zarządzania pakietami).
Scala ma dobrą integrację z Eclipse, a wtyczki Scala są aktywnie rozwijane. Jeśli chcesz dowiedzieć się więcej, w kursie Coursera działa kurs Scala, który wyjaśnia, jak używać Scali w systemach Windows, Linux i Mac. Być może nie masz wszystkich funkcji i integracji Visual Studio, ale opracowałem dość duże projekty w Eclipse i działa dobrze.
Do edycji Haskell (i innych języków wymienionych powyżej) używam gvim, co jest odpowiednie dla małych projektów. Możesz użyć innego edytora (np. EMACS), pod warunkiem, że ma podświetlanie składni dla Haskell. W przeciwnym razie możesz zajrzeć na haskellwiki (dzięki Zach L za sugestię).
Do zarządzania kodem źródłowym (wersjonowanie) używam SVN przez Eclipse dla wszystkich tych języków.
źródło
MacOS wymaga sprzętu Mac lub możesz go uruchomić na VirtualBox, ale ostatnim razem próbowałem, że to nie działa. A ponieważ nie chcesz zastępować obecnych problemów konfiguracyjnych / konfiguracyjnych innymi problemami, sugeruję, abyś wydał dużo pieniędzy lub wypróbował system Linux. Użyłem Ubuntu do programowania Haskell, Scala i Lisp w Eclipse, Netbeans, IntelliJ i Emacs i nie miałem większych problemów z ich konfiguracją.
źródło
Wszystkie systemy uniksopodobne mają bardzo dobre narzędzia wiersza poleceń . Osobiście miałem dobre doświadczenia z Ubuntu zarówno w zakresie programowania, jak i wdrażania, wielu moich znajomych również przysięga na MacOS. Nie widziałem oczywistego powodu, aby preferować jedno lub drugie, wszystkie są IMO lepsze niż Windows do pracy w wierszu poleceń.
Po stronie Clojure / Scala może okazać się, że Windows jest całkiem dobry, jeśli używasz jednego z IDE Java z odpowiednią wtyczką Clojure / Java. Osobiście używam Eclipse z Counterclockwise jako mojego głównego środowiska programistycznego Clojure w Windows 7. Jest też Scala IDE do sprawdzenia. Jest to dobre podejście, jeśli lubisz w pełni wyposażone IDE i / lub chcesz programować w poliglocie w tym samym środowisku. Dodatkowym plusem korzystania z czegoś takiego jak Eclipse jest to, że integracja git / svn / maven jest bardzo dobra.
źródło
Chociaż jestem wielkim fanem komputerów Mac i Linux, nie ma powodu, dla którego nie można używać żadnego z tych języków w systemie Windows. Również jeśli chcesz funkcjonalny język w systemie Windows, nie pomijaj F #, który jest językiem .net
źródło
Korzystałem z Haskell na Windows, OS X i (Ubuntu) Linux, więc mogę o tym powiedzieć kilka uwag. Teraz wszystko, co można uzyskać z platformy Haskell, prawdopodobnie będzie dobrze działać bez względu na wszystko, ale potem:
Stosunkowo niewielu programistów Haskell używa systemu Windows. W Hackage znajdziesz rzeczy, które zakładają środowisko uniksowe, nie mówiąc o tym wprost.
Wiele użytecznych rzeczy pochodzi z powiązań FFI z bibliotekami C, a brak nawet niejasno spójnego i niezawodnego łańcucha narzędzi do kompilacji C w systemie Windows oznacza, że z mojego doświadczenia, instalowanie powiązań FFI z hakowania jest w najlepszym wypadku bzdurą.
Wszystko, co niekoniecznie jest specyficzne dla platformy, co w dość zabawny sposób obejmuje biblioteki GUI między platformami, z większym prawdopodobieństwem „po prostu działa” w systemie Linux.
Cygwin nie pomaga tak bardzo, jak myślisz.
Podsumowując: wszystko działa na Linuksie, większość rzeczy działa na OS X, ale kilka rzeczy jest dziwnych, a na Windowsie powinieneś spodziewać się wielu interesujących problemów podczas korzystania z bibliotek.
Jeśli chcesz po prostu dobrze się bawić, eksperymentując z rzeczami i ucząc się Haskell, zrób sobie przysługę i użyj maszyny Wirtualnej Ubuntu lub czegoś takiego.
O ile edytory i takie go - emacs i vim są popularne jak zawsze. Nigdy nie nauczyłem się korzystać z nich (choć naprawdę powinienem ...) i nie dbam o większość IDE, więc ogólnie trzymam się SciTE - jest to cienkie opakowanie wokół widgetu edytora o nazwie Scintilla, które możesz znać jako Używa Notepad ++.
źródło
Zamiast wybierać system operacyjny, przyjdę do tego z punktu widzenia IDE. Jeśli jesteś zainteresowany Schematem, zachęcam do wypróbowania DrRacket, który wyłonił się z dżungli Scheme kilka lat temu. IDE działa dobrze w systemach Windows, OS X i Linux.
Teraz wystarczy wybrać odpowiedni system operacyjny, aby uruchomić wszystkie pozostałe języki funkcjonalne.
źródło
Simon Peyton-Jones, jeden z twórców Haskell, jest użytkownikiem systemu Windows i z tego, co zbieram, Haskell ma doskonałą obsługę systemu Windows.
Twoje pytanie jest trochę niejasne, szczerze mówiąc, wybór systemu operacyjnego nie jest związany z paradygmatem języka, którego używasz.
Osobiście uważam, że poza światem C # i Java (gdzie środowisko programistyczne jest podyktowane przez twoje IDE), środowisko programistyczne powinno zawsze być smakiem Uniksa, czy to BSD, Linux czy OSX.
źródło