Какие известные приложения написаны на F #? [закрыто]

13

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

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

Итак, вернемся к вопросу, каковы некоторые хорошо известные приложения, которые используют F # или подобный функциональный язык программирования?

Кстати, я также открыт для слушания о некоторых менее известных приложениях, но если вы упомянули одно, пожалуйста, дайте основы того, о чем приложение, и почему используемый язык был подходящим выбором.

JohnFx
источник
Мне интересно об этом хорошо. Я думал, что F # был ориентированным на математику языком MS Research Dept. Было бы интересно посмотреть, есть ли какие-нибудь программы, использующие его, которые можно узнать. Я сомневаюсь, что есть какие-либо «известные» программы, которые полностью F #, хотя.
Кавет Керек
1
Этот вопрос кажется не по теме, потому что это вопрос, основанный на опросе.
jet.com, стартап электронной коммерции, изначально написанный на F #, был куплен Walmart пару лет назад за 3 миллиарда долларов
KolA

Ответы:

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

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

Тем не менее, подавляющее большинство приложений не являются «общеизвестными». Существует только одна PowerPoint, но есть буквально миллионы рукописных пользовательских маленьких одноразовых приложений для расчета заработной платы.

И, конечно же, F # используется внутри компании во многих финансовых компаниях, занимающихся научными и числовыми вычислениями, скажем, в биотехнологиях или зеленых технологиях, в статистике, где бог знает, где и так далее. Эти приложения малоизвестны, либо потому, что они просто не «сексуальны», либо часто потому, что компании считают F # своим секретным оружием, которое дает им конкурентное преимущество. (OCaml, Smalltalk и APL выполняют аналогичные роли. Многие финансовые компании, например, используют APL, но не широко его рекламируют. Действительно, зачастую пользователи APL даже не программисты, и поэтому даже не знают, где и как обнародовать это, даже если они хотели.)

Йорг Миттаг
источник
1
Согласно Википедии, F # 8 лет. PHP, Java, C # использовались в известных приложениях задолго до того, как они достигли этого возраста. C #, например, вышел в 2001 году. И довольно ясно, что F # более чем на год отстает от C # с точки зрения использования.
GrandmasterB
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 (многопользовательского Dungeon) в F #, но у меня никогда не было времени.

Jetti
источник
MUD == Многопользовательская темница?
Роберт Харви
@ Роберт Харви - это было бы правильно. Я отредактирую это для тех, кто не знает.
Джетти
Я забыл добавить WebSharper. Это позволяет разработчикам создавать веб-сайты полностью на F #.
Джетти
0

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

Ларри Коулман
источник
Я согласен с Ларри Коулманом. Зачем кому-то делать что-то в F #, если они могут это делать в C #? Я думаю, можно с уверенностью сказать, что в большинстве случаев F # выгоднее C #, это не так, как в коммерческих приложениях.
Джетти
1
Я думаю, что это в значительной степени и перспектива РС. C # и VB.NET были представлены как / или друг другу, но я думаю, что цель с F # (и, в меньшей степени, с такими языками, как IronPython и Boo) состоит в том, чтобы поощрять программирование полиглотов: использование разных языков с уникальными функциями для решения различных задач. виды проблем.
CodexArcanum
@Jetti F # очень хорош для любого вида обработки данных, для разбора и для любых областей, требующих больших вычислений, где важна корректность. Функциональное программирование в целом предлагает уровень выразительности, который делает многие виды программ очень простыми для написания. Ничего из этого не очень хорошо видно, такие вещи, как веб-сайт или приложение с графическим интерфейсом, области, где C # превосходит. Вы можете использовать LINQ, чтобы получить часть FP в C #, но F # - более естественный язык для выражения такого кода.
CodexArcanum
@CodexArcanum - я полностью с тобой согласен. Я предполагаю, что я неправильно использовал «Коммерческое приложение», я должен был сказать «Ежедневное потребительское приложение (т.е. Office, Firefox и т. Д.)»
Jetti
1
@Jetti: Я бы порекомендовал Haskell вместо F #, если вы заинтересованы в изучении функционального программирования. Вы научитесь этому быстрее, потому что вы не сможете делать процедурные или OO в нем.
Ларри Коулман
0

Железный JS .

Лично я считаю странным, что единственное известное мне приложение, написанное на F #, - это то, что позволяет писать на языке, отличном от F #.

Для меня это многое говорит об истинной ценности функционального программирования. Люди могут праздновать, как «красиво» это все, что они хотят - если бы это было так красиво, люди бы использовали это больше.

riwalk
источник
Я не согласен с вашим последним утверждением. Люди действительно используют F #, фактически они используют его настолько, что он стал частью Visual Studio 2010. F # был принят в финансовом секторе так же, как Erlang был принят в телекоммуникациях. То, что я могу написать приложение на F #, не означает, что я буду просто делать это. Язык (и языки FP в целом) имеют свои сильные и слабые стороны, и поэтому они будут широко использоваться в областях, которые могут извлечь выгоду из их силы!
Джетти
@ Джетти, конечно. Прошло более 30 лет с тех пор, как было задумано функциональное программирование, но я уверен, что оно неизбежно выбьет процедурное программирование с пьедестала в любой момент. Я не говорю, что у этого нет некоторых достоинств - некоторые вещи могут быть сделаны довольно элегантно с функционалом. То , что я имею сказать, что он никогда не будет доминировать.
riwalk
@ Stargzer712 - Я согласен, что он никогда не будет доминировать, и на то есть веские причины.
Джетти