Apa sajakah aplikasi terkenal yang ditulis dalam F #? [Tutup]

13

Sebagai bagian dari pencarian pengetahuan yang berkelanjutan, saya meluangkan waktu minggu ini mempelajari dasar-dasar F # sebagai pengantar pemrograman fungsional. Saya pikir saya memahami konstruksi perangkat lunak di bawah model ini dan beberapa manfaat yang diusulkan, tetapi saya masih sedikit kabur pada kasus penggunaan dunia nyata.

Saya berharap bahwa kisah sukses F #, atau setidaknya beberapa aplikasi yang saya kenal mungkin membuatnya sedikit lebih jelas tentang kapan F # (atau bahasa pemrograman fungsional) akan sesuai untuk sebuah proyek.

Jadi kembali ke pertanyaan, apa sajakah aplikasi terkenal yang menggunakan F # atau bahasa pemrograman fungsional serupa?

BTW: Saya juga terbuka untuk mendengar tentang beberapa aplikasi yang kurang dikenal, tetapi jika Anda menyebutkan satu, tolong berikan dasar-dasar tentang apa aplikasi itu dan mengapa bahasa yang digunakan adalah pilihan yang tepat.

JohnFx
sumber
Saya ingin tahu tentang ini dengan baik. Saya pikir F ​​# adalah bahasa yang berorientasi matematika MS Research Dept. Akan menarik untuk melihat apakah ada program di luar sana yang menggunakannya yang dapat dikenali. Saya ragu bahwa ada program 'terkenal' yang sepenuhnya F #.
Kavet Kerek
1
Pertanyaan ini tampaknya di luar topik karena merupakan pertanyaan berdasarkan jajak pendapat.
jet.com, startup e-commerce yang awalnya ditulis dalam F # dibeli oleh Walmart beberapa tahun yang lalu seharga $ 3 + miliaran
KolA

Jawaban:

8
  • Seluruh sistem F # (kompiler, perpustakaan dan alat)
  • IronJS (sudah disebutkan)
  • Algoritma XBox Live TrueSkill, serta seluruh sistem Prestasi, sistem peringkat, dan sistem perjodohan yang mengelilinginya

Saya kira alasan utama mengapa tidak ada aplikasi "terkenal" yang ditulis dalam F #, adalah karena butuh bertahun-tahun, bahkan puluhan tahun untuk menjadi "terkenal" dan F # belum lama.

Namun, sebagian besar aplikasi tidak "terkenal". Hanya ada satu PowerPoint, tetapi ada jutaan aplikasi kustom penggajian kecil satu-off kustom yang ditulis tangan.

Dan F # tentu saja digunakan di rumah di banyak perusahaan keuangan, melakukan komputasi ilmiah dan numerik dalam, katakanlah, bioteknologi atau greentech, melakukan statistik yang Tuhan tahu di mana dan seterusnya. Aplikasi ini tidak terkenal, baik karena mereka tidak "seksi" atau sering karena perusahaan menganggap F # senjata rahasia mereka yang memberi mereka keunggulan kompetitif. (OCaml, Smalltalk dan APL mengisi peran yang sama. Banyak perusahaan keuangan menggunakan APL, misalnya, tetapi mereka tidak mempublikasikannya secara luas. Memang, seringkali para pengguna APL bahkan bukan programmer, dan dengan demikian bahkan tidak akan tahu di mana dan bagaimana untuk mempublikasikannya bahkan jika mereka mau.)

Jörg W Mittag
sumber
1
Menurut Wikipedia, F # berusia 8 tahun. PHP, Java, C # semuanya digunakan dalam aplikasi terkenal jauh sebelum mereka mencapai usia itu. C #, misalnya, keluar pada tahun 2001. Dan F # yang cukup jelas lebih dari setahun di belakang C # dalam hal penggunaan.
GrandmasterB
5
@GrandmasterB: Itu mungkin bukan penilaian yang adil. F # hanyalah sebuah proyek eksperimental sampai diproduksi di VS2010, meskipun itu layak pada tahun 2008. Jadi saya tidak akan menyebutnya 8 tahun.
Robert Harvey
3

Ada Tabbles . Pengelola dan pengelola file, dengan banyak fitur. Ini menyediakan sistem penandaan yang bahkan dapat Anda bagikan dengan orang lain. Ini produk komersial.

Kaveh Shahbazian
sumber
1

Saya bertanya-tanya hal yang sama untuk sementara waktu. Saya sangat suka F # tetapi belum melihat apa pun di ranah aplikasi komersial. Apa yang saya dengar (dan cukup sering) adalah bahwa F # telah banyak digunakan dalam dunia keuangan.

Kerangka kerja web apa yang ada untuk pemrograman fungsional? memiliki beberapa contoh kerangka kerja web untuk bahasa pemrograman fungsional dan saya tahu http://cs.hubfs.net/blogs/tomasp/archive/2010/05/09/14050.aspx adalah artikel cara menulis ASP.Net MVC 2 Aplikasi web dalam F #.

Karena saya telah mencari artikel di F # dan banyak contoh dan pujian orang telah datang dalam bentuk parser log. Tapi itu selalu ditindaklanjuti dengan peringatan sesuatu di sepanjang baris "Saya tidak diizinkan menggunakan bahasa di tempat kerja" (diparafrasekan tentu saja). Saya akan mencoba menemukan lebih banyak contoh.

Saya telah mempermainkan ide membuat MUD berbasis teks (Multi-User Dungeon) di F # tapi sepertinya saya tidak pernah punya waktu.

Jetti
sumber
MUD == Dungeon Multi-Pengguna?
Robert Harvey
@ Robert Harvey - itu benar. Saya akan mengeditnya untuk mereka yang tidak tahu.
Jetti
Saya lupa menambahkan WebSharper. Ini memungkinkan pengembang untuk membuat situs web sepenuhnya dalam F #.
Jetti
0

Saya melihat F # secara singkat ketika saya ingin menulis parser SQL, yang akhirnya saya implementasikan di Haskell. Yang mengatakan, Anda bisa menggunakan F # di mana saja Anda akan menggunakan C #, tetapi apakah itu layak? Jika Anda akan melakukan banyak pemrograman fungsional, menggunakan F # akan bermanfaat, karena sintaks untuk konstruk fungsional lebih ramah. Jika Anda melakukan sebagian besar OO, mungkin lebih baik tetap menggunakan C #.

Larry Coleman
sumber
Saya setuju dengan Larry Coleman. Mengapa seseorang melakukan sesuatu dalam F # ketika mereka dapat melakukannya dalam C #? Saya pikir aman untuk mengatakan bahwa sebagian besar kali F # menguntungkan daripada C # tidak dalam situasi aplikasi komersial.
Jetti
1
Saya pikir ini sebagian besar adalah perspektif MS juga. C # dan VB.NET disajikan sebagai / atau satu sama lain, tapi saya pikir tujuannya dengan F # (dan pada tingkat lebih rendah, bahasa seperti IronPython dan Boo) adalah untuk mendorong pemrograman polyglot: menggunakan bahasa yang berbeda dengan fitur unik untuk menyelesaikan perbedaan macam masalah.
CodexArcanum
@Jetti F # sangat baik untuk segala jenis pemrosesan data, untuk penguraian, dan untuk bidang berat penghitungan mana pun yang benar. Pemrograman Fungsional secara umum menawarkan tingkat ekspresi yang membuat banyak jenis program sangat mudah untuk ditulis. Tidak ada yang sangat terlihat, hal-hal front-end seperti situs web atau aplikasi GUI, area di mana C # unggul. Anda dapat menggunakan LINQ untuk mendapatkan beberapa FP dalam C #, tetapi F # adalah bahasa yang lebih alami untuk mengekspresikan kode tersebut.
CodexArcanum
@ CodexArcanum - Saya sepenuhnya setuju dengan Anda. Saya kira saya sedang melewatkan "Aplikasi Komersial", saya seharusnya mengatakan "Aplikasi Konsumen Sehari-hari (mis. Office, Firefox, dll)"
Jetti
1
@ Jetti: Saya akan merekomendasikan Haskell lebih dari F # jika Anda tertarik untuk belajar pemrograman fungsional. Anda akan mempelajarinya lebih cepat karena Anda tidak akan dapat melakukan prosedural atau OO di dalamnya.
Larry Coleman
0

Besi JS .

Saya pribadi berpikir bahwa aneh bahwa satu-satunya aplikasi yang saya tahu yang ditulis dalam F # adalah sesuatu yang memungkinkan Anda untuk menulis dalam bahasa selain F #.

Bagi saya, itu mengatakan banyak tentang nilai sebenarnya dari pemrograman fungsional. Orang-orang dapat merayakan betapa "cantik" itu yang mereka inginkan - jika itu begitu indah, orang akan lebih menggunakannya.

riwalk
sumber
Saya tidak setuju dengan pernyataan terakhir Anda. Orang-orang TIDAK menggunakan F #, pada kenyataannya, mereka menggunakannya begitu banyak sehingga telah menjadi bagian dari Visual Studio 2010. F # telah diadopsi di sektor keuangan seperti halnya Erlang telah diadopsi dalam telekomunikasi. Hanya karena saya dapat menulis aplikasi di F # tidak berarti saya hanya akan melakukannya. Bahasa (dan bahasa FP pada umumnya) memiliki kekuatan dan kelemahan mereka sehingga mereka akan digunakan secara luas di bidang yang dapat mengambil manfaat dari kekuatan mereka!
Jetti
@ Jetti, tentu saja. Sudah lebih dari 30 tahun sejak pemrograman fungsional dikandung, tapi saya yakin pasti akan mengetuk pemrograman prosedural dari tumpuannya setiap hari sekarang. Saya tidak mengatakan itu tidak memiliki beberapa kelebihan - beberapa hal dapat dilakukan dengan sangat elegan dengan fungsional. Apa yang saya saya katakan adalah bahwa hal itu tidak akan pernah mendominasi.
riwalk
@ Stargzer712 - Saya setuju bahwa itu tidak akan mendominasi dan juga untuk alasan yang baik.
Jetti