Hog
это схема датасатаниста - она ваще ничем от CSV не отличается
Hog
но планирую развивать!
Hog
пока что немного пришлось поплясать из-за даты (без времени)
Hog
BulkCopy с BulkCopyType.ProviderSpecific не хотел её вливать
Hog
[<Column; DataType(DataType.Date)>]
Hog
вот такое надо на поле рекорда навесить
Hog
но, это для linq2db
Pavel
Dr. Friedrich
x
https://auto.onliner.by/2019/03/07/sud-468
x
«В результате противоправных действий компьютерная система регистрации нарушений, представляющая собой единство взаимосвязанных частей, перестала функционировать.» — архитектура божественная.
Hog
У тебя не было в детстве ёлочной гирлянды с последовательным соединением лампочек? :)
x
Да, именно такая система 🤦♂️🤣
Aleksandr
Языки программирования: PowerShell захватывает всё больше разработчиков под Linux, macOS и Windows / Хабр
https://m.habr.com/ru/company/cloud4y/blog/442946/
Aleksandr
TIOBE :)
Vasiliy
😂
Vasiliy
Vasiliy
вообще шикарно, написал скрипт запустил и вуаля, все сайты подняты и настроены
Vasiliy
о 10 часть функционального мышления
Aleksandr
Переведенная?
Aleksandr
Ага, да, нашел
Aleksandr
https://m.habr.com/ru/company/microsoft/blog/433410/
Фил Ранжин
Vasily
Напомните мне - типы, созданные в тп, можно вызывать через конструктор извне?
Vladislav
Vasily
Такс, а как его сделать генеративным, напомни
Vasily
@Liminiens
Vasily
У тебя вроде был пример json, насколько я помню
Vladislav
Vladislav
let createType typeName =
let typ = ProvidedTypeDefinition(typeName, baseType = Some typeof<obj>, isErased = false, isSealed = false)
// Add default constructor (Otherwise Json.NET deserializer will noy be able to create an instance)
typ.AddMember <| ProvidedConstructor([], invokeCode = fun _ -> <@@ () @@>)
typ
Vladislav
https://github.com/Liminiens/json-provider/blob/master/src/JsonProvider.DesignTime/TypeProviderHelpers.fs
Vladislav
Отсюда кот
Vasily
Так, а DU в нем нельзя лепить, как я понимаб
Vladislav
С конструктором)
Vladislav
Vladislav
И рекорды
Vasily
Только наследование, только хардкор
Vasily
Впрочем, для моих целей сгодится скорее всего
Vasily
Хмммм... выглядит не так чтобы рокет саенсом
Vasily
Даже мне по силам, скорее всего
Bonart
J. A. R. Kotlien
Это правда про книгу Дмитрия Сошникова?
Книга тяжела в понимании, особенно тем, кто никогда не сталкивался с функциональным программированием. Опишу как идет повествование в книге: 0.Введение - "Пасаны, до этого вы жили-не тужили и понятия не имели, что есть функциональное программирование и плевать, что оно нужно в очень узких кругах" Глава 1 - Ну вот посмотрите, как я красиво решаю квадратное уравнение и трачу на это 17 строк. И не важно, что на C# это занимает меньше 7 строк...главное процесс Глава 2 - Смотрите, что еще умеет F#. Вон как классно... В общем все в таком духе идет. Автор общается с читателем так, словно они давние приятели и находятся на одной волне. Книга похожа на стиль преподавания в наших вузах - говорят о том, как все классно и легко, но не говорят ответа на главный вопрос - "А зачем все это и почему так, а не иначе?"
Pavel
Это правда про книгу Дмитрия Сошникова?
Книга тяжела в понимании, особенно тем, кто никогда не сталкивался с функциональным программированием. Опишу как идет повествование в книге: 0.Введение - "Пасаны, до этого вы жили-не тужили и понятия не имели, что есть функциональное программирование и плевать, что оно нужно в очень узких кругах" Глава 1 - Ну вот посмотрите, как я красиво решаю квадратное уравнение и трачу на это 17 строк. И не важно, что на C# это занимает меньше 7 строк...главное процесс Глава 2 - Смотрите, что еще умеет F#. Вон как классно... В общем все в таком духе идет. Автор общается с читателем так, словно они давние приятели и находятся на одной волне. Книга похожа на стиль преподавания в наших вузах - говорят о том, как все классно и легко, но не говорят ответа на главный вопрос - "А зачем все это и почему так, а не иначе?"
Меня чуть не забанили в основном чате за вопросы: зачем нужен f#.
Pavel
А Сошникова я дочитал до монад и забил
Pavel
На самом деле, как я понял фп не очень нужен, и будет ещё меньше нужен после c# 8.0
Pavel
А в джаве мирке используют Котлин потому что джава говно, а вовсе не из-за фп
J. A. R. Kotlien
Ну у меня вопрос в основном насколько ценна книга Дмитрия с точки зрения материала про f# и его применение.
Roman
Это правда про книгу Дмитрия Сошникова?
Книга тяжела в понимании, особенно тем, кто никогда не сталкивался с функциональным программированием. Опишу как идет повествование в книге: 0.Введение - "Пасаны, до этого вы жили-не тужили и понятия не имели, что есть функциональное программирование и плевать, что оно нужно в очень узких кругах" Глава 1 - Ну вот посмотрите, как я красиво решаю квадратное уравнение и трачу на это 17 строк. И не важно, что на C# это занимает меньше 7 строк...главное процесс Глава 2 - Смотрите, что еще умеет F#. Вон как классно... В общем все в таком духе идет. Автор общается с читателем так, словно они давние приятели и находятся на одной волне. Книга похожа на стиль преподавания в наших вузах - говорят о том, как все классно и легко, но не говорят ответа на главный вопрос - "А зачем все это и почему так, а не иначе?"
Я за Сошникова не знаю, ибо не читал. Но могу
1) Рассказать, зачем надо фп и фшарп
2) Посоветовать книгу, которая отвечает на эти вопросы, и которая написана крайне прагматично
Roman
J. A. R. Kotlien
Я вот почитал немного DDD Влашина, но чисто посмотреть что у него там про functional DDD и решил почитать чисто про f# с пониманием
Pavel
Тоесть истина посередине между фп и опп, но все почему-то смотрят на это однобоко
Roman
Roman
"Это там, где можно функции как аргументы использовать" — распространенное заблуждение/упрощение
Pavel
Vasiliy
Pavel
Функциона́льное программи́рование — раздел дискретной математики и парадигма программирования, в которой процесс вычисления трактуется как вычисление значений функций в математическом понимании последних (в отличие от функций как подпрограмм в процедурном программировании).
Противопоставляется парадигме императивного программирования, которая описывает процесс вычислений как последовательное изменение состояний (в значении, подобном таковому в теории автоматов). При необходимости, в функциональном программировании вся совокупность последовательных состояний вычислительного процесса представляется явным образом, например, как список.
Igor
Pavel
Вот что даёт Википедия, из этого следует, что фп годится только для вычислений
Igor
J. A. R. Kotlien
Ище интересно почитать мнение Сайма об OCaml, его развитии, будущем и влиянием на f#
Roman
Pavel
И да, все вычисления у меня сделаны не через изменения состояния
Roman
И ФП, и ООП — это не про узкую специализацию, а про абстракции
Roman
Которые, как известно, применимы к чему угодно
Pavel
Igor
Ага 1% приложения “тестопригоден” получается
Igor
Vasiliy
так стоп, стоп. Это классический спор же.
есть функциональное программирвоание
есть императивное.
у каждого есть свои + и - , имхо чтобы развиваться как программист, хорошо бы понимать как работают оба эти подхода. А дальше, выбрать язык который нравится больше всего. Все. Имхо.
Igor
Pavel
Vasiliy
А то, что F# не нужен, ибо будет c# 8 это все словоблудие, ибо F все же ФП, но с поддержкой ООП
а c# это все же импративный язык, хоть туда и добавляют плюшки фп языков
Pavel
Pavel
Roman
@SWATOPLUS Короче, суть ФП — чистые функции. То есть функции, которые отвечают следующим критериям:
1. Они не имеют сайд-эффектов. То есть никак не мутируют какое-либо внешнее состояние
2. Они всегда для одного и того же инпута дают одинаковый аутпут.
3. Они корректно обрабатывают любой возможный инпут (то есть не кидают исключения, например)
И, конечно, ФП это про композицию функций.
Если всем этим правильно пользоваться, то ты получаешь гранулярный слабосвязанный читаемый код, который к тому же всегда корректно работает, что можно доказать математически. Это в противовес сегодняшнему ООП, где никаких гарантий нет и быть не может ввиду вездесущих мутаций, неявных взаимодействий, эксепшенов повсюду и тд.
* Само собой, сайд-эффекты необходимы. И они есть, просто ФП позволяет их изолировать, чтобы их было легче контролировать. Бизнес логика может быть построена целиком на чистых функциях. А (де)сериализация, доступ к БД и прочее — может и должно быть вынесено на границы приложения за пределы бизнес логики