Запитання з тегом «f#»

F # - це стисла, виразна та ефективна функціональна та об'єктно-орієнтована мова для .NET, яка допомагає писати простий код для вирішення складних проблем.

3
Які найбільші відмінності між F # і Scala?
F # і Scala - це функціональні мови програмування, які не змушують розробника використовувати лише незмінні типи даних. Вони обидва мають підтримку об’єктів, можуть використовувати бібліотеки, написані іншими мовами та працювати на віртуальній машині. Обидві мови, здається, засновані на ML. Які найбільші відмінності між F # і Scala, незважаючи на …

3
Чому модель анемічного домену вважається поганою в C # / OOP, але дуже важливою для F # / FP?
У публікації блогу на F # для розваги та прибутку написано: У функціональному дизайні дуже важливо відокремити поведінку від даних. Типи даних прості та "німі". А потім окремо у вас є ряд функцій, які діють на ці типи даних. Це якраз протилежність об'єктно-орієнтованому дизайну, де маються на увазі поєднання поведінки …

9
Справжні підводні камені впровадження F # у велику кодову базу та інженерну команду [закрито]
Я CTO програмної фірми з великою існуючою кодовою базою (усі C #) та великою інженерною командою. Я бачу, як певні частини коду було б набагато простіше писати у F #, що призводить до більш швидкого часу розробки, меншої кількості помилок, простіших паралельних реалізацій тощо, в основному загального підвищення продуктивності для …

4
Чому F # має інтерактивний режим, але не C #?
F # виходить із коробки з інтерактивною REPL. C # не має нічого подібного, і насправді щось важко обіграти без створення повноцінного проекту (хоча LINQpad працює, і це також можливо зробити через powerhell). Чи є щось принципово інше в мовах, що дозволяє F # мати інтерактивну консоль, але ускладнює її …
32 c#  .net  tools  f# 

3
Чому б не коментувати параметри функції?
Щоб зробити це питання відповідальним, припустимо, що вартість неоднозначності на увазі програміста значно дорожча, ніж кілька додаткових натискань клавіш. З огляду на це, чому я б дозволив своїм товаришам по команді піти, не зазначаючи параметри своїх функцій? Візьміть такий приклад як приклад того, що може бути набагато складнішим кодом: let …
28 f#  parameters 

3
Для чого потрібне ключове слово rec у F #?
У F # необхідно використовувати recключове слово. У Haskell немає необхідності чітко вказувати, чи є дана функція рекурсивною чи ні. Враховуючи роль рекурсії у функціональному програмуванні, дизайн F # здається мені досить дивним. Це гарне мовне рішення або воно існує лише з історичної причини або через обмеження щодо впровадження?

2
Оптимізація комбінаторів та хвостових викликів Y
Визначення комбінатора Y у F # є let rec y f x = f (y f) x f розраховує мати в якості першого аргументу деяке продовження для рекурсивних підпроблем. Використовуючи yf як продовження, ми бачимо, що f буде застосовуватися до послідовних викликів у міру розвитку let y f x = …

3
F # продуктивність проти продуктивності Erlang, чи є доказ того, що VM Erlang швидше?
Я вкладав час на вивчення функціонального програмування, і я прийшов до тієї частини, де хочу почати писати проект, а не просто займатися навчальними посібниками / прикладами. Роблячи моє дослідження, я виявив, що Erlang здається досить потужним, коли йдеться про написання одночасного програмного забезпечення (що є моєю метою), але ресурси та …
19 f#  erlang 

3
Найшвидша функціональна мова
Я нещодавно заглиблювався у функціональне програмування, особливо Haskell та F #, тим більше. Після деякого гуглювання навколо я не зміг знайти порівняльне порівняння більш помітних функціональних мов (Scala, F # тощо). Я знаю, що це не обов'язково справедливо до деяких мов (на думку Скали), враховуючи, що вони є гібридами, але …

2
Чи пропонує F # щось особливо корисне для веб-розробки, керованої базами даних?
Цього року моя організація остаточно перейшла до MS Visual Studio 2010. Однією з нових нових функцій, яку пропонує Visual Studio 2010, є мова програмування F #. Я розумію, що F # пропонує парадигму функціонального програмування, схожу на Lisp. На відміну від Lisp, F # компілюється в керований код для .net …

4
Чи відповідність шаблонів проти типів ідіоматична чи поганий дизайн?
Схоже, що F # код часто узгоджується з типом. Звичайно match opt with | Some val -> Something(val) | None -> Different() здається загальним. Але з точки зору OOP, це виглядає надзвичайно багато, як контрольний потік на основі перевірки типу виконання, який, як правило, нахмуриться. Щоб прописати це, в OOP …

3
Якщо ви використовуєте C # і F # разом
Я знаю, що ви можете використовувати C # і F # разом в одному проекті, однак я не впевнений, чи добре це зробити. Мені здається, що змішування двох дуже різних стилів кодування (функціональний проти OOP) може спричинити відсутність згуртованості в дизайні. Це правильно?
16 design  f# 

5
Як хтось, звик до мислення FP, читав імперативний код?
Я закінчив університет близько п’яти місяців тому і працював у місцевому стартапі останні чотири місяці. Перебуваючи в університеті, я самостійно вивчав Haskell, F # тощо. Нас викладали Java в університеті, але я дуже швидко зазнав функціонального програмування, і провів з ним набагато більше часу, ніж я займався імперативним програмуванням. Як …

4
Які є хороші практики, коли намагаються навчити декларативному програмуванню імперативних програмістів?
Я запропонував трохи тренуватися у F # у своїй компанії, і вони, схоже, виявляють певний інтерес. Вони, як правило, програмісти VB6 та C #, які не слідкують за програмою з надто великою пристрастю. Якщо говорити, я відчуваю, що простіше написати правильний код, коли ви думаєте про функціональне питання, тому вони …

4
Функціональне програмування - незмінність
Я намагаюся зрозуміти, що стосується непорушних даних у FP (зокрема, у F #, але з іншими FP також нормально) і порушувати стару звичку до повноцінного мислення (стиль OOP). Частина обраної відповіді на запитання тут ще раз підтвердила мій пошук будь-яких записів навколо проблем, які вирішуються стаціонарними представленнями в OOP з …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.