Re[25]: TypeScript недоскритп
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 19.02.21 15:10
Оценка:
Здравствуйте, varenikAA, Вы писали:

I>>Вру, конечно про "в треугольник никто не добавляет такую операцию". ДОбавляют. Такие как ты, а потом орут, что ООП их подвело

AA>Я про ООП ничего не говорил плохого, внимательней читайте. речь об ограниченности отдельных яп (ts, c#) перед другими (f#, common lisp).

То есть, это не ты писал вот это
">Внутрь класса он не позволяет залезть, так что как ни крути а внутренее состояние больше мешает."

Кто тогда с твоего аккаунта написал эту ахинею? Внутреннее состояние мешает в том случае, если у тебя есть нарушение инкапсуляции.
Это происходит в двух случаях
1. когда ты открыл всё для всех, т.е. случай record
2. когда ты добавляешь сразу в основной класс все подряд, не глядя, например в треугольник добавляешь опреацию "площадь методом герона"
Типа — метод работает только с А, значит добавим его сразу в А. И это и есть фиаско.

Случай 2 описал Герберт Саттер. Ссылку я дал. Осилить не можешь, да?

I>>А вот как это чудо с рекордами повторить — а никак, только бегать с воплями по офисам и напоминать "эй, ребатя, функции где есть вот такой паттерн вызовов других функций, их больше не используйти!!!!!1111"

AA>Что за бред?

Элементрано — record это в чистом виде нарушение инкапсуляции, что я тебе и продемонстрировал. И это так вне зависимости от ЯП.
Re[32]: TypeScript недоскритп
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 19.02.21 15:24
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


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


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

DM>>Отличным примером языка с вложениями, который все равно плохо летит, был бы Dart. Много ли еще примеров? Не особо.


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

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

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

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


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

DM>>Вот это уже совсем смешно. Когда у тебя монополия в крупнейшей области (браузеры), там любое говно будет популярным. Так и случилось.


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


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

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


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

I>>> Кто его только ни пытался вытеснить из браузера — vbscript, python, rexx, С++, C#, Java, ActionScript и прочие товарищи. А потом вышло так, что js не просто вытеснил, а убрал даже ActivX, апплеты, Silverlight, flash и прочую ересь.


DM>>Когда одно говно уже есть везде из коробки, а второе надо отдельно ставить и работает далеко не везде, тут выбор получается простой. Нет ни одного другого языка, работающего сразу во всех браузерах. А раз нету, то о чем тогда говорить.


I>Поначалу и жээс не работал сразу и во всех браузерах. Более того — он работал плохо и по разному даже в тех некоторых браузерах. Настолько плохо, что его вообще всерьёз не рассматривали.

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

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

I>И что мы видим — классность, крутость языка и языковых фич сильно переоценены.


Да. Я тоже считаю, что на популярности языка они мало сказываются. А сказываются совсем другие факторы. Поэтому и не стоит ругать F# за непопулярность.
Отредактировано 19.02.2021 15:54 D. Mon . Предыдущая версия .
Re[26]: TypeScript недоскритп
От: varenikAA  
Дата: 19.02.21 15:29
Оценка:
Здравствуйте, Ikemefula, Вы писали:


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


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

Тогда что это?

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

Ты точно на сишарпе пишешь?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[32]: TypeScript недоскритп
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 19.02.21 15:34
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

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


В этом чудесном индексе Visual Basic выше JS, а вся такая живая Скала и великий TypeScript ниже D и Пролога.
Как пишущему на D мне это льстит, конечно, но с серьезным лицом на такой рейтинг смотреть сложно.

НС>Кто знает. Я вот не могу вспомнить, чтобы язык с миллиардом сам по себе был совсем фиговый. Даже если отбросить принадлежность — джава, шарп, го сами по себе отличные языки.


Кому и кобыла невеста. Шарп ладно, но джава и го...

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

DM>>Отличным примером языка с вложениями, который все равно плохо летит, был бы Dart. Много ли еще примеров? Не особо.

НС>А много вообще таких языков? Не особо.


Именно! Корреляция вложения-успех в результате довольно хорошая.

I>>>А еще — JavaScript.

DM>>Вот это уже совсем смешно. Когда у тебя монополия в крупнейшей области (браузеры), там любое говно будет популярным. Так и случилось.
НС>Не было никакой монополии у нетшкафа, это не IE.

Я про язык, а не исходного создателя.
Re[33]: TypeScript недоскритп
От: Ночной Смотрящий Россия  
Дата: 19.02.21 16:21
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>В этом чудесном индексе Visual Basic выше JS, а вся такая живая Скала и великий TypeScript ниже D и Пролога.

DM>Как пишущему на D мне это льстит, конечно, но с серьезным лицом на такой рейтинг смотреть сложно.

Тем не менее фшарпа там нет совсем.

НС>>Кто знает. Я вот не могу вспомнить, чтобы язык с миллиардом сам по себе был совсем фиговый. Даже если отбросить принадлежность — джава, шарп, го сами по себе отличные языки.

DM>Кому и кобыла невеста. Шарп ладно, но джава и го...

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

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

DM>>>Отличным примером языка с вложениями, который все равно плохо летит, был бы Dart. Много ли еще примеров? Не особо.
НС>>А много вообще таких языков? Не особо.
DM>Именно!

Что именно?

DM> Корреляция вложения-успех в результате довольно хорошая.


Не увидел никакой корреляции пока.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[25]: TypeScript недоскритп
От: Ночной Смотрящий Россия  
Дата: 19.02.21 16:28
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>О вкусах не спорят.


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

AA>В фарше есть ООП полноценное, а вот в шарпе нет полноценного ФП.


И что? Я уж не говорю о том что сперва неплохо бы дать определение полноценному ФП.

К чему ты эту простыню кода привел? Если не учитывать скобочки — код на шарпе будет примерно таким же.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[25]: TypeScript недоскритп
От: Ночной Смотрящий Россия  
Дата: 19.02.21 16:28
Оценка:
Здравствуйте, varenikAA, Вы писали:

НС>>В результате фшарп более ограничен и менее удобен на практике.

AA>Неудобно?

Неудобно. Тебе уже говорили, что есть алгоритмы, которые с мутабельным стейтом намного проще и быстрее получаются. В шарпе я могу это использовать, в ФП — нет. Есть легаси-код и сторонние библиоетки, с которыми у фшарпа иногда бывает боль, а в C# проблем нет. Я понимаю, любителям чистоты концепций до этого дела нет, но когда речь о практическом инструменте это имеет значение.

AA> реализация интерфейса по месту:


Не нужна.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[25]: TypeScript недоскритп
От: Ночной Смотрящий Россия  
Дата: 19.02.21 16:36
Оценка:
Здравствуйте, varenikAA, Вы писали:

I>>Вру, конечно про "в треугольник никто не добавляет такую операцию". ДОбавляют. Такие как ты, а потом орут, что ООП их подвело

AA>Я про ООП ничего не говорил плохого, внимательней читайте
Мы то внимательно читаем

AA>Это понятно, но я видел как падавана вводил вступор бойлерплейт на сишапре.
НС>Какой именно бойлерплейт? Ты точно уверен что проблема была именно в языке?
AA>Я имел ввиду излишнее увлечение наследованием в ООП
НС>И при чем тут язык?
AA>В основе каждого ЯП лежит та или иная концепция. В C#или java например ООП, все что делаем должно пренадлежать классу.

А вот ты, похоже, решил уж совсем откровенно помухлевать.

I>>А вот как это чудо с рекордами повторить — а никак, только бегать с воплями по офисам и напоминать "эй, ребатя, функции где есть вот такой паттерн вызовов других функций, их больше не используйти!!!!!1111"

AA>Что за бред?

Инкапсуляция таки нужна. И то что вместо объектов ты ее сделаешь в виде замыканий сути не поменяет.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[25]: TypeScript недоскритп
От: · Великобритания  
Дата: 19.02.21 17:13
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Неудобно? реализация интерфейса по месту:

AA>
AA>// create a new object that implements IDisposable
AA>let makeResource name =
AA>   { new System.IDisposable
AA>     with member this.Dispose() = printfn "%s disposed" name }
AA>

AA>https://fsharpforfunandprofit.com
AA>вы хоть ознакомтесь прежде чем хаять
Ну и гадость. Вот на java:
Function<String, Closeable> makeResource = name -> () -> System.out.println(name + " disposed");
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[34]: TypeScript недоскритп
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 19.02.21 17:16
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Что именно?

DM>> Корреляция вложения-успех в результате довольно хорошая.
НС>Не увидел никакой корреляции пока.

Грубо говоря:
Языков с большими вложениями корпораций: 10, успешных из них: 7.
Языков без таких вложений: 150, успешных: 12.
Данные простые. Дальше кто-то может делать выводы, а кто-то будет писать "конспирология".
Re[35]: TypeScript недоскритп
От: Ночной Смотрящий Россия  
Дата: 19.02.21 18:09
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Грубо говоря:


Занялся придумыванием цифр? Гуд.

DM>Данные простые.


... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[33]: TypeScript недоскритп
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 19.02.21 20:43
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Здравствуйте, Ночной Смотрящий, Вы писали:


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


DM>В этом чудесном индексе Visual Basic выше JS, а вся такая живая Скала и великий TypeScript ниже D и Пролога.

DM>Как пишущему на D мне это льстит, конечно, но с серьезным лицом на такой рейтинг смотреть сложно.

Вот обзор рейтинги
https://habr.com/ru/company/skillfactory/blog/531360/
и солнце б утром не вставало, когда бы не было меня
Re[26]: TypeScript недоскритп
От: varenikAA  
Дата: 20.02.21 01:15
Оценка:
Здравствуйте, ·, Вы писали:

·>Ну и гадость. Вот на java:

·>
·>Function<String, Closeable> makeResource = name -> () -> System.out.println(name + " disposed");
·>


В F# тип makeResource был выведен автоматически на основе возвращаемого значения.
Это позволяет делать алгоритмы более обобщенными. https://youtu.be/K2d3Efgpos8
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[26]: TypeScript недоскритп
От: varenikAA  
Дата: 20.02.21 01:18
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

AA>> реализация интерфейса по месту:


НС>Не нужна.


Ну да, есть же решарпер.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[26]: TypeScript недоскритп
От: varenikAA  
Дата: 20.02.21 01:19
Оценка: :)
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, varenikAA, Вы писали:


I>>>Вру, конечно про "в треугольник никто не добавляет такую операцию". ДОбавляют. Такие как ты, а потом орут, что ООП их подвело

AA>>Я про ООП ничего не говорил плохого, внимательней читайте
НС>Мы то внимательно читаем
НС>

AA>>Это понятно, но я видел как падавана вводил вступор бойлерплейт на сишапре.
НС>>Какой именно бойлерплейт? Ты точно уверен что проблема была именно в языке?
AA>>Я имел ввиду излишнее увлечение наследованием в ООП
НС>>И при чем тут язык?
AA>>В основе каждого ЯП лежит та или иная концепция. В C#или java например ООП, все что делаем должно пренадлежать классу.

НС>А вот ты, похоже, решил уж совсем откровенно помухлевать.

В чем? я просто сказал, что в ООП много инфраструктурного кода, который мешает понимаю сути задачи. и что композиция всегда лучше воспринимается чем наследование.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[22]: TypeScript недоскритп
От: varenikAA  
Дата: 20.02.21 01:24
Оценка:
Здравствуйте, Ikemefula, Вы писали:


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



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

Теже алгебраические типы, когда они появятся в C#|java? реализовать их на ООП это тихий ужас.

Их нет, но вы держитесь.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[27]: TypeScript недоскритп
От: · Великобритания  
Дата: 20.02.21 01:34
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>·>Ну и гадость. Вот на java:

AA>·>
AA>·>Function<String, Closeable> makeResource = name -> () -> System.out.println(name + " disposed");
AA>·>

AA>В F# тип makeResource был выведен автоматически на основе возвращаемого значения.
А какой там будет выведен тип у name?

AA>Это позволяет делать алгоритмы более обобщенными. https://youtu.be/K2d3Efgpos8

А конкретно? Я не хочу часовое видео смотреть.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[28]: TypeScript недоскритп
От: varenikAA  
Дата: 20.02.21 01:44
Оценка:
Здравствуйте, ·, Вы писали:

·>А какой там будет выведен тип у name?

любой подходящий, если используется printfn "%s" name, %s — это строка.
в 6 версии будут еще вариантные аргументы как в ts. тогда вообще C# никогда не догонит по выразительности.

AA>>Это позволяет делать алгоритмы более обобщенными. https://youtu.be/K2d3Efgpos8

·>А конкретно? Я не хочу часовое видео смотреть.

Чел описал логику игры конвея не указав не единого типа, т.е. полностью обобщенный и без указания размера поля и кол-ва измерений.
Т.е. он может работь и с 2 и 3 мерными ячейками.
В императивном стиле такое сложно придумать, а тут оно получилось можно сказать автоматом.
Нужно лишь правильно выбирать инструменты.
Если привык забивать гвозди сапогом это не значит что это лучшее решение, не так ли?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[27]: TypeScript недоскритп
От: Ночной Смотрящий Россия  
Дата: 20.02.21 12:17
Оценка:
Здравствуйте, varenikAA, Вы писали:

НС>>Не нужна.

AA>Ну да,

Ну да

AA> есть же решарпер.


При чем тут решарпер? Там где реализация мелкая — нужно использовать лямбду. А там где не мелкая — не надо делать ее по месту. Эта какашка была востребована в джаве потому что там лямбд не было и вместо лямбд использовали мелкие интерфейсы.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[29]: TypeScript недоскритп
От: · Великобритания  
Дата: 20.02.21 12:45
Оценка: +1
Здравствуйте, varenikAA, Вы писали:

AA>·>А какой там будет выведен тип у name?

AA>любой подходящий, если используется printfn "%s" name, %s — это строка.
Object что-ли?

AA>>>Это позволяет делать алгоритмы более обобщенными. https://youtu.be/K2d3Efgpos8

AA>·>А конкретно? Я не хочу часовое видео смотреть.
AA>Чел описал логику игры конвея не указав не единого типа, т.е. полностью обобщенный и без указания размера поля и кол-ва измерений.
Это может и нормально для кода, который занимает пол экрана, но для более менее хитрых проектов без типов плохо. Писать обобщённые функциональные всемогутеры это удел молодых.

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

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

Вроде давно уж нашли баланс — ООП на глобальном уровне и ФП локально, внутри реализации методов.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.