Предлагает ли F # что-нибудь особенно полезное для веб-разработки на основе баз данных?

18

Моя организация наконец-то обновилась до MS Visual Studio 2010 в этом году. Одна из больших новых функций, предлагаемых Visual Studio 2010, - это язык программирования F #.

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

Сейчас я занимаюсь разработкой веб-приложений на основе баз данных. Сейчас я работаю с n-уровневым приложением с SQL-кодом на стороне сервера и веб-приложением C # .net AJAX на стороне пользователя. Я хотел бы знать, предлагает ли F # что-нибудь, что было бы особенно полезно для этого типа разработки.

Печенье из рисовой муки
источник
Ваше программное обеспечение выполняет какой-либо финансовый или статистический анализ? Я не говорю, что это то, для чего предназначен F # (это намного больше, чем это), но в этой области он превосходит все, и в целом это типа «вставь х, получи у».
AndrewC
Между прочим, вы также должны иметь в виду соответствующее обслуживание любого кода, написанного на F #. Собираетесь ли вы обучать разработчиков языку? Вы не хотите быть единственным человеком, который понимает определенную область вашей системы.
AndrewC
Там нет финансового или статистического анализа. Это в основном просто ведение учета
печенье из рисовой муки

Ответы:

9

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

В зависимости от проблем, ваш проект F # может предоставить более простой и краткий код.

Функциональные языки также очень хорошо подходят для модульного тестирования. Тот и тот факт, что изменяемых данных намного меньше, означает, что при правильном написании кода будет гораздо меньше ошибок.

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

Изучение концепций функционального программирования также может реально помочь вашему Javascript (который сам по себе является функциональным языком).

Том Сквайрс
источник
6

В последней версии F # есть то, чего нет в C #, это провайдеры типов .

Типы, предоставляемые поставщиками типов F #, обычно основаны на внешних источниках информации. Например, поставщик типа F # для SQL предоставит типы, свойства и методы, которые необходимы вам для непосредственной работы с таблицами любой базы данных SQL, к которой у вас есть доступ. Аналогично, поставщик типов для веб-служб WSDL предоставит типы, свойства и методы, необходимые для непосредственной работы с любой веб-службой WSDL.

Поставщик типов SQL Server особенно прост в использовании. Вот пошаговое руководство о том, как его использовать.

JonnyBoats
источник