Які відомі додатки написані на F #? [зачинено]


13

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

Я сподівався, що історії успіху F # або, принаймні, кілька додатків, з якими я був би знайомий, можуть зробити трохи зрозумілішим, коли F # (або будь-яка функціональна мова програмування) буде відповідна для проекту.

Повертаємось до питання, що це за деякі добре відомі програми, які використовують F # або подібну функціональну мову програмування?

BTW: Я також відкритий для того, щоб слухати про деякі менш відомі додатки, але якщо ви згадуєте про це, будь ласка, розкажіть основи того, про що йдеться у програмі, і чому саме використовуваний мова був відповідним вибором.


Мені цікаво про це добре. Я думав, що F # - мова, орієнтована на математику, MS Research Dept. Було б цікаво дізнатись, чи є там якісь програми, які використовують його, впізнавані. Я сумніваюся, що існують якісь "добре відомі" програми, які повністю F #.
Кавет Керек

1
Це питання видається поза темою, оскільки це запитання, засноване на опитуванні.

jet.com, запуск електронної комерції, спочатку написаний на F #, був придбаний Walmart пару років тому за $ 3 + мільярди
KolA

Відповіді:


8
  • Вся система F # (компілятор, бібліотеки та інструменти)
  • IronJS (вже згадувалося)
  • Алгоритм XBox Live TrueSkill, а також уся система досягнень, система ранжирування та система сватання, що його оточують

Я здогадуюсь, що головна причина, чому немає жодних «відомих» додатків, написаних на F #, полягає в тому, що потрібні роки, навіть десятиліття, щоб стати «відомими», а F # просто ще не така стара.

Однак переважна більшість додатків не є «відомими». Існує лише одна PowerPoint, але в буквальному сенсі є мільйони рукописних спеціальних маленьких одноразових додатків із оплати праці.

І F #, безумовно, використовується у багатьох фінансових компаніях, роблячи наукові та числові обчислення, скажімо, в біотехнологіях або в greentech, роблячи статистику, бог знає, де і так далі. Ці програми не відомі або тому, що вони просто не "сексуальні", або часто тому, що компанії вважають F # їх секретною зброєю, що дає їм конкурентну перевагу. (OCaml, Smalltalk та APL виконують подібні ролі. Наприклад, багато фінансових компаній використовують APL, але вони не широко публікують це. Дійсно, користувачі APL часто навіть не є програмістами, і тому навіть не знають, де і як оприлюднити це, навіть якщо вони захотіли.)


1
Згідно з Вікіпедією, F # 8 років. PHP, Java, C # використовувались у відомих програмах задовго до того, як вони досягли цього віку. Наприклад, C # з'явився в 2001 році. І його досить чіткий F # за рівнем використання на рік більше, ніж на C #.
гросмайстерB

5
@GrandmasterB: Це може бути не справедливою оцінкою. F # був просто експериментальним проектом, поки він не був продукований у VS2010, хоча він був життєздатним у 2008 році. Тому я би точно не назвав це 8 років.
Роберт Харві

3

Є Таблиці . Файловий менеджер та організатор, з великою кількістю функцій. Він забезпечує систему тегів, якою ви навіть можете ділитися з іншими. Це комерційний продукт.


1

Я замислювався над тим самим справою деякий час. Мені дуже подобається F #, але я нічого не бачив у царині комерційного додатку. Що я чув (і досить часто) - це те, що F # багато використовували у фінансовій царині.

Які гідні веб-рамки існують для функціонального програмування? є кілька прикладів веб-рамок для функціональних мов програмування, і я знаю http://cs.hubfs.net/blogs/tomasp/archive/2010/05/09/14050.aspx - стаття, як написати ASP.Net MVC 2 Веб-додаток у F #.

Як я шукав статті на F #, і багато прикладів, і похвала людей прийшла у вигляді аналізаторів журналів. Але це завжди супроводжується застереженням чогось за рядком "Мені не дозволяється використовувати мову на роботі" (перефразовано, звичайно). Спробую знайти більше прикладів.

Я бавився з ідеєю створити текстовий MUD (Multi-User Dungeon) у F #, але я ніколи не маю часу.


MUD == Багатокористувацька підземелля?
Роберт Харві

@ Роберт Харві - це було б правильно. Я відредагую це для тих, хто не знає.
Jetti

Я забув додати WebSharper. Це дозволяє розробникам створювати веб-сайти повністю у F #.
Jetti

0

Я коротко переглянув F #, коли хотів написати аналізатор SQL, який я в кінцевому підсумку реалізував у Haskell. Але це означає, що ви можете використовувати F # де завгодно, де ви б використовували C #, але чи варто було б це зробити? Якщо ви будете робити багато функціональних програмувань, використання F # буде доцільним, оскільки синтаксис функціональних конструкцій дружніший. Якщо ви займаєтесь переважно OO, напевно, краще дотримуватися C #.


Я згоден з Ларрі Коулманом. Навіщо хтось щось робити у F #, коли він може це зробити в C #? Я думаю, що можна впевнено сказати, що більшість випадків, коли F # вигідна за C #, це не в комерційній ситуації з додатком.
Jetti

1
Я думаю, що це багато в чому і з точки зору MS. C # і VB.NET були представлені як / або один для одного, але я думаю, що мета F # (і в меншій мірі таких мов, як IronPython і Boo) - заохочувати програмування поліглотів: використання різних мов з унікальними функціями для вирішення різних види проблем.
CodexArcanum

@Jetti F # дуже хороший для будь-якого виду обробки даних, для аналізу та для будь-якого обчислювального поля, де правильність має значення. Функціональне програмування загалом пропонує такий рівень виразності, що робить багато видів програм дуже простими для запису. Нічого з цього не дуже видно, передові матеріали, як-от веб-сайт або додаток GUI, області, де C # перевершує. Ви можете використовувати LINQ, щоб отримати частину FP в C #, але F # є більш природною мовою для вираження такого коду.
CodexArcanum

@CodexArcanum - я повністю з вами згоден. Я думаю, що я зловживав "Комерційним додатком", я повинен був сказати "Щоденне споживче додаток (тобто Office, Firefox тощо)"
Jetti

1
@Jetti: Я б рекомендував Haskell над F #, якщо ви зацікавлені у вивченні функціонального програмування. Ви дізнаєтесь це швидше, тому що ви не зможете робити процедурні або OO в ньому.
Ларрі Коулман

0

Залізо JS .

Особисто я вважаю, що дивно, що єдина програма, про яку я знаю, написана на F #, - це те, що дозволяє писати мовою, відмінною від F #.

Мені це дуже багато говорить про справжнє значення функціонального програмування. Люди можуть відсвяткувати, наскільки "красивим" є все, що вони хочуть - якби це було так красиво, люди б користувалися цим більше.


Я не згоден з вашим останнім твердженням. Люди дійсно використовують F #, насправді вони користуються ним настільки, що він став частиною Visual Studio 2010. F # був прийнятий у фінансовому секторі так само, як Ерланг був прийнятий у телекомунікаціях. Тільки тому, що я можу написати додаток у F #, не означає, що я буду просто робити це. Мова (і мови FP загалом) мають свої сильні та слабкі сторони, тому вони будуть широко використовуватися в областях, які можуть отримати користь від їхньої сили!
Jetti

@ Jetti, звичайно. З моменту задумки функціонального програмування минуло понад 30 років, але я впевнений, що він змушений збивати процедурне програмування з п'єдесталу будь-якого дня. Я не кажу, що це не має деяких достоїнств - деякі речі можна зробити досить елегантно з функціоналом. Те , що я маю сказати, що він ніколи не буде домінувати.
riwalk

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