F # и корпоративное программное обеспечение - PullRequest
3 голосов
/ 20 сентября 2008

Будучи разработчиком C # с версии 1.0, F # захватил мое свободное время в течение последних нескольких недель. В настоящее время компьютеры продаются с 2, 4 ... ядрами и многопоточностью не всегда просто выполнить.

В данный момент я вижу, что F # обладает большим потенциалом для сложных и / или тяжелых рабочих нагрузок. Считаете ли вы, что F # станет (когда-то RTM) важным игроком на рынке корпоративного программного обеспечения?

Ответы [ 5 ]

3 голосов
/ 20 сентября 2008

Я думаю, что у F # есть отличная возможность проникнуть в некоторые нишевые области корпоративных приложений, таких как математическое моделирование (например, для банковских / торговых приложений). Удаление побочных эффектов из функций также открывает большие возможности для параллелизма и запоминания. Трудно сказать, будут ли эти языки когда-нибудь популярны для развития, трудно сказать, но, по моему мнению, проблемы, скорее всего, будут ориентированы на человека (то есть отсутствие навыков и высокая кривая обучения для людей, знакомых с более типичными языками, такими как c # / java / c ++), а не технический.

2 голосов
/ 20 сентября 2008

Я думаю, что независимо от того, станет ли F # импортом для корпоративного программного обеспечения, возможность изолировать чисто функциональные части кода на любом языке будет иметь ключевое значение для использования потенциала многоядерных компьютеров. Например, Microsoft Parallel Extensions для .NET хороша, но все еще есть много места для ошибок, распараллеливая код, который не может выполняться параллельно. Если код выполнен в форме чисто функционального языка или подмножества вашего языка, который является чисто функциональным, то вы уверены, что можете выполнять его параллельно. Хитрость заключается в том, чтобы найти наиболее эффективный способ назначить работу.

Роль, которую F # играет в этом, я бы сказал, будет скорее катализатором для того, чтобы намочить ноги людей и начать мыслить более декларативно.

1 голос
/ 17 ноября 2009

C # / VB всегда будут основными языками, но F # лучше справляется со сложными задачами. C # более универсален, в то время как F # лучше в IA, статистике, науке (например, в поиске лекарства от рака) и т. Д. F # никогда не заменит C #, но позволит .NET конкурировать в других областях компьютерной науки. Что касается интеллектуального анализа данных и обработки большого количества данных, вам лучше разрабатывать их непосредственно внутри базы данных - например, SQL Server или oracle.

Что касается того, что F # трудно изучать, то это только потому, что нас «развратили» императивное мышление на большинстве других языков. Трудно отучиться от того, что ты делаешь за 5 лет! Кроме того, по моему опыту, ocaml и F # - радость использования. Единственная жалоба, которую я имею в отношении F # / Ocaml, заключается в том, что большую часть времени люди злоупотребляют выводом типа, что делает код нечитаемым. Я бы лучше объявил типы переменных, чтобы их было проще поддерживать.

1 голос
/ 21 сентября 2008

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

0 голосов
/ 22 сентября 2008

Я думаю, что F # всегда будет нишевым языком по сравнению с VB / C # / Java, потому что он требует больше математических или компьютерных знаний. Однако сам факт того, что это язык CLR, означает, что он будет иметь гораздо большую открытость, чем более ранние функциональные языки.

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

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