Saya terutama pengembang NET. Jadi saya biasanya menggunakan Windows / VisualStudio (itu berarti: saya manja) tapi saya menikmati Haskell dan bahasa lainnya (sebagian besar fungsional) di waktu luang saya.
Sekarang untuk Haskell dukungan windows ok (Anda bisa mendapatkan Haskell-Platform) tetapi latley saya mencoba untuk mendapatkan pengaturan dasar Clojure / Skema lingkungan dan itu hanya menyakitkan di windows.
Jadi saya berpikir tentang mencoba OS lain untuk tooling yang lebih baik dan dukungan bahasa. Tentu saja itu membuat saya dengan MacOS atau beberapa distribusi Linux.
Saya tidak pernah menggunakan MacOS sebelumnya dan tentu saja Linux akan lebih murah (gratis) dan saya rasa saya tidak bisa mem-boot MacOS secara paralel pada PC-Hardware normal Anda (bukan?). PLUS: Saya tidak memiliki petunjuk tentang alat yang dapat Anda gunakan pada OS lama (bagi saya).
Singkatnya: Saya ingin menjelajahi lebih banyak Haskell, Clojure, Scala, Skema dan tentu saja membutuhkan setidaknya perkakas yang baik untuk JavaScript / HTML5 / Css. Dukungan untuk .NET / Mono / F # akan menjadi besar tetapi untuk ini saya masih akan memiliki boot Win7 saya.
Jadi saya ingin tahu: - apa OS pilihan Anda, Distribusi (apakah Ubuntu layak?) - Editor / IDE apa yang Anda gunakan
Terima kasih untuk bantuannya!
PS: Saya tidak yakin apakah ini tempat yang tepat untuk pertanyaan ini tetapi saya tentu berharap begitu - jika tidak tolong beri tahu saya di mana saya harus memindahkan ini (StackOverflow sepertinya bukan tempat yang tepat IMHO)
Jawaban:
Rute yang saya gunakan saat ini untuk bereksperimen dengan bahasa-bahasa seperti itu dan hal-hal lain, dengan kesuksesan besar dan kemudahan penggunaan:
Dengan cara ini Anda mendapatkan pro dari kedua sistem operasi.
sumber
Jawaban Singkat: Ada solusi sederhana untuk masalah Anda. Cukup instal mesin virtual dengan Linux (Ubuntu) - gratis.
Saya juga terutama pengembang .NET yang suka bereksperimen dengan berbagai hal, atau mencoba berbagai kerangka kerja dan / atau alat pengembangan. Hal utama di sini adalah tidak mengacaukan lingkungan pengembangan utama Anda. Dengan demikian, menginstal segala sesuatu dalam mesin Virtual (OS asli, kerangka kerja, mengkonfigurasi dan mengaturnya, dll.) Untuk jenis pengembangan yang Anda maksudkan adalah cara yang paling logis dan optimal untuk dilakukan.
Sunting: Anda dapat mempertimbangkan solusi virtualisasi yang berbeda untuk membangun Mesin Virtual Anda. Preferensi pribadi saya menggunakan VirtualBox . Ini adalah solusi virtualisasi x86 gratis yang memungkinkan berbagai sistem operasi x86 seperti Windows, DOS, BSD atau Linux untuk berjalan pada sistem Linux.
sumber
Saya menggunakan Haskell dan Scala (dan juga melakukan beberapa Skema, Common Lisp, SML, OCaml, Erlang) semuanya di Linux (Ubuntu).
Semua bahasa di atas (kompiler dan juru bahasa) dapat diinstal dengan cukup mudah (ada paket yang dapat diinstal menggunakan apt-get atau sistem manajemen paket lainnya).
Scala memiliki integrasi yang baik dengan Eclipse dan plugin Scala dikembangkan secara aktif. Jika Anda ingin mempelajari lebih lanjut, ada kursus tentang Scala yang sedang berjalan di Coursera yang menjelaskan cara menggunakan Scala di Windows, Linux, dan Mac. Mungkin Anda tidak memiliki semua fitur dan integrasi Visual Studio, tetapi saya telah mengembangkan proyek yang cukup besar di Eclipse dan berfungsi dengan baik.
Untuk mengedit Haskell (dan bahasa lain yang tercantum di atas) saya menggunakan gvim yang OK untuk proyek kecil. Anda dapat menggunakan editor lain (misalnya EMACS), asalkan memiliki highlight sintaks untuk Haskell. Jika tidak, Anda dapat melihat haskellwiki (terima kasih kepada Zach L untuk sarannya).
Untuk mengelola kode sumber (versi) saya menggunakan SVN melalui Eclipse untuk semua bahasa ini.
sumber
MacOS memerlukan perangkat keras Mac atau Anda mungkin menjalankannya di VirtualBox, tetapi terakhir kali saya mencoba itu tidak berfungsi. Dan karena Anda tidak ingin mengganti masalah konfigurasi / pengaturan Anda saat ini dengan masalah lain, saya sarankan Anda menghabiskan banyak uang atau mencoba linux. Saya telah menggunakan Ubuntu untuk pengembangan Haskell, Scala dan Lisp dengan Eclipse, Netbeans, IntelliJ, dan Emacs, dan saya tidak mengalami banyak kesulitan dalam mengaturnya.
sumber
Semua OS yang mirip Unix memiliki perkakas baris perintah yang sangat baik . Saya secara pribadi memiliki pengalaman yang baik dengan Ubuntu untuk pengembangan dan penyebaran, banyak teman saya juga bersumpah dengan MacOS. Saya belum melihat alasan yang jelas untuk memilih satu atau yang lain, mereka semua IMO lebih baik daripada Windows untuk pekerjaan baris perintah.
Di sisi Clojure / Scala secara khusus, Anda mungkin menemukan Windows sebenarnya cukup bagus jika Anda menggunakan salah satu IDE Java dengan plugin Clojure / Java yang sesuai. Saya pribadi menggunakan Eclipse dengan berlawanan arah jarum jam sebagai lingkungan pengembangan Clojure utama saya di Windows 7. Ada juga Scala IDE untuk memeriksa. Ini adalah pendekatan yang baik jika Anda suka IDE berfitur lengkap dan / atau ingin melakukan pemrograman polyglot di lingkungan yang sama. Kelebihan tambahan menggunakan sesuatu seperti Eclipse adalah bahwa integrasi git / svn / maven sangat baik.
sumber
Sementara saya penggemar mac dan linux yang besar, tidak ada alasan Anda tidak bisa melakukan bahasa-bahasa tersebut di windows. Juga jika Anda ingin bahasa fungsional di windows jangan mengabaikan F # yang merupakan bahasa .net
sumber
Saya telah menggunakan Haskell di Windows, OS X, dan (Ubuntu) Linux, jadi saya bisa memberikan beberapa komentar tentang itu. Sekarang, apa pun yang Anda dapatkan dari Platform Haskell mungkin akan berfungsi dengan baik apa pun yang terjadi, tetapi setelah itu:
Relatif sedikit programmer Haskell menggunakan Windows. Anda akan menemukan hal-hal di Hackage yang menganggap lingkungan seperti unix tanpa benar-benar menyatakannya secara eksplisit.
Banyak hal yang bermanfaat datang dari binding FFI ke perpustakaan C, dan kurangnya toolchain kompilasi C yang bahkan secara konsisten dan andal pada Windows berarti bahwa, dalam pengalaman saya, menginstal binding FFI dari hackage adalah omong kosong yang paling baik.
Apa pun yang pasti berbasis platform, yang cukup mencengangkan termasuk pustaka GUI lintas-platform, lebih mungkin untuk "hanya bekerja" di Linux.
Cygwin tidak membantu sebanyak yang Anda pikirkan.
Singkatnya: Semuanya cenderung bekerja di Linux, sebagian besar bekerja pada OS X tetapi beberapa hal aneh, dan pada Windows Anda harus berharap untuk menghadapi banyak sakit kepala yang menarik saat menggunakan perpustakaan.
Jika Anda hanya ingin bersenang-senang bereksperimen dengan hal-hal dan belajar Haskell, bantulah diri Anda sendiri dan gunakan VM Ubuntu atau sesuatu.
Sejauh editor dan go - emacs dan vim seperti itu populer seperti biasa. Saya tidak pernah belajar menggunakan salah satu (meskipun saya benar-benar harus ...) dan tidak peduli untuk sebagian besar IDE, jadi saya biasanya tetap dengan SciTE - ini adalah pembungkus tipis di sekitar widget editor yang disebut Scintilla, yang mungkin Anda ketahui sebagai apa Notepad ++ menggunakan.
sumber
Daripada memilih OS, izinkan saya datang pada ini dari sudut IDE. Jika Anda tertarik dengan Skema, saya mendorong Anda untuk mencoba DrRacket, yang muncul dari hutan Skema beberapa tahun yang lalu. IDE berjalan dengan baik di Windows, OS X, dan Linux.
Sekarang, Anda hanya perlu memilih OS yang tepat untuk menjalankan semua bahasa fungsional Anda yang lain .
sumber
Simon Peyton-Jones, salah satu pencipta Haskell adalah pengguna Windows dan dari apa yang saya kumpulkan, Haskell memiliki dukungan windows yang luar biasa.
Pertanyaan Anda agak kabur untuk jujur, pilihan OS Anda tidak terkait dengan paradigma bahasa yang Anda gunakan.
Secara pribadi saya percaya bahwa di luar dunia C # dan Java (di mana lingkungan pengembangan ditentukan oleh IDE Anda), lingkungan pengembangan harus selalu menjadi cita rasa Unix, apakah itu BSD, Linux atau OSX.
sumber