Форум программистов, компьютерный форум, киберфорум
F# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/37: Рейтинг темы: голосов - 37, средняя оценка - 5.00
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9673 / 4825 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14

Стоит ли изучить F#, если знаешь C#

08.05.2012, 17:53. Показов 7893. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я несколько лет самостоятельно изучаю C#, мне этот язык нравится. Но существует ещё куча языков, совместимых с .NET и сильно отличающихся от C# по типизации и т.п. Так вот, стоит ли изучить F# или ещё какой-нибудь .NET-совместимый язык (IronPython, Boo...)?. Принесёт ли мне это какую-то пользу в плане удобства или продуктивности программирования, или какие-то новые возможности?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.05.2012, 17:53
Ответы с готовыми решениями:

C, если знаешь C#
Здравствуйте, есть небольшая проблемка: в ЕГЭ и олимпиадах по информатике в перечне разрешенных языков нет C#, но есть Cи. Так вот,...

Клик по кнопке, если не знаешь её id
Здравствуйте, как кликнуть по кнопке в Webbrowser, если не знаешь её Id. Вот код самой кнопки <button value="1"...

Какие языки стоит изучить?
Не знаю, где создавать эту тему, поэтому создал тут. Помогите пожалуйста, вот я не знаю с какого языка начать, кучу народу говорит начни с...

15
101 / 101 / 12
Регистрация: 21.11.2011
Сообщений: 169
08.05.2012, 19:25
Цитата Сообщение от tezaurismosis Посмотреть сообщение
Так вот, стоит ли изучить F# ...
нет

Цитата Сообщение от tezaurismosis Посмотреть сообщение
... ещё какой-нибудь .NET-совместимый язык (IronPython, Boo...)?
да

Цитата Сообщение от tezaurismosis Посмотреть сообщение
то какую-то пользу в плане удобства или продуктивности программирования, или какие-то новые возможности?
возможно
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9673 / 4825 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
09.05.2012, 12:12  [ТС]
hiddentool, можно ли какие-либо аргументы к этим ответам?
0
101 / 101 / 12
Регистрация: 21.11.2011
Сообщений: 169
09.05.2012, 12:34
Цитата Сообщение от tezaurismosis Посмотреть сообщение
hiddentool, можно ли какие-либо аргументы к этим ответам?
аргументы приводят что б защитить свою точку зрения от противоположной. противоположной я не наблюдаю, да и ответы досточно очевидны что б их аргументировать. но один раз отпишу

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

... ещё какой-нибудь .NET-совместимый язык (IronPython, Boo...)?
да. IronPython даст возможность легко уйти на чистый Python, который имеет аудиторию на поряки больше чем у F#, со всеми плюсами от этого. Boo еще до релиза не дорос, так что его практическое применение под вопросом.

то какую-то пользу в плане удобства или продуктивности программирования, или какие-то новые возможности?
возможно. все возможно. на такие общие вопросы обычно не отвечают ибо ответ зависит от 1001 условия, начиная с субъективного определения " удобства"
3
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9673 / 4825 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
09.05.2012, 12:45  [ТС]
Спасибо. Не буду учить F#
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
10.05.2012, 15:31
Лучший ответ Сообщение было отмечено как решение

Решение

Как сказал один умный дядька, не помню кто, - не стоит изучать язык, который не меняет ваших представлений о программировании.
F#, если это для вас первый функциональный язык, ваши представления изменит.
Во-первых, это просто интересно. Язык очень лаконичный и в некоторых вопросах удобный.
Развитие есть, IDE есть, и вообще - это, наверно, единственный практичный функциональный язык.

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

IronPython изучать тоже стоит, только надо понимать его нишу.
Воо - прекрасный язык, но с ним туго в отношении IDE. Используется только в одном серьезном проекте (Unity3d), а жаль.

Добавлено через 8 минут
Цитата Сообщение от hiddentool Посмотреть сообщение
F# скорее мертв чем жив, совместимости с предками нет, развития нет и не предвидится. самое вероятное что его постигет судьбы J#. Знание языка за пределами .Net имеет нулевую пользу
F# вполне себе жив. "Совместимость с предками" - зачем нужна? Он превзошел своего предка - Ocaml. Впрочем, для олдскульщиков там есть специальный ключик, чтобы писать в Ocaml-совместимом виде, только никто им не пользуется.

Знание языка за пределами .net принесет пользу такую, что человек поймет функциональное программирование и сможет без большоего труда освоить haskell\ocaml\erlang.
6
101 / 101 / 12
Регистрация: 21.11.2011
Сообщений: 169
10.05.2012, 21:35
Цитата Сообщение от dondublon Посмотреть сообщение
Язык очень лаконичный и в некоторых вопросах удобный.
смотря с чем сравнивать
Цитата Сообщение от dondublon Посмотреть сообщение
Развитие есть, IDE есть, ....
Какое развитие ? Разница между версиями 2 и 3, если отбросить маркетинговый бред, видна только в микроскоп.
Цитата Сообщение от dondublon Посмотреть сообщение
Он превзошел своего предка - Ocaml. Впрочем, для олдскульщиков там есть специальный ключик, чтобы писать в Ocaml-совместимом виде, только никто им не пользуется.
Разумеется не пользуется, потому как совместимости все равно нет, а ключик так, для галочки. А кто кого превзошел мы поговорим, когда в этом убожестве заработает caml4p, или хотя бы структурный вывод типов вместо номинативного.
Цитата Сообщение от dondublon Посмотреть сообщение
Знание языка за пределами .net принесет пользу такую, что человек поймет функциональное программирование и сможет без большоего труда освоить haskell\ocaml\erlang.
Вот пусть и начинает изучение ФП с haskell'я, а не тратит время сомнительное поделие в котором кроме функционального подхода, разрешен не только имеперативный, но еще и ОО. В результате императивщики увидев F#, продолжают писать в императивном стиле, и ожидаемо никакому ФП не учатся.
2
313 / 268 / 5
Регистрация: 03.04.2011
Сообщений: 456
11.05.2012, 00:52
Цитата Сообщение от hiddentool Посмотреть сообщение
кроме функционального подхода, разрешен не только имеперативный, но еще и ОО.
А разве это так плохо? Если аккуратно пользоваться - сомневаюсь, что код скатится в императивную парашу.
0
101 / 101 / 12
Регистрация: 21.11.2011
Сообщений: 169
11.05.2012, 06:55
Цитата Сообщение от bokunopico Посмотреть сообщение
А разве это так плохо? Если аккуратно пользоваться - сомневаюсь, что код скатится в императивную парашу.
Это неплохо когда уже знаешь ФП, но именно для обучения ФП это очень мешает, и код у обучающийхся очень часто скатывается в указанное место, потому как проще использовать то что знаешь, чем учиться чемуто новому.
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
11.05.2012, 07:20
Цитата Сообщение от hiddentool Посмотреть сообщение
смотря с чем сравнивать
с C#

Цитата Сообщение от hiddentool Посмотреть сообщение
Какое развитие ? Разница между версиями 2 и 3, если отбросить маркетинговый бред, видна только в микроскоп.
Для не-мейнстримного языка - вполне. Сравните с развитием Ocaml.

Цитата Сообщение от hiddentool Посмотреть сообщение
А кто кого превзошел мы поговорим, когда в этом убожестве заработает caml4p
Не думаю, что это такая нужная штука, хотя не пробовал. А вот тот факт, что для Ocaml нет цивильного IDE (и не предвидится) - напрягает. Не говоря уже про богатую библиотеку классов .net.

Цитата Сообщение от hiddentool Посмотреть сообщение
Вот пусть и начинает изучение ФП с haskell'я, а не тратит время сомнительное поделие в котором кроме функционального подхода, разрешен не только имеперативный, но еще и ОО.
Ну и хорошо, что разрешен.
Так радеешь за функциональную чистоту? А зачем? Друзьям похвастаться?
Haskell - зубодробительнейшая площадка для экспериментов, вещь непрактичная.

Кстати, "сомнительные поделия" - это от всяческих коммьюнити. Без IDE, без нормальной документации. А MS своё дело знает.
0
101 / 101 / 12
Регистрация: 21.11.2011
Сообщений: 169
11.05.2012, 11:42
Цитата Сообщение от dondublon Посмотреть сообщение
с C#
отлично. хочу видеть краткий код для работы с формами или базами данных, в сравнении с тем же linq2sql. и чтоб все было на чистом F# версии 2 (другой офицально еще нет) и без библиотек сгенеренных через C#.
Цитата Сообщение от dondublon Посмотреть сообщение
Для не-мейнстримного языка - вполне. Сравните с развитием Ocaml.
корректнее сравнивать со хаскелем, куда MS также лъет бабло, или хотябы со Скалой
Цитата Сообщение от dondublon Посмотреть сообщение
Не думаю, что это такая нужная штука, хотя не пробовал.
"не читал, но осуждаю". знакомо.
http://docs.camlcity.org/docs/... pa_lisp.ml
это называется нормальный DSL. Хотя бы жалкое подобие этого от "всех превзошедших F#" увидеть можно?
Цитата Сообщение от dondublon Посмотреть сообщение
.... Не говоря уже про богатую библиотеку классов .net.
снова смотря с чем сравнивать
Цитата Сообщение от dondublon Посмотреть сообщение
Ну и хорошо, что разрешен.
Так радеешь за функциональную чистоту? А зачем? Друзьям похвастаться?
Haskell - зубодробительнейшая площадка для экспериментов, вещь непрактичная.
площадка для экспериментов отлично подходит для обучения ФП. А насчет практичности, так и F# вещь непрактичная.
Цитата Сообщение от dondublon Посмотреть сообщение
Кстати, "сомнительные поделия" - это от всяческих коммьюнити. Без IDE, без нормальной документации. А MS своё дело знает.
Знает и вовремя закрывает J#. Кто следующий ?
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
11.05.2012, 12:04
Цитата Сообщение от hiddentool Посмотреть сообщение
отлично. хочу видеть краткий код для работы с формами или базами данных, в сравнении с тем же linq2sql.
подобные вещи на F# реализуются средствами языка.
Цитата Сообщение от hiddentool Посмотреть сообщение
корректнее сравнивать со хаскелем
Почему же? Все-таки на основе Ocaml сделан.

Цитата Сообщение от hiddentool Посмотреть сообщение
это называется нормальный DSL
ЭТО называется нормальный DSL??? вы что-то путаете. Может, это все-таки парсер? Так парсеры и на F# пишутся. В такие сложные вопросы я не влезал, признаюсь.

Цитата Сообщение от hiddentool Посмотреть сообщение
снова смотря с чем сравнивать
С множеством наработок для Ocaml.


Цитата Сообщение от hiddentool Посмотреть сообщение
так и F# вещь непрактичная.
Отнюдь. Скажите среднему руководителю "Я хочу написать кусок кода на F#" и "Я хочу насписать кусок кода на Haskell". В каком варианте он вас пошлет дальше? Работу на F# хотя бы можно без плясок с бубном включать в другие проекты на мейнстримовом языке.


Цитата Сообщение от hiddentool Посмотреть сообщение
Знает и вовремя закрывает J#
J# - это все-таки другое. Он претендовал на ту же нишу, что и C#. Резонно, что от одного из двух отказались. У F# аналогов, продвигаемых MS, нет.
0
101 / 101 / 12
Регистрация: 21.11.2011
Сообщений: 169
11.05.2012, 17:35
Цитата Сообщение от dondublon Посмотреть сообщение
подобные вещи на F# реализуются средствами языка.
т.е. краткого кода на F# в природе не существует. ну разве что факторал написать.
Цитата Сообщение от dondublon Посмотреть сообщение
Почему же? Все-таки на основе Ocaml сделан.
потому как в них тоже льют финансы на продвижение. а в Ocaml их никто не льет.
и несмотря на обилие фин.вливаний в F#, его развитие не наблюдается. более того Сайм всеми конечностями упирается и отказывается хоть чтото делать.
Цитата Сообщение от dondublon Посмотреть сообщение
ЭТО называется нормальный DSL??? вы что-то путаете. Может, это все-таки парсер? Так парсеры и на F# пишутся. В такие сложные вопросы я не влезал, признаюсь.
caml4p это не парсер, а препроцессор. и ошибки вылезут на стадии компиляции. а на F# пишутся только здраствуй рантайм еррор.
Цитата Сообщение от dondublon Посмотреть сообщение
С множеством наработок для Ocaml.
и? есть документальные источники превосходства чего-либо над другим?
Цитата Сообщение от dondublon Посмотреть сообщение
Отнюдь. Скажите среднему руководителю "Я хочу написать кусок кода на F#" и "Я хочу насписать кусок кода на Haskell". В каком варианте он вас пошлет дальше? Работу на F# хотя бы можно без плясок с бубном включать в другие проекты на мейнстримовом языке.
речь о непрактичности, в том что особых премуществ от использования F# в проектах нет.
Цитата Сообщение от dondublon Посмотреть сообщение
J# - это все-таки другое. Он претендовал на ту же нишу, что и C#. Резонно, что от одного из двух отказались. У F# аналогов, продвигаемых MS, нет.
J# никуда не претендовал. его сделали что джавистов на свою платформу сманить. когда цель была достигнута его убрали. А как они F# продвигают, так лучше б без них. Пока он не был в студии развитие языка шло на порядки быстрее.

Добавлено через 4 часа 22 минуты
Цитата Сообщение от dondublon Посмотреть сообщение
Для не-мейнстримного языка - вполне. Сравните с развитием Ocaml.
я всетаки не поленился сравнил.
http://caml.inria.fr/pub/distrib/
обновление 1 раз в 1-2 года (прям как у F#). при том что последняя версия Ocaml в плане языка предлагает намного больше интересных изменений чем F#.
0
Заблокирован
13.05.2012, 18:07
Мне кажется, что F# - эдакий полигон для обкатки фич для C#: функциональщина, всякие async/await и прочие. Причём в шарпе в результате всё это выглядит куда удобнее и практичнее.
1
 Аватар для Vlad_IT
1452 / 360 / 61
Регистрация: 03.04.2010
Сообщений: 2,096
28.11.2012, 18:38
На мой взгляд, учить стоит. Он не помешает, да и он удобен для людей склонных к математике, он довольно гибкий, короткий. Конечно бы я сам, не стал бы учить дополнительный .NET язык, куда более полезнее, изучить Python, но если времени много, и Вы уже где-то работаете, то я бы попробовал, Вы ничего не потеряете)
0
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
02.12.2012, 23:56
Скажу так, если вы занимаетесь математической деятельностью, то F# будет очень даже полезен. Если вы такими вопросами не занимаетесь, то не имеет смысла в него лезть, python будет полезнее, как не крути, а вот в haskell я бы не советовал бы лезть без особой надобности.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.12.2012, 23:56
Помогаю со студенческими работами здесь

Какой ЯП стоит изучить С, С++ или C#?
Какой из вышеперечисленных ЯП будет самым актуальным, лучшим и востребованным в будущем? И второй вопрос: какой ЯП для...

Какие библиотеки стоит изучить?
Здравствуйте, я недавно начал изучать программирование и понял, что после основ языка надо переходить к изучению различных библиотек....

Стоит ли изучить программирование в стиле С?
Стоит ли изучит программирование в стиле С? В книге написано про строки в стиле С и настоятельно рекомендуется не использовать их при...

Если знаешь Си и C++, нужно ли знать Python?
как вы считаете? и долго ли его учить?

Как выделить ячейку, если знаешь ее адрес?
помогите. как выделить ячейку, если я знаю ее адрес, но мне надо чтобы адрес был переменной. я при каждом шаге меняю адрес. Спасибо!!!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru