В перспективе?
Мне это представляется очень сложным, учитывая то, что внесли в c# для поддержки технологии. Но так хочется
И помня о мощи C++ и помня, например, об Александреску и его умопомрачительных пассажей...
Как считаете, ожидает C++ развитие в сторону LINQ?
Или я может быть что-нибудь пропустил, есть какие-то серьезные наработки в этом направлении?
Здравствуйте, kvasya, Вы писали:
K>И помня о мощи C++ и помня, например, об Александреску и его умопомрачительных пассажей...
Да, в неопытных руках это будет бомба почище "шаблонной эйфории".
K>Как считаете, ожидает C++ развитие в сторону LINQ?
Да ну нафиг. В первую очередь это породит очередную волну говнокодеров александреску-стайл. И только потом более менее схлынет и начнут использовать только там где надо.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, kvasya, Вы писали:
K>>И помня о мощи C++ и помня, например, об Александреску и его умопомрачительных пассажей... CC>Да, в неопытных руках это будет бомба почище "шаблонной эйфории".
Честно говоря у меня даже мысль о таких возможностях взрывает мозг
K>>Как считаете, ожидает C++ развитие в сторону LINQ? CC>Да ну нафиг. В первую очередь это породит очередную волну говнокодеров александреску-стайл. И только потом более менее схлынет и начнут использовать только там где надо.
Безусловно, но это же не умалит достоинств самой технологии.
Здравствуйте, kvasya, Вы писали:
K>Здравствуйте, -MyXa-, Вы писали:
MX>>Здравствуйте, kvasya, Вы писали:
MX>>Boost.Proto
K>Каким образом это LINQ? K>Я с boost.proto не работал, поэтому спрашиваю, возможно ли реализовать, например, такое (C#):
K>
K> List<int> data = new List<int> { 1, 2, 4, 0, 5, 6 };
K> var largerThanTwoData = from v in data
K> where v > 2
K> select v;
K>
K>Спасибо.
#include <algorithm>
#include <functional>
#include <list>
#include <boost/assign.hpp>
#include <boost/lambda/lambda.hpp>
using namespace std;
using namespace boost::assign;
using namespace boost::lambda;
int main()
{
list<int> data = list_of(1)(2)(4)(0)(5)(6);
list<int> largerThanTwo;
copy_if(data.begin(), data.end(), back_inserter(largerThanTwo), _1 > 2);
}
Так сойдет ?
Под LINQ идут слишком много понятий.
Что конкретно вам нужно ?
Синтаксис from where select ? Или может методы расширения ? Или нормальные лямбды ? Или компиляция выражений во времени выполнения программы ?
Здравствуйте, kvasya, Вы писали:
K>В перспективе? K>Мне это представляется очень сложным, учитывая то, что внесли в c# для поддержки технологии. Но так хочется K>И помня о мощи C++ и помня, например, об Александреску и его умопомрачительных пассажей... K>Как считаете, ожидает C++ развитие в сторону LINQ? K>Или я может быть что-нибудь пропустил, есть какие-то серьезные наработки в этом направлении?
Язык C разрабатывался так что любая конструкция генерирует простой код. Своего рода машинно-независимый ассемблер.
C++ более-менее сохранил эту концепцию. (Исключение, которое первым приходит на ум, это исключения )
Прикладные вещи типа LINQ нафиг не нужны в C++. Для этого есть библиотеки.
+2
Но это C++
__>Под LINQ идут слишком много понятий. __>Что конкретно вам нужно ? __>Синтаксис from where select ? Или может методы расширения ? Или нормальные лямбды ? Или компиляция выражений во времени выполнения программы ?
Мне лично нужна типизация объектов источника данных, потенциально — любого. Как это будет — в принципе фиолетово, но в C# LINQ выглядит очень гармонично.
K>Как считаете, ожидает C++ развитие в сторону LINQ?
Нет.
C# — активно развивающийся, поддерживаемый мощной корпорацией, язык для бизнес-приложений, там постоянно работают с реляционными базами данных, поэтому и родился linq. На C++ бизнес-приложения уже не пишут, с реляционными базами данных так часто не работают, и мощная корпорация за ним не стоит, так что и требований для таких вещей нет, и реализовывать их никому не охота.
Ладно, если вас так обидел мой смайлик, скажу, что меня рассмешило:
ROP>Язык C разрабатывался так что любая конструкция генерирует простой код. Своего рода машинно-независимый ассемблер. ROP>C++ более-менее сохранил эту концепцию.
Да, это очень смешное утверждение. Я как вспомню, какие на C++ бывают простые конструкции из одной строчки, генерирующие мегабайты кода. Да вы на буст взгляните же ж, какой там простой код-то.
Здравствуйте, kvasya, Вы писали: K>Как считаете, ожидает C++ развитие в сторону LINQ?
Я от души надеюсь что нет. LINQ это инструмент быдлокодера (да, есть люди которые понимают как он работает и какой код генерирует, но это большая редкость). Почему? — да потому что вы пишете какой-то код и понятия не имеете какая у него будет алгоритмическая сложность и сколько памяти он сожрет, а если вы не понимаете что происходит, то о какой сознательной разработке можно говорить?
и LINQ это совсем не SQL — действия SQL прогнозируемы, а сложность легко проверяется просмотром плана выполнения.
Здравствуйте, Тролль зеленый и толстый, Вы писали:
ТЗИ>Лол, R.O. Prokopiev из мести поставил смайлик.
Поставил, потому, что чепуху ты написал.
Раньше, когда писали опредени на C++ никому и в голову не приходило превращать его в фокспро.
Даже в дельфи (который более высокоуровневый) такого не было.
ROP>Раньше, когда писали опредени на C++ никому и в голову не приходило превращать его в фокспро. ROP>Даже в дельфи (который более высокоуровневый) такого не было.
Ничего не понял. Вы имеете в виду, что раньше на C++ писали более просто?
R>...да потому что вы пишете какой-то код и понятия не имеете какая у него будет алгоритмическая сложность и сколько памяти он сожрет, а если вы не понимаете что происходит, то о какой сознательной разработке можно говорить?
Если руководствоваться такими рассуждениями, то можно вообще не начинать программировать, либо писать все в машинных кодах.
Здравствуйте, rm822, Вы писали:
K>>Как считаете, ожидает C++ развитие в сторону LINQ? R>Я от души надеюсь что нет. LINQ это инструмент быдлокодера (да, есть люди которые понимают как он работает и какой код генерирует, но это большая редкость). Почему? — да потому что вы пишете какой-то код и понятия не имеете какая у него будет алгоритмическая сложность и сколько памяти он сожрет, а если вы не понимаете что происходит, то о какой сознательной разработке можно говорить? R>и LINQ это совсем не SQL — действия SQL прогнозируемы, а сложность легко проверяется просмотром плана выполнения.
Здравствуйте, Тролль зеленый и толстый, Вы писали:
ТЗИ>Ладно, если вас так обидел мой смайлик, скажу, что меня рассмешило:
ROP>>Язык C разрабатывался так что любая конструкция генерирует простой код. Своего рода машинно-независимый ассемблер. ROP>>C++ более-менее сохранил эту концепцию.
ТЗИ>Да, это очень смешное утверждение. Я как вспомню, какие на C++ бывают простые конструкции из одной строчки, генерирующие мегабайты кода. Да вы на буст взгляните же ж, какой там простой код-то.
Это всё по сути инлайн-вызовы. Я о другом. О том, что всегда можно (при соответствующем навыке) проконтролировать,
какой код сгенерируется. Высокоуровневых вещей в C++ мало. Например ввод-вывод, подсчёт ссылок и пр. реализуются библиотечными средствами. Сборка мусора не реализуема, но она и не нужна — расходится с концепцией языка.
LINQ тоже будет слишком высокоуровневой конструкцией для C++. К тому же это проблемно-ориентированное расширение C++,
А C++ язык универсальный.
Здравствуйте, Тролль зеленый и толстый, Вы писали:
K>>Как считаете, ожидает C++ развитие в сторону LINQ?
ТЗИ>Нет.
ТЗИ>C# — активно развивающийся, поддерживаемый мощной корпорацией, язык для бизнес-приложений, там постоянно работают с реляционными базами данных, поэтому и родился linq. На C++ бизнес-приложения уже не пишут, с реляционными базами данных так часто не работают, и мощная корпорация за ним не стоит, так что и требований для таких вещей нет, и реализовывать их никому не охота.