169 похожих чатов

Со всеми этими приколами, как объяснить на проекте необходимость использования

F# вместо C#?) Наличия Discriminated Unions будет не достаточно.
Option уже давненько перекрыто nullable reference type.

28 ответов

16 просмотров

Все просто

Ну во-первых, не перекрыто. Удачи отфильтровать null из массива. Во-вторых, я бы не стал объяснять необходимость, если честно. Или твоё или нет. Сишарп слишком удобен, даже если приходится больше писать.

Ivan-Pavlov Автор вопроса
Ilya L
Ну во-первых, не перекрыто. Удачи отфильтровать nu...

null в массиве также перекрывается nullable reference type. Если контракты никто ни соблюдает, то никакой Option или Discriminated Unions не поможет.

Необходимость как таковая писать на конкретном языка возникает, но не так часто как некоторым бы хотелось

Ivan Pavlov
null в массиве также перекрывается nullable refere...

Так не перекрывается. Я ж говорю, попробуй отфильтровать null из массива. При помощи стандартного Linq.Where.

Ivan-Pavlov Автор вопроса
Ilya L
Так не перекрывается. Я ж говорю, попробуй отфильт...

Вы имеет ввиду перевести nullable массив в НЕ nullable? Через Select() можно же сделать.

Ivan Pavlov
Вы имеет ввиду перевести nullable массив в НЕ null...

Через Select? Это что-то новое. Можно пример?

Вывод типов по ХМ мне достаточно, чтобы отказаться от C#. А если добавить DU с ломающимся компилером, при непокрытых кейсах, лаконичный дизайн рекордов с заточкой под работу с функциями в модулях, да еще с пайпом-то шарп вообще лесом идет. :)

- algebraic data types - immutability by default - computation expressions - concise syntax

Vagif Abilov
- algebraic data types - immutability by default -...

Мне кажется что одного пункта два должно хватать, чтобы вопрос закрылся))

Vagif Abilov
- algebraic data types - immutability by default -...

Автовывод типов по Хиндли-Милнеру же первым должен идти :)))

Ivan-Pavlov Автор вопроса
Vagif Abilov
- algebraic data types - immutability by default -...

Хм, а чем immutable by default лучше настраиваемой имутабельности?

Ivan Pavlov
Хм, а чем immutable by default лучше настраиваемой...

Меньшей суетой с ключевыми словами

Ivan Pavlov
Хм, а чем immutable by default лучше настраиваемой...

Одна из них приводит к постоянным ошибкам

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

Vagif Abilov
Тем, что когда дефолтом идут мутации и нули, это в...

Справедливости ради у шарпа нет UB(как в плюсах) по части неинициализированных переменных. Если конечно не страдать байтоёбием с SkipLocalsInit

Vagif Abilov
Тем, что когда дефолтом идут мутации и нули, это в...

как говорил многоуважаемый Джон Кармак: "худший код в вашем проекте будет настолько хуевым, насколько пропустит компилятор"

👽
Справедливости ради у шарпа нет UB(как в плюсах) п...

у шарпа есть дофига неверифицируемого кода разной степени сломанности, как и у фарша, но ему я прощаю так как множества людей что на нем пишут и множество людей что ебется с этими вещами вмещает в себя человек 5

Ilya L
В сишарпе и такой нет пока)

Факт. Нужно суетится много для её обеспечения :)

Ivan-Pavlov Автор вопроса
Vagif Abilov
- algebraic data types - immutability by default -...

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

Ivan Pavlov
Этого должно быть достаточно, что бы перевесить ра...

Проще когда обосрутся пару раз на шарпе предварительно

А не нужно искать F# программистов. Нужно искать просто хороших. Работает.

Ivan-Pavlov Автор вопроса
Vagif Abilov
А не нужно искать F# программистов. Нужно искать п...

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

Ivan Pavlov
Этого должно быть достаточно, что бы перевесить ра...

На фшарпе каждый калека писать может начать. Вон посмотри на меня. На сишарпе начинаются трехэтажные паттерны

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

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
11
открыть папку в проводнике: 1 - ShellExecute 2 - ExecuteProcess 3 - OpenDocument что лучше выбрать?
Alexey Kulakov
12
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта