Начало работы с F # [закрыто]

142

Как мне начать программировать на F #?

Какие хорошие образцы для начинающих выучить язык или узнать о его преимуществах перед другими языками?

Какие инструменты мне нужны (например, Windows, Visual Studio, ...)?

Брайан
источник
4
Если 120 голосов «за», следует ли снова открыть этот вопрос? Он дает хорошие ответы на хороший вопрос, который читали много раз.
валки

Ответы:

139

Официальная точка входа здесь: Центр разработчиков Microsoft F #

Чтобы быстро попробовать, попробуйте F # в своем браузере (Silverlight). (содержит интерактивные пошаговые руководства)

Начните с просмотра видео и презентаций (кстати, «Введение в Microsoft F # » Луки Болоньезе до сих пор остается одной из лучших презентаций по этой теме). Затем прочтите следующие две книги, которые необходимо прочитать:

и в дополнение к этому ...

Быстрые ссылки

Сообщество

Вопросы и ответы

Блог / публикации

Группы встреч

Ролики

Другие книги

Необходимые инструменты

Visual Studio:

  • F # встроен в профессиональные версии VS2010 и VS2012.
  • F # доступен как дополнительный компонент к Visual Studio 2012 Express для Интернета.
  • В качестве альтернативы вы также можете установить интегрированную оболочку VS2010 ( бесплатная загрузка ). Затем установите CTP MSI , чтобы получить бесплатную версию F # 2.0 для VS2010.

MonoDevelop:

  • Вы можете найти много информации об использовании F # в MonoDevelop здесь . Компилятор F # и fsi.exe теперь являются частью дистрибутива Mono.
Брайан
источник
1
Когда дело доходит до программирования, мне еще не приходилось сталкиваться с книгой, которую необходимо прочитать, поэтому я довольно скептически отношусь к таким рекомендациям книг ...
HB
3
Что, если бы это было добавлено в информацию о теге? stackoverflow.com/tags/f%23/info
bytebuster
2
Если это может помочь, я и я обнаружили, что использую разные книги для разных целей. Эксперт F # больше как справочник (хотя и не чистый справочник) для поиска вещей, начиная с F # как книги по культуре, где я всегда узнаю что-то очень полезное, независимо от того, какую главу я читаю, даже базовые вещи, а RWFP как подведение итогов по теме .
Николас
3
Я тоже очень рекомендую книгу Джона Харропа. Действительно к делу, на стороне алгоритма с хорошими фундаментальными вещами. 0% отходов. Также Джону нравятся нуби.
Николас
1
@HB Я думаю, что их нужно прочитать, но они не являются фундаментальными и недостаточно общими, чтобы квалифицировать ИМХО,
Николас
31

Я изучил F #, выполнив следующие 3 шага.

Сначала я ознакомился с введением на веб-сайте Try F #, который дает хорошее (но легкое) интерактивное введение в синтаксис и стиль языка.

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

Наконец, я прочитал поистине превосходное руководство из 30 пунктов « Зачем использовать F #» на http://fsharpforfunandprofit.com/ . В нем вы шаг за шагом пройдете через все основные части языка, описывая, как вы можете использовать их в своих интересах - с оглядкой на разработчиков C #. После этого я рекомендую вам поискать другие ресурсы на веб-сайте, все они очень хорошо написаны и очень информативны.

После выполнения этих шагов вы должны быть готовы приступить к созданию реального проекта на F #.

Мортен Кристиансен
источник
3
Мне очень нравится рекомендация Эйлера. Фактическое решение проблем - (для меня) лучший способ по-настоящему разобраться. Также fsharpforfunandprofit - отличный источник, который я тоже нашел очень полезным.
Ostkontentitan
В примере проекта euler решения для f # кажутся не самыми производительными. Первая задача решается намного лучше с помощью: let проблема1 = [1..999] |> List.filter (fun x -> (x% 5 = 0 || x% 3 = 0)) |> Seq.sum ;; Я предлагаю измерить время вашего решения и предоставленных. stackoverflow.com/questions/4528355/…
Ostkontentitan
Я сделал то же самое. Выучил немного языка / синтаксиса / образа мышления и перешел в Project Euler.
Grzegorz Gierlik
24

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

Крис Маринос
источник
2
+1 Это отличное интерактивное введение в базовые концепции, с нетерпением жду некоторых коанов продвинутого уровня.
79E09796
1
Спасибо. Я выучил тонну коанов, и мне было бы интересно узнать о некоторых из них продвинутого уровня.
Тайлер Смит