Что учиться затем: F# или LINQ

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

Я стремлюсь и "расширяю свой horizont", мудрый программированием И для "Улучшения моего резюме" без определенного порядка.

ОБНОВЛЕНИЕ: От чтения Ваших ответов я до сих пор склоняюсь к изучению LINQ, так как это, "должен для всех программистов.NET". Я оставляю вопрос открытым некоторое время, только для получения еще некоторых мнений. Спасибо за Ваши ответы.

ОБНОВЛЕНИЕ 2: хорошо, таким образом, от чтения Ваших ответов казалось бы, что LINQ имеет самую легкую кривую обучения и относится к C# и F# оба, таким образом, время, проведенное с LINQ, не "потрачено впустую", даже если я иду с F# в конечном счете. Еще раз спасибо за Ваши ответы.

8
задан S.C. Madsen 4 March 2010 в 08:22
поделиться

8 ответов

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

19
ответ дан 5 December 2019 в 05:08
поделиться

IMHO

F # , а затем LINQ

1
ответ дан 5 December 2019 в 05:08
поделиться

Я провел некоторое время с F # в качестве хобби, прежде чем у меня появилась возможность изучить C # 3 для работы. Оказалось, что я уже активно использовал LINQ в своем коде F #, даже не зная об этом в виде выражений последовательности. Когда я познакомился с LINQ, я сразу узнал его, а также сразу понял принцип отложенного выполнения.

Итак, если вы изучаете F #, вы уже знаете LINQ. Затем вам нужно только посмотреть синтаксис.

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

3
ответ дан 5 December 2019 в 05:08
поделиться

Их обоих приятно освоить.

0
ответ дан 5 December 2019 в 05:08
поделиться

Linq и F # очень разные.

F # - это сам по себе язык, но linq - это инструмент или функция, которую вы можете использовать на этом языке.

Linq - это фантастика, которая упростит вашу разработку во многих областях и сделает вас более продуктивным в долгосрочной перспективе.

Linq - необходимость для всех разработчиков dotnet.

Вот ссылка, показывающая некоторые способы использования linq Linq 101

3
ответ дан 5 December 2019 в 05:08
поделиться

LINQ (Language Integrated Query) - это небольшой встроенный язык в C #, который позволяет вам работать с коллекциями объектов очень естественным образом, например

int[] numbers = new int[] {1,2,3,4,5,6,7,8,9};

var smalloNumbers = from n in numbers where n < 10 select n;

Это допустимый C #, LINQ - это просто еще одна функция языка, которая используется совместно с VB. Связанные технологии используют LINQ для доступа к хранилищу базы данных (LINQ-to-SQL, LINQ-to-NHibernate и т. Д.) Или другим интересным службам (например, Amazon или ebay и т. Д.), Но сам LINQ можно изучить на языке самого C # (LINQ-to -objects) без необходимости играть с базами данных или что-то в этом роде.

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

Подводя итог, я бы порекомендовал сначала выбрать LINQ вместе с другими языковыми функциями в C ~, которые вы, возможно, пропустили (LINQ также проведет вас через лямбда-выражения, анонимные типы и ключевое слово var, если оно еще не встречается), а затем перейти на F # в качестве нового учебного проекта позднее. Как разработчик C # я использую LINQ в своем коде каждый день.

Надеюсь, это поможет.

2
ответ дан 5 December 2019 в 05:08
поделиться

Это зависит от того, что вам нужно делать.

Если вы хотите создавать приложения WPF или приложения ASP.NET или Silverlight для Интернета, углубитесь в C # и LINQ. Если вы хотите создавать научные, финансовые приложения, работающие с вычислениями, используйте F #. Если вы просто хотите повеселиться, используйте оба варианта: -)

Обратите внимание, что усилия, необходимые для изучения LINQ, и усилия, необходимые для изучения F #, отличаются друг от друга на несколько порядков: LINQ - это, по сути, просто библиотека и специальный синтаксис для построения запросов. , и если вы привыкли писать SQL, вам будет очень легко это понять. С другой стороны, если вы привыкли к императивному программированию на таких языках, как C #, освоение F # потребует смены парадигмы. Таким образом, F # также является технологией, которая максимально расширит ваш кругозор (конечно, в зависимости от вашего текущего набора навыков).

6
ответ дан 5 December 2019 в 05:08
поделиться

Почему не использовать другие фреймворки в пространстве .Net, такие как WCF, WPF, ASP.net MVC, некоторые .Net ORM и т. Д. ? F# предназначен для функционального языка программирования на платформе .Net. Если вы не использовали другой язык функционального программирования, это другая парадигма, и кривая обучения будет более крутой, чем для LINQ. Лучший способ изучить LINQ - это использовать его в игрушечном или реальном проекте, где вы используете C # и базу данных SQL-сервера. В LINQ не так много нового синтаксического сахара.
С другой стороны, хотя вышесказанное применимо и к изучению F #, вы можете решать любые упражнения по программированию или проектировать головоломки, подобные Эйлеру, с помощью F #, чтобы познакомиться с конструкциями программирования.

0
ответ дан 5 December 2019 в 05:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: