Re[34]: TypeScript недоскритп
От: Ночной Смотрящий Россия  
Дата: 20.02.21 17:56
Оценка: +1
Здравствуйте, Serginio1, Вы писали:

S>Вот обзор рейтинги

S>https://habr.com/ru/company/skillfactory/blog/531360/

Ага. Фшарпа, что характерно, нет ни в одном и них. Скала есть. Вот, собственно, и вся история.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[29]: TypeScript недоскритп
От: Ночной Смотрящий Россия  
Дата: 20.02.21 17:59
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Чел описал логику игры конвея не указав не единого типа, т.е. полностью обобщенный и без указания размера поля и кол-ва измерений.

AA>Т.е. он может работь и с 2 и 3 мерными ячейками.

О да, фирменный стиль адептов ФП — приводить в качестве доказательства крутости абсолютно бесполезный в практическом плане код.

AA>Нужно лишь правильно выбирать инструменты.


О да. Если вам нужно решить задачи бизнеса — берете шарп. А если стоя в ластах и в гамаке — тут нужн фшарп.

AA>Если привык забивать гвозди сапогом это не значит что это лучшее решение, не так ли?


А если имея молоток все вокруг воспринимать гвоздями — это лучшее что ли?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[23]: TypeScript недоскритп
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 21.02.21 11:53
Оценка:
Здравствуйте, varenikAA, Вы писали:

I>>Кроме того, в шарпе и особенно в джаве давно уже, лет 10 или больше, активно заимствуются полезные вещи, которые функционалисты почему то считают своими собственными.


AA>Похоже на парадоск БЛАБЛА, джава наше всё!


Я предсказывал этот аргумент еще неделю назад.
Re[27]: TypeScript недоскритп
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 21.02.21 12:00
Оценка:
Здравствуйте, varenikAA, Вы писали:

I>>Элементрано — record это в чистом виде нарушение инкапсуляции, что я тебе и продемонстрировал. И это так вне зависимости от ЯП.


AA>Вот это поворот! Кто-то только что доказывал, что все делается на расширениях.

AA>а тут на тебе!

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

Очевидно, что если всё на расширениях, то следить за инвариантом будет некому. Именно это получаем, если пытаемся рекорды использовать вместо классов.

AA>https://docs.microsoft.com/ru-ru/dotnet/csharp/whats-new/csharp-9#record-types


Так ты внимательно прочитай, что это. Это не замена классов, как ты предполагаешь, а инструмент для создания простых типов. Кто за инвариантом следить будет? Опаньки!
Re[27]: TypeScript недоскритп
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 21.02.21 12:09
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>В чем? я просто сказал, что в ООП много инфраструктурного кода, который мешает понимаю сути задачи.


Что ты называешь инфраструктурным кодом?

>и что композиция всегда лучше воспринимается чем наследование.


Тут надо вспомнить, что и композиция, и наследование, и много чего другого относится к ООП. А у тебя, похоже, только второе.
Такие вещи, как public, import, export, module, package, namespace относятся к модульному программированию, которое, внимание, часть ООП.
Как только тебе придумалась композиция, агрегирование, делегирование — это ООП. Интерфейс — снова ООП. Поведение, взаимодействие — снова ООП.

А вот к функциональному относится не так уж и много — замыкание да функция. А вот такие вещи, как монады находятся на самом деле гораздо ближе к ООП, нежели к ФП. Ко-монады — это вообще переизобретение ООП в чистом виде
Re[33]: TypeScript недоскритп
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 21.02.21 13:56
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>>>И главное: если один язык раскрутили за миллиард вложений, а второй набрал популярность сам, это вовсе не значит, что первый тоже смог бы стать популярным без тех вложений. Отличные примеры: сотни языков без вложений, которые популярными не стали.


I>>Снова конспирология.


DM>Вот у тебя заело. Давай я на каждое твое "конспирология" буду отвечать "идиотизм". Не видно, чтобы ты знал смысл слова "конспирология". Ни о каких заговорах ведь речи нет, скорее тут социология, банальная экономика и набор случайностей.


Ты выдаёшь непроверяемые утверждения. У тебя всё или всё само, или всё случайно, или великие и могучие силы. Это и есть конспирология.

I>>То есть, ты нам сам же рассказал, что

I>>1. бренд и вложения не гарантируют успех
I>>2. выстреливают и уродцы которых клепали полторы калеки

DM>Да. Не гарантируют. Но вероятность успеха повышают с 1/100 до 1/2 где-то. Смотри статистику.


Ты забыл ссылку на статистику

I>>При этом ты продолжаешь утверждать, что причной всему бабло и бренд

DM>Нет. Я говорю про множество случайных факторов.

То есть — непроверяемое утверждение.

I>>Ты сам себя опроверг. Джаваскрипт появился в Нетшкафе. Когда у него была монополия?


DM>Причем тут нетскейп? Я говорю про монополию языка в его нише последние 25 лет по сути. Дико популярным он стал тоже не сразу, уже в нулевых.


Если ты говоришь про 25 лет и про монополю, то Нетшкаф точно при чем. Надо бы тебе историю подучить
Монополия у него появилась далеко не сразу — был плавненький рост популярности вместе с ростом возможностей.
У него во все времена была куча конкурентов, как языков, так и технологий.

I>>Проверяем твое высказываение — любое говно пусть будет "vbscript". В эпоху домнирования IE он вроде бы должен был взлететь, т.к. и монополист, и крупнейшая область и тд.


DM>Он работал во всех браузерах? Не было там никакой монополии и распространенности.


А ты, в курсе, да!
vbscript работал в браузере >90% пользователей
был языком скриптования в самой винде — WMI
во многих приложениях благодаря WSH
во многих приложениях благодаря 3rd-party версиям
на нем можно было струячить бакенд — ASP
на нем можно было скриптовать IIS
можно было струячить эмбеддед код — WinCE
И даже писать десктоп приложения — HTML Applications

И что? А ничего.

I>>Именно потому в браузер, внимание, добавили и Питон!, и REXX, и много чего еще. Всё это работало чисто и гладко в отличие от жээса. Однако же — упс, крутые языки не взлетели.


DM>Это в каком браузере питон был встроен? И в каком не было JS? Какие-то удивительные вещи говоришь.


Это уже извини, я не помню. Больше 20 лет прошло. Где то тогда я начинал колупать этот Питон.

DM>Да. Я тоже считаю, что на популярности языка они мало сказываются. А сказываются совсем другие факторы. Поэтому и не стоит ругать F# за непопулярность.


Его никто за это не ругает — я предлагаю просто принять как факт отсутствие популярности и мизерную нишу.
Re[34]: TypeScript недоскритп
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 21.02.21 23:34
Оценка:
Здравствуйте, Ikemefula, Вы писали:

DM>>Да. Не гарантируют. Но вероятность успеха повышают с 1/100 до 1/2 где-то. Смотри статистику.

I>Ты забыл ссылку на статистику

А у меня и нет ссылки. Это задание творческое, предполагает самостоятельный поиск.


I>>>Ты сам себя опроверг. Джаваскрипт появился в Нетшкафе. Когда у него была монополия?

DM>>Причем тут нетскейп? Я говорю про монополию языка в его нише последние 25 лет по сути. Дико популярным он стал тоже не сразу, уже в нулевых.
I>Если ты говоришь про 25 лет и про монополю, то Нетшкаф точно при чем. Надо бы тебе историю подучить

25 лет назад уже были IE и Opera, если что. И чем был по сути JScript в IE?

I>Монополия у него появилась далеко не сразу — был плавненький рост популярности вместе с ростом возможностей.

I>У него во все времена была куча конкурентов, как языков, так и технологий.

Можно примеров? Какой еще язык был во всех браузерах (не только IE) и способный делать то, что делал JS?
Была Java, но заточенная в кусок страницы, так же как и Flash потом.

I>>>Проверяем твое высказываение — любое говно пусть будет "vbscript". В эпоху домнирования IE он вроде бы должен был взлететь, т.к. и монополист, и крупнейшая область и тд.


DM>>Он работал во всех браузерах? Не было там никакой монополии и распространенности.


I>А ты, в курсе, да!

I>vbscript работал в браузере >90% пользователей

Т.е. работал только в одном браузере, так и запишем. Дальше можно не смотреть.
Гугл тоже пытался Dart в браузер встроить. Остальные не поддержали. Итог известен.
Re[28]: TypeScript недоскритп
От: varenikAA  
Дата: 22.02.21 09:01
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Что ты называешь инфраструктурным кодом?

Клей который нужен чтобы функционал делал свою работу.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[28]: TypeScript недоскритп
От: varenikAA  
Дата: 22.02.21 09:08
Оценка:
Здравствуйте, Ikemefula, Вы писали:


I>Так ты внимательно прочитай, что это. Это не замена классов, как ты предполагаешь, а инструмент для создания простых типов. Кто за инвариантом следить будет? Опаньки!

И что? я показал, что C# впитывает в себя возможности F#, потому что типы очень нужны всем! и алгебраические типы данных нужны,
и то возвражение которое здесь мелькало, что при их использовании будет усложняться логика в корне не верен, просто при использовании примитивных типов данных,
как и принято в ООП C# обрабатываются только очевидные кейсы, а 99,9% пускаются на самотек(пока пользователь не создаст инцидент).
но проблема C# в том, что он изначально задумался как ООП, и поэтому построен не на вычисляемых выражениях (основа ФП), а на инструкциях.
отюда невозможность кратко выразить моделируемую систему.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[29]: TypeScript недоскритп
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 22.02.21 10:36
Оценка:
Здравствуйте, varenikAA, Вы писали:

I>>Что ты называешь инфраструктурным кодом?

AA>Клей который нужен чтобы функционал делал свою работу.

Слишком общо. Такой код есть вообще в любом проекте, вне зависимости от ЯП или парадигмы.
Re[29]: TypeScript недоскритп
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 22.02.21 10:46
Оценка:
Здравствуйте, varenikAA, Вы писали:

I>>Так ты внимательно прочитай, что это. Это не замена классов, как ты предполагаешь, а инструмент для создания простых типов. Кто за инвариантом следить будет? Опаньки!

AA>И что?

Не вижу ответа на вопрос — кто же в рекордах будет за инвариантом следить. Если ты не можешь ответить — так и пиши.

> я показал, что C# впитывает в себя возможности F#, потому что типы очень нужны всем!


C# никакого отношения к фаршу не имеет. В нем потиху реализуют вещи, которые известны за десятилетия до фарша.

> и алгебраические типы данных нужны,


повторяй почаще. Нужны — это когда есть семейство задач, которые востребованы значительной частью мейнстрима. ты же ничего не говоришь про задачи, а рассказываешь про актуальность какого то инструмента.
При этом забываешь сказать, что проектирование и планирование имеет намного бОльшее влияние, нежели все языковые фичи вместе взятые.

AA>и то возвражение которое здесь мелькало, что при их использовании будет усложняться логика в корне не верен, просто при использовании примитивных типов данных,

AA>как и принято в ООП C# обрабатываются только очевидные кейсы, а 99,9% пускаются на самотек(пока пользователь не создаст инцидент).

Статистику, похоже, ты придумал прямо во время написания сообщения. Кейсы — это про проектирование. Если ты их не выявил, то с какого перепугу они вообще в коде появятся?

О чем я тебе и говорю — проектирование имеет намного большее влияние.

AA>но проблема C# в том, что он изначально задумался как ООП, и поэтому построен не на вычисляемых выражениях (основа ФП), а на инструкциях.


Ты путаешь императивный и объектно-ориентированый. У тебя это слова синонимы.
Императивный — про вычисления.
Объектно ориентированый — про структуру решения.

ООП никак не противоречит ни ФП, ни многозадачному программированию, ни логическому. А у тебя ровно наоборот. Более того — ты уже давно дошел до фанатизма, т.к. с твоих слов ООП это плохо, а ФП это хорошо
Re[35]: TypeScript недоскритп
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 22.02.21 11:04
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>>>Да. Не гарантируют. Но вероятность успеха повышают с 1/100 до 1/2 где-то. Смотри статистику.

I>>Ты забыл ссылку на статистику

DM>А у меня и нет ссылки. Это задание творческое, предполагает самостоятельный поиск.


А я вижу совсем другое

I>>Если ты говоришь про 25 лет и про монополю, то Нетшкаф точно при чем. Надо бы тебе историю подучить


DM>25 лет назад уже были IE и Opera, если что. И чем был по сути JScript в IE?


Если ты даже википедию открыть не можешь, что тут уже говорить. Посмотри про войны браузеров и какую роль играл там Нетшкаф. Это основной конкурент ИЕ в те времена. Выход ИЕ4 — 97й год, самый разгар этой войны. Спустя 2 года Нетшкаф закончился.
2021 — 25 = 1996, то есть, за год до выхода IE4

I>>Монополия у него появилась далеко не сразу — был плавненький рост популярности вместе с ростом возможностей.

I>>У него во все времена была куча конкурентов, как языков, так и технологий.

DM>Можно примеров? Какой еще язык был во всех браузерах (не только IE) и способный делать то, что делал JS?


А почему это должен быть именно язык? Апплеты на джаве это прямой конкурмент c ещё более широкими возможностями. Флеш — снова прямой конкурент.

DM>Была Java, но заточенная в кусок страницы, так же как и Flash потом.


Именно. И долгое временя доминировали именно такие технлогии, а жээс потиху рос и набирался сил. Примерно до конца нулевых на жээс никто всерьёз не смотрел. Даже когда в Микрософте выросла команда Outlook Web Application, которая дала миру XmlHttpRequest, всё равно ничего не изменилось.
Потребовалось еще много лет, для борьбы с тем же VBScrirpt, аплетами, флешами и прочей ересью.
То есть, Гугл запилил свой Gmail когда жээс уже был довольно взрослой технологией.

I>>vbscript работал в браузере >90% пользователей


DM>Т.е. работал только


Язык распространяется не из за браузерности, как тебе кажется. У vbs и без браузеров была очень широкая сфера применения. Более того — найти хелп на чем то кроме vbs было вообще говоря затруднительно.
Но вот не жаждал на нём никто писать, ну никак. И отсутствие его в других браузерах это не причина, как ты думаешь, а следствие.

То есть, ты скипнул все аргументы, как будто они ничего не значат Так себе подход к обсуждению.
Re[29]: TypeScript недоскритп
От: Ночной Смотрящий Россия  
Дата: 23.02.21 12:05
Оценка:
Здравствуйте, varenikAA, Вы писали:

I>>Так ты внимательно прочитай, что это. Это не замена классов, как ты предполагаешь, а инструмент для создания простых типов. Кто за инвариантом следить будет? Опаньки!

AA>И что? я показал, что C# впитывает в себя возможности F#

Да. Основательно их переосмыслив. И? Это как то делает фшарп лучше?

AA>, потому что типы очень нужны всем!


Да ты прям КО.

AA> и алгебраические типы данных нужны,


Нужны. Но сфера их применения очень узкая. Даже РМ удается воткнуть в реальный код нечасто, а уж у АлгТД если и есть применение за пределами написания компиляторов, то его очено и очень немного.
Да и вообще, АлгТД это куда больше ООП концепция, которую ты постоянно ругаешь, а не ФП. Просто исторически оно больше в ФП языках присутствует, так как увязано с развитым РМ.

AA>как и принято в ООП C# обрабатываются только очевидные кейсы, а 99,9% пускаются на самотек(пока пользователь не создаст инцидент).


Опять какой то бездоказательный бред, уж извини.

AA>но проблема C# в том, что он изначально задумался как ООП, и поэтому построен не на вычисляемых выражениях (основа ФП), а на инструкциях.


То что он построен не на вычисляемых выражениях — не проблема. Ни один чистый ФП язык пока не стал ни мейнстримом, ни даже близко. Те, у кого есть адекватное восприятие реальности — задумаются. Фанаты — будут искать заговор или обвинят 95% программистов в тупости.

AA>отюда невозможность кратко выразить моделируемую систему.


А не надо тупо моделировать реальные системы, не доводит до добра.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[30]: TypeScript недоскритп
От: varenikAA  
Дата: 24.02.21 01:32
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

AA>>отюда невозможность кратко выразить моделируемую систему.


НС>А не надо тупо моделировать реальные системы, не доводит до добра.




В любой реальной задаче всегда более двух значений.
классика:

enum DoorState { Open , Close }


Пока смотрится шикарно, а что дальше?
Открытая дверь может скрипеть, двигаться, закрываться на замок и не на замок.
Опытный оопэшник создаст базовый класс и реализует наследников, но в си подобном языке это превратится в такую кашу.
Знаю сейчас ввели выражение switch, но это на мой взгляд опрометчиво, т.к. теперь есть инструкция и выражение имеющий разный смысл.
если же ограничится перечислением, то данные и состояние будут разорваны, что опять же не упрощает задачу.
не говорю что яп типа F# это пуля. но синтаксис их гораздо проще для выражения вот таких задач и не только т.к. компайлер также проверяет учтены ли все условия.
а в 6 версии после ввода вариантных типов как тайпе код станет еще лаконичней.

можно называть это как угодно(ООП, ФП, TDD), но это реально работает
type OpenDoor =
  { Angel: float }

type LockState =
  | Lock
  | UnLock

type Door =
  | OpenDoor
  | Close of LockState
  | Moved

//let f x  = match x with OpenDoor -> ();;
//-----------------^

//stdin(11,18): warning FS0025: Незавершенный шаблон соответствует данному выражению. К примеру, значение "Close (_)" может указывать на случай, не покрытый шаблоном(ами).
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[31]: TypeScript недоскритп
От: Ночной Смотрящий Россия  
Дата: 24.02.21 07:07
Оценка: +1
Здравствуйте, varenikAA, Вы писали:

AA>>>отюда невозможность кратко выразить моделируемую систему.

НС>>А не надо тупо моделировать реальные системы, не доводит до добра.
AA>
AA>В любой реальной задаче всегда более двух значений.

Значений чего?

AA>классика:


AA>
AA>enum DoorState { Open , Close }
AA>

AA>Пока смотрится шикарно, а что дальше?
AA>Открытая дверь может скрипеть, двигаться, закрываться на замок и не на замок.

Ну вот сразу, с ходу, типичная ошибка. Ты пляшешь от описания объектов, а это путь в ад (если мы, конечно, не симуляцию пишем). Начинать надо от юзкейсов.

AA>Опытный оопэшник создаст базовый класс и реализует наследников


Опытный оопэшник начнет с выяснения этих самых юзкейсов. А безумные иерархии будет только начинающий выстраивать. Времена Гради Буча давно прошли, ейчас никто так не занимается проектированием классов.
Я тебе одну простую вещь скажу — программные модели должны отталкиваться не от того как можно декомпозировать реальный мир, а от того какая моель будет наиболее удобна для того фукнционала, который требуется воплотить в программном коде, так что никакого DoorState в программе вообще может не быть.

AA>не говорю что яп типа F# это пуля. но синтаксис их гораздо проще для выражения вот таких задач


Каких таких? Ты задачу даже не описал. "Открытая дверь может скрипеть" это нифига не задача.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[31]: TypeScript недоскритп
От: fmiracle  
Дата: 24.02.21 07:40
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Пока смотрится шикарно, а что дальше?

AA>Открытая дверь может скрипеть, двигаться, закрываться на замок и не на замок.

В универе, помню, преподаватель говорил:

- В чем отличие математики от кибернетики?
— В математике ты делаешь то что можно, так, как нужно. А в кибернетике ты делаешь то, что нужно, так, как можно.


Программы — это не теоремы, которые существуют сами по себе. Программа нужна для решения какой-то задачи, и надо ее делать так, чтобы оптимально решить эту конкретную задачу. И возможности языка программирования это только один из факторов, зачастую даже далеко не самый важный.
Re[33]: TypeScript недоскритп
От: anonymous Россия http://denis.ibaev.name/
Дата: 25.02.21 08:41
Оценка:
Здравствуйте, varenikAA, Вы писали:

НС>>Тем не менее в индексе TIOBE перл есть, а фшарпа — нету.

AA>индекс популярности языковых запросов показывает сложность ЯП а не популярность в с смысле крутости.

А зачем запрашивать сведения по мёртвому языку? Perl-археологов больше, чем программистов на F#?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.