Информация об изменениях

Сообщение Re[31]: Есть ли подобие LINQ на других языках/платформах? от 21.04.2021 18:07

Изменено 21.04.2021 19:15 Serginio1

Re[31]: Есть ли подобие LINQ на других языках/платформах?
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, Serginio1, Вы писали:


I>>>В одном месте ты пишешь, что это yield делает итератор ленивым. В другом — отрицаешь издержки на сам yield.

S>>Я с тебя хренею.
S>> yield делает итератор. Итератор то сам ленивый.

I>А теперь читай себя же:

I>"Да но именно yield и создает IEnumerable ленивым."

I>А теперь сравни с тем, что тебе пишу:

I>"Ты в любой момент можешь отказаться от вызова MoveNext, а следовательно, IEnumerable сам по себе ленивый, безо всякого yield."

I>Ты сам то видишь, как ты переобуваешься? Вот я и говорю — или ты ногой сообщения строчишь, или вот такой порядок у тебя в голове.

yield это конструкция создания класса обертки енумератора. Да yield создает енумератор.
Но создать енумератор можно например создав List да он будет вызываться как энумератор, но создание List нихрена не линиво!
А ведь многие, в том числе и других языках, как раз и используют создание Lista для создания IEnumeratora и нихрена это не лениво получатся!!

S>>Где я писал про издержки? Я писал про вычисления с права на лево!!!


I>Когда я пишу про издержки, ты их усиленно отрицаешь.

Где я отрицал!!
S>>Да берем несколько цепочек where и в конце FirstOrDefault. В данном случае вообще блики к 0 если 1 строка удовлетворяет условию.
S>>Но ты этот посыл игнорируешь полностью.

I>Ты приводишь бенефит итератора, а не yield

I>Ты что, сам не можешь понять чего пишешь?
Еще раз смотрим исходники и смотрим что практически все енумераторы создаются через yield!!!!!

S>>Но ты свалился на какую то мелочь и до сих пор за эту мелочь цепляешься


I>На счет мелочей — ты считаешь что yield/IEnumerable и есть общий случай. IQueryable для тебя, похоже, не существует.

I>И это у тебя "yield делает IEnumerable ленивым"
Да да да!! Он создает иэнумератор через отдельный класс, а не через List или массив!!!

S>>Но я извинился. Но ты и дальше гнешь свою линию, заявляя что yield это отстой ибо издержки.


I>Мои слова — yield имеет ценую — ты интерпретируешь, как "yield отстой". Ты адекватен?

Вот ты и не показал показал как программировать енумератор без yield.
Ручками создавать все тоже, что и делает компилятор обрабатывая yield

S>>А то, что ленивость это MoveNext и Current которые в одну строчку реализует yield.


I>Правильно — ленивость это итератор. А вот yield это сахар, об чем я тебя пишу давным давно.

Но без этого сахара практически нахрен не нужен Linq. List тоже итератор, но его то нужно нелениво заполнить!
S>>И которые создатели Linq и все остальные писатели расширений должны писать ручками ну никак не издержки.

I>Ты путаешь рантайм с разработкой.

В чем!!
S>>По твоему ленивость в Linq не нужна?

I>Похоже, раз я с чем то не согласен, значит я вобще ни с чем не согласен?

Да непонятно с чем ты не согласен!!
Для тебя yield сахар ненужный и тормозящий. Нужно работать через List я так понимаю.
В нем можно обращаться по индексу, о чем ты так восхищался!
Re[31]: Есть ли подобие LINQ на других языках/платформах?
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, Serginio1, Вы писали:


I>>>В одном месте ты пишешь, что это yield делает итератор ленивым. В другом — отрицаешь издержки на сам yield.

S>>Я с тебя хренею.
S>> yield делает итератор. Итератор то сам ленивый.

I>А теперь читай себя же:

I>"Да но именно yield и создает IEnumerable ленивым."

I>А теперь сравни с тем, что тебе пишу:

I>"Ты в любой момент можешь отказаться от вызова MoveNext, а следовательно, IEnumerable сам по себе ленивый, безо всякого yield."

I>Ты сам то видишь, как ты переобуваешься? Вот я и говорю — или ты ногой сообщения строчишь, или вот такой порядок у тебя в голове.

yield это конструкция создания класса обертки енумератора. Да yield создает енумератор.
Но создать енумератор можно например создав List да он будет вызываться как энумератор, но создание List нихрена не линиво!
А ведь многие, в том числе и других языках, как раз и используют создание Lista для создания IEnumeratora и нихрена это не лениво получатся!!

S>>Где я писал про издержки? Я писал про вычисления с права на лево!!!


I>Когда я пишу про издержки, ты их усиленно отрицаешь.

Где я отрицал!!
S>>Да берем несколько цепочек where и в конце FirstOrDefault. В данном случае вообще блики к 0 если 1 строка удовлетворяет условию.
S>>Но ты этот посыл игнорируешь полностью.

I>Ты приводишь бенефит итератора, а не yield

I>Ты что, сам не можешь понять чего пишешь?
Еще раз смотрим исходники и смотрим что практически все енумераторы создаются через yield!!!!!

S>>Но ты свалился на какую то мелочь и до сих пор за эту мелочь цепляешься


I>На счет мелочей — ты считаешь что yield/IEnumerable и есть общий случай. IQueryable для тебя, похоже, не существует.

I>И это у тебя "yield делает IEnumerable ленивым"
Да да да!! Он создает иэнумератор через отдельный класс, а не через List или массив!!!

S>>Но я извинился. Но ты и дальше гнешь свою линию, заявляя что yield это отстой ибо издержки.


I>Мои слова — yield имеет ценую — ты интерпретируешь, как "yield отстой". Ты адекватен?

Вот ты и не показал показал как программировать енумератор без yield.
Ручками создавать все тоже, что и делает компилятор обрабатывая yield

S>>А то, что ленивость это MoveNext и Current которые в одну строчку реализует yield.


I>Правильно — ленивость это итератор. А вот yield это сахар, об чем я тебя пишу давным давно.

Но без этого сахара практически нахрен не нужен Linq. List тоже итератор, но его то нужно нелениво заполнить!
S>>И которые создатели Linq и все остальные писатели расширений должны писать ручками ну никак не издержки.

I>Ты путаешь рантайм с разработкой.

В чем!!
S>>По твоему ленивость в Linq не нужна?

I>Похоже, раз я с чем то не согласен, значит я вобще ни с чем не согласен?

Да непонятно с чем ты не согласен!!
Для тебя yield сахар ненужный и тормозящий. Нужно работать через List я так понимаю.
В нем можно обращаться по индексу, о чем ты так восхищался!

yield сам по себе вносит потери. Неважно, есть лишние циклы, или нет. x[i] заменяется на доступ через итератор. Вот уже проблема.