Re[6]: LINQ только для РСУБД!
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 19.11.09 13:56
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>В данном примере не используются синтаксические расширения (только упрощенный синтаксис лямбд и методы-расширения которые являются универсальными усовершенствованиями языка).


У вас спор идёт о добавлении синтаксических расширений в язык, разве нет?
Re[16]: LINQ только для РСУБД!
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.11.09 14:02
Оценка:
Здравствуйте, lomeo, Вы писали:

IT>>>
IT>>>int pos = text.Split('\n').Take(line).Sum(s => s.Length + 1) + column;
IT>>>

IT>>>Без линка пришлось бы наворачивать циклы и состояния. Это я к вопросу о незначительности решения. И таких упражнений в день у меня по сто штук без всяких баз данных.

VD>>Что забавно — этот пример вообще невозможно выразить через куари-компрешеншон.


L>А как он запишется с использованием специального синтаксиса LINQ?


А в том то и дело, что ни как. Потому, как синтаксисом покрываются только функции Where, Join, Select, OrderBy и GroupBy. Все агрегатные функции, Distinct, все вариации Take и многое другое не покрываются синтаксисом. Но тем не менее они доступны как для обработки списков объектов, так и для других источников данных вроде SQL-СУБД.

Дак что как раз без использования расширенного синтаксиса прожить можно, а только с ним — нельзя.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: LINQ только для РСУБД!
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.11.09 14:06
Оценка:
Здравствуйте, lomeo, Вы писали:

L>У вас спор идёт о добавлении синтаксических расширений в язык, разве нет?


Я вообще уже давно ни о чем не спорю. Просто уважаемый Гапертон почему-то ставит знак равенство между линком и расширением синтаксиса языков, а так же мпжду линком и доступом к РСУБД (причем именно к "Р") и в придачу считает что в линке используется SQL (на основании сходства названия операторов, наверно).

ЗЫ

Со мной по этому поводу спорить не надо. Я этого мнения не придерживаюсь. Я прекрасно понимаю, что линк это и библиотека функций обработки списков, и синтаксис, и провайдеры среди которых есть и провайдеры для РСБУД.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: LINQ только для РСУБД!
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 19.11.09 14:09
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Со мной по этому поводу спорить не надо. Я этого мнения не придерживаюсь. Я прекрасно понимаю, что линк это и библиотека функций обработки списков, и синтаксис, и провайдеры среди которых есть и провайдеры для РСБУД.


Я уже давно потерял нить вашей дискуссии, так что даже при всём желании поспорить не смогу
Re[9]: LINQ только для РСУБД!
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.11.09 14:17
Оценка:
Здравствуйте, lomeo, Вы писали:

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


VD>>Со мной по этому поводу спорить не надо. Я этого мнения не придерживаюсь. Я прекрасно понимаю, что линк это и библиотека функций обработки списков, и синтаксис, и провайдеры среди которых есть и провайдеры для РСБУД.


L>Я уже давно потерял нить вашей дискуссии, так что даже при всём желании поспорить не смогу


Рассуждения очерь просты. Я высказал совершенно простую мысль о том, что слова "простой" и "удобный" без специального определения (пояснения) не несут особого смысла, так как для одного простым и удобным является одно, а для другого другое. Когда Гапертон начал ёрничать и говорить, что "все очевидно", я привел в пример C# 2.0 и C# 3.0. Для меня C# 3.0 проще и удобнее так как в нем есть ЛИНК с помощью которого я могу значительно проще обрабатывать данные которые мне нужно обработать. Т.е. продемонстрировал случай когда большее количество фич сделало работу на языке проще.

Ну, а далее Гапертон вместо того чтобы понять о чем ему говорят и согласиться с этим (или понять и мотивировано возразить) прицепился к слову ЛИНК и пошел рассуждать о том, что ЛИНК — это (по его мнению) средство работы с РСУБД и т.п. К нему на помощь пришел пришел Геннадий Васильев который начал поддерживать и доводить разговор до маразма. Короче остальную часть дискуссии ты можешь прочесть в корне данной темы.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: LINQ только для РСУБД!
От: Gaperton http://gaperton.livejournal.com
Дата: 19.11.09 14:24
Оценка: 63 (6) +1
Здравствуйте, Ehudi, Вы писали:

G>>Понятия "простой" и "удобный" правда кажутся тебе настолько сложными, неоднозначными, и непонятными, что требуют уточнения, и стоят длинной дискуссии? Ты считаешь, их вообще возможно уточнить и договориться, чтобы они стали "общими"? Все-таки "философия программирования" — это зазеркалье какое-то.


E>Договориться один раз и навсегда не получиться. Но я считаю, что каждый раз, когда возникает неоднозначность, надо уточнять о чем идет речь.

E>Что касается слова простой, то оно не так просто.
E>Ведь то что кажется простым одному, для другого не просто.

Хорошо. Применительно к языкам программирования — простота выражается в разных аспектах:
1) Концептуальная простота языка. Характеризуется количеством понятий и концепций в самом языке. LISP, FORTH, Smalltalk, Erlang, Javascript, Brainfuck, и ассемблеры — концептуально простые языки, в базе там минимум.

2) Простота изучения. Характеризуется временем, которое надо потратить программисту на то, чтобы начать писать на языке настоящие программы, наиболее идеоматическим для языка образом. Мануал по концептуально простому Common LISP, невероятно толстый. Чтобы понять, как правильно надо писать на FORTH, который кажется простым до дебилизма, надо также развернуть мозг и потратить достаточно много времени. Эрланг как язык прост в изучении, однако OTP, без понимания которого писать нельзя — уже далеко не так прост. То есть, концептуально простой язык далеко не обязательно прост в изучении. Однако, в целом, пункты (1) и (2) кореллируют.

3) Простота использования. Характеризуется количеством времени и размышлений, необходимых для того, чтобы решить ту или иную задачу. Эта простота также характеризуется легкостью накосячить, насколько язык опасен. Совершенно очевидно, что данный пункт сильно зависит от сочетания языка программирования, и характера задачи. Также, он связан с остальными характеристиками языка. На брейнфаке писать тяжело, не смотря на его простоту. На языке и платформе 1С — легко решать определенный класс задач, несмотря на простой базовый язык и концептуально сложную платформу.

Этот пункт — отдельная, в целом независимая характеристика.

4) Простота чтения чужого кода. Да-да. Хорошая программа должна быть в первую очередь не короткой, "потому что язык выразительный", а понятной. Язык программирования — это в первую очередь средство общения человек-человек, и только во вторую — человек-машина. Этот пункт игнорируется большинством при оценке языков.

А он важен, если говорить о промышленной разработке. Потому, что при большой простоте использования для отдельно взятого человека, мозг другого программиста может свернуться в трубочку при чтении "простого" кода. Этот пункт уравновешивает пункт (3), который многими понимается как "выразительность".

Капитан очевидность сообщает: в целом, идеальный язык должен:
1) Быть концептуально простым — содержать минимум понятий.
2) Требовать минимум времени на изучение. Взял, и сразу начал писать.
3) Задачи должны решаться быстро и прямолинейным образом. Самое прямолинейное решение должно быть кратким, и правильным, никаких "паттернов" быть не должно. Программист не должен бороться с языком, он должен думать о задаче.
4) Программы на нем должны быть читабельны, и пониматься всеми программистами простым и однозначным образом, требуя для этого понимания минимума дополнительных знаний и дерганий по коду. Открыл, и без проблем понял, что написано и о чем оно.

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

E>И мне кажется, что Вы это тоже должны понимать.


Характеристика "простой язык" — субъективна по своей природе. Могу пояснить, что когда я называю язык простым, я имею в виду пункты 1, 2, и 4). Когда я хочу охарактеризовать (3) — говорю "удобный".

Чтобы понять, _почему_ я считаю язык простым, надо:
1) Спросить меня об этом,
2) Посмотреть спецификацию Go, черт возьми.

Тратить вместо этого время на обсуждение, уточнение, и согласование смысла слов "простой", "сложный" и прочее — это только здесь у вас в зазеркалье такое поведение считается естественным и нормальным. Я это нормальным не считаю.
Re[10]: LINQ только для РСУБД!
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.11.09 14:39
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Хорошо. Применительно к языкам программирования — простота выражается в разных аспектах:...


Зашибись! Могу подписаться почти под каждым пунктом, ну, разве что кроме того, что все виды простоты тоже весьма субъективны, зависят от знаний людей, и разные люди считают разные вещи по разному.

Но я не пойму только одного. Если ты сам изначально понимал, что слова "простой" и "удобный" требуют пояснения, то зачем было разводить эту бодяку
Автор: Gaperton
Дата: 11.11.09
? Почему было просто не уточнить понятия как того от тебя просили? И зачем было начинать нести откровенную пургу по отнонешию технологии которую ты не пробовал и о которой ты имел очень поверхностные знания?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: LINQ только для РСУБД!
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.11.09 14:45
Оценка:
Здравствуйте, Gaperton, Вы писали:

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


Нет. Полнешей глупостью является обсуждать простоту или удобство языка "в общем". Можно обсуждать только отдельные аспекты простоты и удобства которые ты так неплохо описал.

Ты хотя бы обратил внимание на то, что ты остался вдвоем с Генадием Васильевым которому вообще по фигу о чем спорить лиш бы со мной. Так что когда ты говоришь "у вас в зазеркалье", мне сразу вспоминается анекдот в котором жена звонит мужу в машину и говорит — Милый, будь осторожен. По телевизору сообщили, что какой-то маньяк едет по встречной полосе. А тот ей отвечает — Да их тут тысячи!
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: LINQ только для РСУБД!
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.11.09 14:57
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Вопрос, что ты имеешь в виду под простотой от VladD2 — это начало длинного безмазового флейма с выносом мозга.


Практика показала ровно обратное. Если бы ты объяснил, что ты имеешь в виду, то можно было бы понять твои предпосылки и отталкиваясь от них ответить что-то разумное.

Твоя же политика "посылания всех на хрен чтобы не мешали говорить" сдобренная кучей рассуждений о ЛИНК-е и привела в итоге к огромному флэму.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[18]: А-а-а-а-а-а! Я понял!!!
От: IT Россия linq2db.com
Дата: 19.11.09 15:02
Оценка: :)))
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>RSDN-ейшая из RSDN-ейших инквизиций требует от заблудшего признать существование минималистически глобального универсального всемогутера! Просто кристально чистый образец деления на нуль и умножения на пустое множество. Достоин внесения во всяческие анналы.


Ты сильно не зарывайся. Обсуждение инквизиции запрещено правилами форума, за это можно на сутки-двое и на костерок загреметь.
Если нам не помогут, то мы тоже никого не пощадим.
Re[10]: LINQ только для РСУБД!
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 19.11.09 17:57
Оценка: 2 (1)
Здравствуйте, VladD2, Вы писали:

L>>Я уже давно потерял нить вашей дискуссии, так что даже при всём желании поспорить не смогу

VD>Рассуждения очерь просты. Я высказал совершенно простую мысль о том, что слова "простой" и "удобный" без специального определения (пояснения) не несут особого смысла, так как для одного простым и удобным является одно, а для другого другое.

В практическом отношении эти выражения как раз несут вполне определённый и однозначный смысл. "Мотивированное обсуждение" дефиниций подобного порядка, ИМХО, уведёт любую дискуссию в сторону "дихотомии добра и зла" и уточнения совершенно никчёмных деталей. То есть в самом прямом смысле — человек либо понимает своих собеседников сразу, либо нет.

VD>Когда Гапертон начал ёрничать и говорить, что "все очевидно", я привел в пример C# 2.0 и C# 3.0. Для меня C# 3.0 проще и удобнее так как в нем есть ЛИНК с помощью которого я могу значительно проще обрабатывать данные которые мне нужно обработать. Т.е. продемонстрировал случай когда большее количество фич сделало работу на языке проще.


Обрати внимание: "...с помощью которого я могу значительно проще обрабатывать данные которые мне нужно обработать". Таким образом ты обозначил тот круг задач, который тебе проще решать при наличии LINQ. А например, задача построения коммуникаций, которую обозначали и я, и Гапертон, у тебя не обозначена. Иными словами, ты сейчас только подтвердил субъективный характер оценок "простоты" и "удобства". И эта самая субъективность служит... См. ниже.

VD>Ну, а далее Гапертон вместо того чтобы понять о чем ему говорят и согласиться с этим (или понять и мотивировано возразить) прицепился к слову ЛИНК и пошел рассуждать о том, что ЛИНК — это (по его мнению) средство работы с РСУБД и т.п. К нему на помощь пришел пришел Геннадий Васильев который начал поддерживать и доводить разговор до маразма. Короче остальную часть дискуссии ты можешь прочесть в корне данной темы.


Очевидно, что если два субъекта оценивают один и тот же предмет одинаковыми субъективными оценками, то с большой вероятностью можно говорить о том, что эти двое пользуются схожими личными критериями оценки (тавтология, не правда ли?), что в разговорной речи заменяется оборотом "понимают друг друга". Ощущение понимания возрастает прямо пропорционально сложности обсуждаемого предмета, а языки программирования — это как раз очень сложные предметы. Именно это и послужило самой серьёзной причиной моего подключения к дискуссии. А вовсе не желание лишний раз поругаться с тобой. Я ж не виноват, что ты у нас Топ-0 активности.

Ещё одна любопытная черта этой дискуссии состоит в том, что несмотря на обилие морально-этических оценок, продемонстрированных э-э-э... и тобой тоже, убедительных опровержений тезису Гапертона так и не появилось. И не могло появиться в силу одной очень серьёзной ошибки "защитников LINQ".

По отношению к любой вещи, понимаешь ли, можно задать два независимых вопроса: "зачем?" и "чем является?" Так вот, ответы на второй вопрос никогда не подходят к первому, тогда как если известен ответ на первый, то на второй может и не понадобиться отвечать. Если теперь проанализировать перепалку этого топика, то будет заметно, что в ответ на суждение "зачем нужен LINQ" приводятся доводы "он является библиотекой ФВП". Понятна коллизия?

Зачем нужен мобильный телефон? Что послужило главной причиной его появления? Очевидно — потребность людей общаться друг с другом без привязки к стационарным телефонным аппаратам. Можно сделать такой однозначный вывод, глядя лишь на конструкцию мобильника? По всей видимости — нет, потому что в современных телефонах тридцать три вагона дополнительных функций, включая игры. Однако, если рассуждать, выстраивая индукцию снизу вверх, то легко получить суждения, которые, например, изоморфны демагогическим приёмам, когда реальные мотивы руководителей ("зачем") скрываются за обсуждением "характеристик народа" ("чем является"). Собственно, как раз на такие выводы налетаешь и ты, когда пытаешься вычислить моё целеполагание через призму одной лишь пикировки с собственной персоной.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[11]: LINQ только для РСУБД!
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 19.11.09 18:08
Оценка:
Здравствуйте, VladD2, Вы писали:

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

VD>Нет. Полнешей глупостью является обсуждать простоту или удобство языка "в общем". Можно обсуждать только отдельные аспекты простоты и удобства которые ты так неплохо описал.

А никто "в общем" её и не обсуждал. По-видимому, тебе показалось, что обсуждение носит слишком общий характер, поскольку задачи, решаемые пропонентами Go не похожи на те, которые решаешь ты и ещё несколько активных защитников LINQ. В этом нет ничего страшного и нет никакой попытки кого-то задеть, просто акценты на фичах языка люди с разной спецификой работы расставляют по-разному.

VD>Ты хотя бы обратил внимание на то, что ты остался вдвоем с Генадием Васильевым которому вообще по фигу о чем спорить лиш бы со мной.


По этому поводу я написал рядом.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[5]: LINQ только для РСУБД!
От: anton_t Россия  
Дата: 19.11.09 18:37
Оценка:
Здравствуйте, Gaperton, Вы писали:

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


_>>Уже давно использую Linq2objects и ни разу не пользовался Linq2db. Чяднт?


G>Ты открыл для себя силу и выразительность comprehensions. Штука прикольная, но без нее легко можно пережить.


G>Чтобы вставить в язык comprehensions, не обязательно выдумывать никакого LINQ, и делать это через него. И они вовсе не обязаны выглядеть тяжеловесно, как SQL запрос. Linq2objects — не причина появления LINQ, не смотря на то, что ты ее давно используешь, и что это приятная штука.


Открыл я для себя list comprehensions до linq-а, когда с питоном работал. А linq сделан таким каким сделан для того, что бы можно было прикрутить у нему как списки и бд, так и другие источники данных, в том числе и те, о которых мс не знает.
Re[11]: LINQ только для РСУБД!
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.11.09 20:04
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>В практическом отношении эти выражения как раз несут вполне определённый и однозначный смысл. "Мотивированное обсуждение" дефиниций подобного порядка, ИМХО, уведёт любую дискуссию в сторону "дихотомии добра и зла" и уточнения совершенно никчёмных деталей. То есть в самом прямом смысле — человек либо понимает своих собеседников сразу, либо нет.


-1

ГВ>Обрати внимание: "...с помощью которого я могу значительно проще обрабатывать данные которые мне нужно обработать". Таким образом ты обозначил тот круг задач, который тебе проще решать при наличии LINQ. А например, задача построения коммуникаций, которую обозначали и я, и Гапертон, у тебя не обозначена. Иными словами, ты сейчас только подтвердил субъективный характер оценок "простоты" и "удобства". И эта самая субъективность служит... См. ниже.


Любая задача, в том числе "задача построения коммуникаций" в конечном итоге состоит из обработки данных. Так что LINQ в ней будет применим по любому.
Это примерно так же как в любой задаче можно применять циклы.

ГВ>Очевидно, что если два субъекта оценивают один и тот же предмет одинаковыми субъективными оценками, то с большой вероятностью можно говорить о том, что эти двое пользуются схожими личными критериями оценки (тавтология, не правда ли?), что в разговорной речи заменяется оборотом "понимают друг друга". Ощущение понимания возрастает прямо пропорционально сложности обсуждаемого предмета, а языки программирования — это как раз очень сложные предметы. Именно это и послужило самой серьёзной причиной моего подключения к дискуссии. А вовсе не желание лишний раз поругаться с тобой. Я ж не виноват, что ты у нас Топ-0 активности.


Очень сомневаюсь.

ГВ>Ещё одна любопытная черта этой дискуссии состоит в том, что несмотря на обилие морально-этических оценок, продемонстрированных э-э-э... и тобой тоже, убедительных опровержений тезису Гапертона так и не появилось. И не могло появиться в силу одной очень серьёзной ошибки "защитников LINQ".


-1

Все что Гапертон говорил про линк — это набор заблуждений. Их развенчали сразу несколько человек. Но вы с Гапертоном даже не удосужились задуматься над их словами. А ты нагло врешь говоря "опровержений тезису Гапертона так и не появилось".

ГВ>По отношению к любой вещи, понимаешь ли, можно задать два независимых вопроса: "зачем?" и "чем является?" Так вот, ответы на второй вопрос никогда не подходят к первому, тогда как если известен ответ на первый, то на второй может и не понадобиться отвечать. Если теперь проанализировать перепалку этого топика, то будет заметно, что в ответ на суждение "зачем нужен LINQ" приводятся доводы "он является библиотекой ФВП". Понятна коллизия?


Так. Давай как разберемся по пунктам.
Что касается линка. Утверждение Гапертона:
http://rsdn.ru/forum/philosophy/3599325.1.aspx
Автор: Gaperton
Дата: 11.11.09

LINQ по большому счету заточен под прикладную задачу, и нафиг не вперся в случае, если мы не работаем с реляционной БД

На что ему было убедительно доказано и много раз подтверждено практикой целой кучи людей, что ЛИНК не заточен ни под одну прикладную задачу и с базами данных работает по стольку по скольку умеет работать и с ними. Целая куча работы сказал ему и тебе, что использует линк исключительно для обработки списков объектов.

Поясни в чем тут коллизия.

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

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

ГВ>Зачем нужен мобильный телефон? Что послужило главной причиной его появления? Очевидно — потребность людей общаться друг с другом без привязки к стационарным телефонным аппаратам. Можно сделать такой однозначный вывод, глядя лишь на конструкцию мобильника? По всей видимости — нет, потому что в современных телефонах тридцать три вагона дополнительных функций, включая игры. Однако, если рассуждать, выстраивая индукцию снизу вверх, то легко получить суждения, которые, например, изоморфны демагогическим приёмам, когда реальные мотивы руководителей ("зачем") скрываются за обсуждением "характеристик народа" ("чем является"). Собственно, как раз на такие выводы налетаешь и ты, когда пытаешься вычислить моё целеполагание через призму одной лишь пикировки с собственной персоной.


Вот эту демагогию ты оставь для других. Мы обсуждаем тут ЛИНК. Вот о нем и говори.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: LINQ только для РСУБД!
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.11.09 20:09
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

VD>>Нет. Полнешей глупостью является обсуждать простоту или удобство языка "в общем". Можно обсуждать только отдельные аспекты простоты и удобства которые ты так неплохо описал.


ГВ>А никто "в общем" её и не обсуждал.


Нагло врешь. Вот цитата Гапертона:

VD>Сдается мне понятия простой и удобный весьма многогранны. Так что они ровным счетом ничего не выражают.

Для тебя — ничего. Для меня — выражают достаточно много. Спорить об этом не вижу смысла. Есть вещи, которые человек либо понимает, либо нет.


VD>По-видимому, тебе показалось, что обсуждение носит слишком общий характер, поскольку задачи, решаемые пропонентами Go не похожи на те, которые решаешь ты и ещё несколько активных защитников LINQ.


Опять врешь. Вот сообщение гапертона в котором он сам отлично описал все смыслы которые могут вкладываться в эти общие понятия:
http://rsdn.ru/forum/philosophy/3608581.aspx
Автор: Gaperton
Дата: 19.11.09


ЛИНК ты вообще приплел из обще-демагогических соображений. Он был не боле чем примером.

VD> В этом нет ничего страшного и нет никакой попытки кого-то задеть, просто акценты на фичах языка люди с разной спецификой работы расставляют по-разному.


Не было никаких акцентов. Было два слишком общих понятия смысл которых попросили уточнить.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: LINQ только для РСУБД!
От: Gaperton http://gaperton.livejournal.com
Дата: 19.11.09 20:29
Оценка: -2
Здравствуйте, IT, Вы писали:

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


G>>Если выкинуть работу с реляционным источником из списка, то вся обозначенная проблема становится достаточно несущественной и незначительной, чтобы не расшибаться в лепешку ради специальной поддержки специального механизма в языке.


IT>Сегодня надо было позицию от начала буфера по номеру колонки и строки посчитать:


IT>
IT>int pos = text.Split('\n').Take(line).Sum(s => s.Length + 1) + column;
IT>

IT>Без линка пришлось бы наворачивать циклы и состояния. Это я к вопросу о незначительности решения. И таких упражнений в день у меня по сто штук без всяких баз данных.

[go]
pos := len(text) — len(strings.Split( text, "\n", line )[line]) + column
[/go]



Re[15]: LINQ только для РСУБД!
От: Lloyd Россия  
Дата: 19.11.09 20:39
Оценка:
Здравствуйте, Gaperton, Вы писали:

IT>>
IT>>int pos = text.Split('\n').Take(line).Sum(s => s.Length + 1) + column;
IT>>

IT>>Без линка пришлось бы наворачивать циклы и состояния. Это я к вопросу о незначительности решения. И таких упражнений в день у меня по сто штук без всяких баз данных.

G>[go]

G>pos := len(text) — len(strings.Split( text, "\n", line )[line]) + column
G>[/go]

G>


Take возвращает первые n элементов коллекции.
Re[16]: LINQ только для РСУБД!
От: Gaperton http://gaperton.livejournal.com
Дата: 19.11.09 20:49
Оценка:
Здравствуйте, Lloyd, Вы писали:

IT>>>
IT>>>int pos = text.Split('\n').Take(line).Sum(s => s.Length + 1) + column;
IT>>>

IT>>>Без линка пришлось бы наворачивать циклы и состояния. Это я к вопросу о незначительности решения. И таких упражнений в день у меня по сто штук без всяких баз данных.

G>>[go]

G>>pos := len(text) — len(strings.Split( text, "\n", line )[line]) + column
G>>[/go]

G>>


L>Take возвращает первые n элементов коллекции.


А strings.Split с третьим параметром, отличающимся от ноля, бьет строку ровно на заданное количество сегментов. Причем, последний сегмент, который я и забираю указывая [line], остается не разбитым. Да, вероятно я немного ошибся, и надо указать [line-1]
Re[15]: LINQ только для РСУБД!
От: IT Россия linq2db.com
Дата: 19.11.09 20:54
Оценка:
Здравствуйте, Gaperton, Вы писали:

IT>>
IT>>int pos = text.Split('\n').Take(line).Sum(s => s.Length + 1) + column;
IT>>

IT>>Без линка пришлось бы наворачивать циклы и состояния. Это я к вопросу о незначительности решения. И таких упражнений в день у меня по сто штук без всяких баз данных.

G>[go]

G>pos := len(text) — len(strings.Split( text, "\n", line )[line]) + column
G>[/go]

G>

G>

Я это всё к тому, что метды Take и Sum принадлежат классу Enumerable пространства имён (внимание!) System.Linq. А ты к чему?
Если нам не помогут, то мы тоже никого не пощадим.
Re[17]: LINQ только для РСУБД!
От: Lloyd Россия  
Дата: 19.11.09 20:56
Оценка:
Здравствуйте, Gaperton, Вы писали:

L>>Take возвращает первые n элементов коллекции.


G>А strings.Split с третьим параметром, отличающимся от ноля, бьет строку ровно на заданное количество сегментов. Причем, последний сегмент, который я и забираю указывая [line], остается не разбитым. Да, вероятно я немного ошибся, и надо указать [line-1]


Думаю будет проще объяснить, что делает код: он вычисляет порядковый номер символа в тексте через его строку (line) и колонку (column).
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.