«f#» etiketlenmiş sorular

F #, karmaşık problemleri çözmek için basit kod yazmanıza yardımcı olan.


3
Neden bir anemik etki alanı modeli C # / OOP'ta kötü kabul edilir, ancak F # / FP'de çok önemlidir?
F # 'daki bir blog yazısında eğlence ve kazanç için: İşlevsel bir tasarımda, davranışı verilerden ayırmak çok önemlidir. Veri türleri basit ve "aptal". Ve ayrıca, ayrı olarak, bu veri türlerine etki eden bir takım işlevlere sahipsiniz. Davranış ve verilerin birleştirilmesi gereken nesneye yönelik tasarımın tam tersi budur. Sonuçta, tam olarak …

9
F # 'yi büyük bir kod temeli ve mühendislik ekibine dahil etmenin gerçek dünya tuzakları [kapalı]
Var olan büyük bir kod temeli (tümü C #) ve oldukça büyük bir mühendislik ekibine sahip bir yazılım şirketinin CTO'su. Kodun belirli kısımlarının F # 'da yazmanın ne kadar kolay olacağını görebiliyorum, bu da daha hızlı geliştirme süresi, daha az hata, daha kolay paralel uygulamalar vb. Bununla birlikte, F # …

4
Neden F # etkileşimli bir moda kullanıyor ama C # değil?
F # etkileşimli bir REPL ile kutudan çıkar. C # sıralama hiçbir şey yok ve aslında tam bir proje kurmadan oynamak zordur (LINQpad çalışır ve aynı zamanda powershell ile yapmak da mümkün). F # 'nin etkileşimli konsola sahip olmasına izin veren ancak C # için uygulanmasını zorlaştıran diller hakkında temel …
32 c#  .net  tools  f# 

3
Neden fonksiyon parametrelerine açıklama eklemiyorsunuz?
Bu soruyu cevaplandırılabilir hale getirmek için, bir programcının aklındaki belirsizlik maliyetinin birkaç ekstra tuşa basılmasından çok daha pahalı olduğunu varsayalım. Buna göre, neden takım arkadaşlarımın işlev parametrelerine açıklama yapmamaları ile kaçmalarına izin vereyim ? Aşağıdaki kodu, çok daha karmaşık bir kod parçasının ne olabileceğinin bir örneği olarak alın: let foo …
28 f#  parameters 

3
F # 'da rec anahtar sözcüğü neden gerekli?
F # 'da recanahtar kelimeyi kullanmak gereklidir . Haskell'de, belirli bir fonksiyonun özyinelemeli olup olmadığını açıkça söylemek gerekmez. Fonksiyonel programlamada özyinelemenin rolü göz önüne alındığında, F # tasarımı bana biraz tuhaf geliyor. İyi bir dil tasarım kararı mıdır yoksa yalnızca tarihsel nedenlerden dolayı mı yoksa uygulama kısıtlaması nedeniyle mi var?

2
Y birleştirici ve kuyruk çağrı optimizasyonları
F # içindeki Y birleştiricisinin tanımı let rec y f x = f (y f) x f, ilk argüman olarak, özyinelemeli alt problemler için bir miktar devam etmeyi beklemektedir. Yf'yi bir devamı olarak kullanarak, geliştirebileceğimiz gibi f'nin birbirini izleyen çağrılara uygulanacağını görüyoruz. let y f x = f (y f) …

3
Erlang performansına karşı F # performansı, Erlang'ın VM'sinin daha hızlı olduğuna dair kanıt var mı?
Fonksiyonel programlamayı öğrenmeye zaman ayırdım ve öğreticiler / örneklerle uğraşmak yerine bir proje yazmaya başlamak istediğim bölüme geldim. Araştırmamı yaparken, Erlang'ın eşzamanlı yazılım (bu benim amacım) yazmak söz konusu olduğunda oldukça güçlü olduğunu gördüm, ancak geliştirme kaynakları ve araçları Microsoft geliştirme ürünleri kadar olgun değil. F #, linux (Mono) üzerinde …
19 f#  erlang 

3
En Hızlı İşlevsel Dil
Son zamanlarda özellikle daha önce Haskell ve F #, fonksiyonel programlama üzerinde çalışıyorum. Bazı googling sonra daha belirgin fonksiyonel diller (Scala, F # vb) bir karşılaştırma karşılaştırma bulamadık. Hibrit oldukları göz önüne alındığında, bazı diller için adil olmayacağını biliyorum (Scala akla geliyor), ama sadece hangi operasyonlarda ve genel olarak hangisinin …

2
F # özellikle veritabanı güdümlü web geliştirme için faydalı bir şey sunuyor mu?
Kuruluşum sonunda bu yıl MS Visual Studio 2010'a geçti. Visual Studio 2010'un sunduğu büyük yeni özelliklerden biri F # programlama dilidir. F # 'nın Lisp'e benzer fonksiyonel bir programlama paradigması sunduğunu anlıyorum. Lisp'in aksine, F # .net çerçevesi için yönetilen koda derlenir. Şu anda veri tabanına dayalı web uygulaması geliştirmede …

4
Tiplere göre örüntü eşleştirme deyimsel veya zayıf tasarım mı?
Görünüşe göre F # kodu genellikle model tiplerine karşı eşleşir. Kesinlikle match opt with | Some val -> Something(val) | None -> Different() yaygın görünüyor. Ancak bir OOP perspektifinden bakıldığında, bu, tipik olarak kaşlarını çatmış olan bir çalışma zamanı tür kontrolüne dayanan kontrol akışına çok benziyor. Bunu hecelemek için, OOP'de …

3
C # ve F # tuşlarını birlikte kullanmanız durumunda
Aynı projede C # ve F # birlikte kullanabileceğinizi biliyorum ancak bunu yapmak için iyi bir fikir olup olmadığından emin değilim. Bana öyle geliyor ki, iki farklı kodlama stilini (OOP'a karşı işlevsel) karıştırmak, tasarımda uyum eksikliğine neden olabilir. Bu doğru mu?
16 design  f# 

5
Birisi FP düşüncesine nasıl zorunlu kod okumalı?
Beş ay önce üniversiteden mezun oldum ve son dört aydır yerel bir kuruluşta çalışıyorum. Üniversitedeyken Haskell, F # vb. Bize üniversitede Java öğretildi, ancak çok geçmeden fonksiyonel programlamaya maruz kaldım ve zorunlu programlama ile yaptığımdan çok daha fazla zaman geçirdim. Sonuç olarak, beynim işlevsel bir düşünce için kablolanır. Katıldığım şirket …

4
Zorunlu programcılara deklaratif programlama öğretmeye çalışırken bazı iyi uygulamalar nelerdir?
Şirketimde F # 'da biraz eğitim vermeyi teklif ettim ve ilgi gösterdi. Genellikle VB6 ve C # programcılarıdır ve programlamayı çok fazla tutkuyla takip etmezler. İşlevsel bir konuda düşündüğünüzde doğru kodu yazmanın daha kolay olduğunu hissediyorum, bu yüzden kesinlikle bundan faydalanmaları gerekir. Birisi buna nasıl yaklaşmam gerektiği konusunda tavsiyede bulunabilir …

4
Fonksiyonel Programlama - Değişmezlik
FP (özellikle F #, ancak diğer FP de Tamam) değişmez veriler ile ilgili anlamaya çalışıyorum ve devlet dolu düşünme (OOP tarzı) eski alışkanlığı kırmak. Buradaki soruya verilen yanıtın bir kısmı, OOP'ta durumsal temsillerle FP'deki değişmez olanlarla çözülen sorunların etrafındaki herhangi bir yazımı araştırmamı yineledi (Örneğin: Üreticiler ve Tüketici ile bir …

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.