2008-09-19 2 views
3

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

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

ответ

2

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

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

+0

Неизменяемые характеристики, безусловно, отлично подходят для параллельного выполнения. Должен признаться, что я все-таки привык. – 2008-09-19 21:08:11

+0

Да, это определенно требует привыкания, но в то же время оно может быть совершенно свободным, чтобы иметь возможность решить проблему, описав сама проблему, а не описывая шаги, которые вы предпримете для решения проблемы. – fryguybob 2008-09-19 21:15:24

3

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

1

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

+0

Я согласен с тем, что только заинтересованные разработчики осмеливаются рисковать в F #, это не самая простая задача для пикапа, когда все, что вы делаете, это OOP – 2008-09-24 07:16:10

0

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

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

1

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

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

Смежные вопросы