F # ile yazılmış iyi bilinen bazı uygulamalar nelerdir? [kapalı]


13

Sürekli bir bilgi arayışının parçası olarak, bu hafta F # 'ın temellerini fonksiyonel programlamaya giriş olarak öğrenmek için biraz zaman harcıyorum. Sanırım bu model altında yazılımın yapımını ve önerilen faydalardan bazılarını anlıyorum, ancak gerçek dünyadaki kullanım durumlarında hala biraz bulanıkım.

Bir F # başarı öyküsünün veya en azından aşina olacağım birkaç uygulamanın F #'ın (veya herhangi bir işlevsel programlama dilinin) bir proje için ne zaman uygun olacağını biraz daha açık hale getireceğini umuyordum.

Yani soruya geri dönersek, F # veya benzer bir işlevsel programlama dili kullanan bazı iyi bilinen uygulamalar nelerdir?

BTW: Daha az bilinen bazı uygulamaları duymaya da açığım, ancak bir tanesinden bahsederseniz, lütfen uygulamanın ne olduğu ve kullanılan dilin neden uygun seçim olduğu hakkında temel bilgileri verin.


Bunu iyi merak ediyorum. F #'ın matematik odaklı bir MS Araştırma Bölümü dili olduğunu düşündüm. Kullanılabilir herhangi bir program olup olmadığını görmek ilginç olurdu. Tamamen F # olan herhangi bir 'iyi bilinen' program olduğundan şüpheliyim.
Kavet Kerek

1
Bu soru konu dışı gibi görünüyor çünkü ankete dayalı bir soru.

jet.com, başlangıçta F # ile yazılan e-ticaret girişimi Walmart tarafından birkaç yıl önce 3 $ + milyarlarca satın alındı
KolA

Yanıtlar:


8
  • Tüm F # sistemi (derleyici, kütüphaneler ve araçlar)
  • IronJS (daha önce bahsedilen)
  • XBox Live TrueSkill algoritmasının yanı sıra tüm Başarılar sistemi, sıralama sistemi ve onu çevreleyen eşleştirme sistemi

Sanırım F # 'da yazılmış "iyi bilinen" uygulamaların olmamasının temel nedeni, "iyi bilinen" olmanın yıllar hatta on yıllar alması ve F # henüz o kadar eski olmamasıdır.

Bununla birlikte, uygulamaların ezici çoğunluğu "iyi bilinmemektedir". Sadece bir PowerPoint var, ancak kelimenin tam anlamıyla milyonlarca elle yazılmış özel küçük bir kerelik şirket içi bordro uygulaması var.

Ve F #, birçok şirkette kesinlikle şirket içinde kullanılıyor, örneğin biyoteknoloji veya greentech'te bilimsel ve sayısal hesaplama yapıyor, tanrı'nın nerede ve nerede olduğunu bilen istatistikler yapıyor. Bu uygulamalar ya "seksi" olmadıkları için ya da çoğu zaman şirketler rekabet gücünü artıran gizli silahlarını F # olarak gördükleri için iyi bilinmemektedir. (OCaml, Smalltalk ve APL benzer rolleri dolduruyor. Örneğin, birçok finansal şirket APL kullanıyor, ancak geniş çapta tanıtmıyorlar. isteseler bile tanıtmak için.)


1
Wikipedia'ya göre F # 8 yaşında. PHP, Java, C # bu yaşlara ulaşmadan çok önce bilinen uygulamalarda kullanılıyordu. Örneğin, C # 2001'de çıktı. Oldukça net olan F #, C # 'in kullanım açısından bir yıldan fazla bir süredir.
GrandmasterB

5
@BrandmasterB: Bu tam olarak adil bir değerlendirme olmayabilir. F #, 2008'de uygulanabilir olmasına rağmen VS2010'da üretilinceye kadar sadece deneysel bir projeydi. Bu yüzden tam olarak 8 yaşında demem.
Robert Harvey

3

Orada Tabbles . Çok sayıda özelliğe sahip bir dosya yöneticisi ve düzenleyici. Başkalarıyla bile paylaşabileceğiniz bir etiketleme sistemi sağlar. Ticari bir üründür.


1

Bir süredir aynı şeyi merak ettim. F # 'ı gerçekten seviyorum ama ticari bir uygulama alanında hiçbir şey görmedim. Duyduğum (ve oldukça sık) F # 'ın finansal alanda çok kullanılmış olması.

İşlevsel programlama için hangi iyi web çerçeveleri mevcuttur? işlevsel programlama dilleri için bazı web çerçeveleri örnekleri vardır ve biliyorum http://cs.hubfs.net/blogs/tomasp/archive/2010/05/09/14050.aspx bir ASP.Net MVC yazma hakkında bir makaledir 2 Web uygulaması F #.

F # ve birçok örnek ve insanların övgü günlük parsers şeklinde geldi. Ama bu her zaman "İş yerinde dili kullanma iznim yok" (elbette başka kelimelerle yazılmış) çizgisinde bir şey uyarısı ile takip edilir. Daha fazla örnek bulmaya çalışacağım.

F # metin tabanlı bir MUD (Çok Kullanıcılı Zindan) oluşturma fikri ile oynuyor ama asla zamanım yok gibi görünüyor.


MUD == Çok Kullanıcılı Zindan?
Robert Harvey

@Robert Harvey - bu doğru olur. Bunu bilmeyenler için düzenleyeceğim.
Jetti

WebSharper eklemeyi unuttum. Geliştiricilerin tamamen F # ile web siteleri oluşturmalarına izin verir.
Jetti

0

Haskell'de uyguladığım bir SQL ayrıştırıcısı yazmak istediğimde F # kısaca baktım. Bununla birlikte, F #'ı C # kullanacağınız her yerde kullanabilirsiniz, ancak buna değer mi? Çok fazla fonksiyonel programlama yapacaksanız, F # kullanımı faydalı olacaktır, çünkü fonksiyonel yapılar için sözdizimi daha dostudur. Çoğunlukla OO yapıyorsanız, muhtemelen C # ile yapışmak daha iyidir.


Larry Coleman'a katılıyorum. Neden birisi C # 'da yapabileceği zaman F #' da bir şey yapsın ki? Bence çoğu zaman F # C # üzerinde yararlı olduğunu söylemek güvenli bir uygulama durumda değildir.
Jetti

1
Bence bu da büyük ölçüde MS perspektifi. C # ve VB.NET, ya / veya birbirlerine sunuldu, ancak F # (ve daha az ölçüde IronPython ve Boo gibi diller) ile amaç çok dilli programlamayı teşvik etmektir: farklı sorunları çözmek için benzersiz özelliklere sahip farklı diller kullanmak sorunlar.
CodexArcanum

@Jetti F # her türlü veri işleme, ayrıştırma ve doğruluğun önemli olduğu hesaplama-ağır alanlar için çok iyidir. Fonksiyonel Programlama genel olarak birçok programı yazmayı çok kolaylaştıran bir ifade düzeyi sunar. Bunların hiçbiri, bir web sitesi veya bir GUI uygulaması gibi çok görünür, C #'ın öne çıktığı alanlar gibi ön uç şeyler değildir. C # 'da bazı FP'leri almak için LINQ kullanabilirsiniz, ancak F # bu kodu ifade etmek için daha doğal bir dildir.
CodexArcanum

@CodexArcanum - Sana tamamen katılıyorum. Sanırım "Ticari Uygulaması" yanlış yapıyordum, "Günlük Tüketici Uygulaması (yani Ofis, Firefox, vb)"
demeliydim

1
@Jetti: Fonksiyonel programlamayı öğrenmekle ilgileniyorsanız Haskell'i F # üzerinden tavsiye ederim. Daha hızlı öğreneceksiniz çünkü içinde prosedür veya OO yapamayacaksınız.
Larry Coleman

0

Demir JS .

Ben şahsen bunun F # ile yazılmış olduğunu bildiğim tek uygulamanın F # dışında bir dilde yazmanıza izin veren bir şey olması tuhaf olduğunu düşünüyorum.

Bana göre bu, işlevsel programlamanın gerçek değeri hakkında çok şey söylüyor. İnsanlar istedikleri her şeyin ne kadar "güzel" olduğunu kutlayabilirler - eğer çok güzel olsaydı, insanlar onu daha çok kullanırdı.


Son açıklamanıza katılmıyorum. İnsanlar F # kullanırlar, aslında, o kadar çok kullanırlar ki Visual Studio 2010'un bir parçası haline gelirler. F # 'da bir uygulama yazabildiğim için sadece yapacağım anlamına gelmez. Dilin (ve genel olarak FP dillerinin) güçlü ve zayıf yanları vardır ve bu nedenle güçlerinden faydalanabilecek alanlarda yaygın olarak kullanılacaktır!
Jetti

@Jetti, Tabii ki. Fonksiyonel programlamanın tasarlanmasından bu yana 30 yılı aşkın bir süredir, ancak eminim ki prosedürel programlamayı artık her gün kaidesinden devirmek gerekiyor. Bazı yararları olmadığını söylemiyorum - bazı şeyler işlevsel olarak oldukça zarif bir şekilde yapılabilir. Ne am diyerek o baskın asla olmasıdır.
riwalk

@ Stargzer712 - Asla baskın olmayacağına ve iyi bir nedenden dolayı kabul edeceğim.
Jetti
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.