TGViewer
Анонимный дотнетчик Анонимный дотнетчик @dotnetter · 1.8K subscribers
Post #9824 476
Шестидесятилетний заключённый и лабораторная крыса. F# на Godot. Часть 10. C# не нужен

F# и C# в плане выразительности ООП различаются не так радикально, как некоторым кажется. Но у них разные дефолты, и мы вольны как бороться с ними, так и эксплуатировать их на полную катушку. Для этого необходимо понять, что F#-ный подход ориентирован на симуляцию процессов, а C#-ный — на симуляцию данных. Формально от нас требуется и то, и то, но по моему мнению, моделирование процессов — это 80% моей работы. Оставшиеся 20% — это данные, которые затачиваются под те же самые процессы.
C#-еры то ли обитают в другом мире, то ли как-то пропустили этот момент, поэтому систематически пишут код в обратном направлении — от данных к процессам. Первое время я думал о Godot в том же ключе, но чем больше ковырял <Prefix>Server-ы (там их много, VisualServer — это лишь один из подобных), тем больше у меня складывалось ощущение, что где-то в недрах его команды сидит вменяемый ФП-программист. Уж слишком сильно некоторые решения напоминали наши. К сожалению, я ещё многое не расковырял из того, что нужно расковырять для потенциального разрыва с дефолтным API. Поэтому в рамках текущего цикла мы не будем избавляться от ООП-нагромождений. Вместо этого мы нагородим новых, но так, чтобы нам было удобно работать в ФП-парадигме.
Читать далее

https://habr.com/ru/companies/first/articles/941480/?utm_campaign=941480&utm_source=habrahabr&utm_medium=rss
Хабр Шестидесятилетний заключённый и лабораторная крыса. F# на Godot. Часть 10. C# не нужен F# и C# в плане выразительности ООП различаются не так радикально, как некоторым кажется. Но у них разные дефолты, и мы вольны как бороться с ними, так и эксплуатировать их на полную катушку. Для...
  • 🤡 3
More from @dotnetter
  1. Oct 14, 2025.NET and .NET Framework October 2025 servicing releases updates A recap of the latest serv…
  2. Oct 14, 2025Announcing .NET 10 Release Candidate 2 .NET 10 Release Candidate 2 focuses on final qualit…
  3. Oct 14, 2025Announcing the .NET Security Group Learn how to join the .NET Security Group for early acc…
  4. Oct 14, 2025Выбор языка программирования для создание более трудных проектов: как сделать правильный в…
  5. Oct 13, 2025Система резервации на 600 заказов в секунду без буферизации и другой дичи Я прочитал стать…
  6. Oct 13, 2025Минималистский графический интерфейс, на C++ / WTL, для консольного загрузчика Введение Вс…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →