С++11 -> ...
похоже уже на уиндоуз, визуал студио и пр. с каждым годом новые "стандарты".
хорошо ли это? на моей памяти (меня лично коснулось) был только "фортнан IV". остальные языки не претерпевают таких кардинальных изменений. скорее появляются новые языки. с новыми стандартами, парадигмами и ...ЦЕЛЕВЫМИ ПРИЛОЖЕНИЯМИ.
появление С++11 для меня было попыткой франкенштайна возродить умирающее. путем усложнения и без того не самого из простых.
сиходя из вышерассказанного предлагаю высказаться тем, кто сталкивается в повседневной жизни с новыми стандартами.
0. когда и с какой целью "ввели"?
1. чего конкретно ожидали от введения?
2. как "введение" происходило: запретили использование raw pointers, например? а как заставить использование ламбда?
3. если есть конкретный простой пример, или конкретные данные, позволяющие оценить успех/неуспех, то было бы здорово.
4. с наступающим всех нас, а то вообще!
появление С++11 для меня было попыткой франкенштайна возродить умирающее. путем усложнения и без того не самого из простых.
Заставь дурака богу молиться, так он и последнюю версию C++ использовать будет.
С++ вообще нет смысла польjjзовать - проблем существенно больше чем преимуществ. Если очень хочется эффективности, и без приставки ОО никак не обойтись, то старого доброго Си вполне достаточно: object-oriented programming in C И волки сыты, и овцы целы.
кто сталкивается в повседневной жизни с новыми стандартами
Ну вот C# ASP.NET Core 3 как раз изучаю.
Пока только положительные впечатления. Xamarin Forms тоже ничего так. А плюсы уж лет десять как не интересуют.
0. когда и с какой целью "ввели"?сделали лучше.
мне вот лямды в плюсах нравятся гораздо больше чем в шарпе.
...
но сам для себя я предпочитаю на шарпе баловаться. но это небольшие проекты.
А вот на работе у нас разработан большой проэкт на шарпе, как замена старому на плюсах. Так вот с прискорбием замечаю, что сложность (скорее запутанность для понимания) нового превышает плюсовый, И тормознутостью новый отличается в худшую сторону. Хотя есть и преимущества: ВПФ позволил автотестирование юзер интерфейса. Но пользователю ведь важна производительность (а не тесты), а стабильность ему - само собой разумеющееся.
...
ранее я бывало выражал недовольство библиотекой boost для плюсов, ну мол слишком сложно для простых вещей (как на танке в булочную за углом с\ездить), для элементарного действия в стеке вызовов - десяток строчек а то и больше! Так вот в шарпах (в нашем новом проекте) я вижу тоже самое! И всё это тормозит, причем так что не поддается оптимизации (за исключением - выбросить и переписать заново, что уже невозможно).
...
по мой-му этот изящный linq (который я очень ценю) всё таки таит в себе зло: на нем легко писать (не замечая этого, особенно думая только об изящной краткости кода) тормознутые программы. Редкие программисты сразу тестируют свой код на предельное количество данных, и тестеры тоже. А когда тормознутость вылезет - уже поздно что менять - слишком сложно.
Можно на шарпе написать какашку, которая будет сильно сложнее и сильно медленнее плюсов. Можно на плюсах написать какашку, которая будет сильно медленнее и сильно сложнее шарпов. Всё зависит от архитекторов и кодеров. Но в принципе языки - разные и по назначению, и по сути. Шарпы - мультипарадигменный язык (структурный, объектноориентированный, функциональный) для быстрой разработки энтерпрайза, серверно-базоданных штук и немного гуя. Плюсы - мощнейший хай-перформанс (чуть медлненнее чистого ЦЭ) для драйверов и прочей магии ядер и процессоров с более-менее чем-то похожим на объектно-ориентированность, плюс эдвансд уровень мета-программирования (читай шаблоны).
Вообще то, если начинающие будут читать, следует оговориться, что проблема по скорости не в самом языке (синтаксис,семантика и пр.), а в том во что превращается написанный на нем код.
И с ОО как то не совсем понятно - чем плюсы хуже?
Я не писал, что есть "проблемы по скорости". Это твоя (неверная) интерпретация моего комментария. Я тебе на шарпах слабаю алгоритм, который будет до наносекунд так же быстр, как на плюсах. Вопрос в другом - плюсы под это заточены, шарп - нет, шарп заточен под другое.
Я не писал, что "плюсы хуже в ОО". Я писал, что плюсы дают что-то очень похожее на ОО. Почему плюсы не "чистый ОО язык"? Потому что int в плюсах - это не объект, а главная функция main (точка входа) не принадлежит никакому классу и не может принадлежать.
-----
Не слабаешь.
Много чего будет слегка медленнее... ну хотя бы потому что int не объект.
Я тебе на шарпах слабаю алгоритм, который будет до наносекунд так же быстр, как на плюсах
ну это если специально алгоритм пару лет подбирать
https://habr.com/en/post/266163/
Я писал, что плюсы дают что-то очень похожее на ОО
Определение ОО в студию, плиз. Я пока только это нашел
Выше уже писали: можно писать оо на чистом С. Все остальное - буквоедство.
Так-то можно и на асме или брейнфаке писать "объектноориентированно", но речь ведь не об этом.
С++, конечно, не чистый оо-язык, но это не мешает писать на нем строго оо-код.
но речь ведь не об этом.
совершенно верно. речь о прибамбасах к сиплюсам в виде 11, 15, ...
ожидаю, когда же наконец добавят к стандарту garbage collector и выкинут все смартпойнтеры, например, за ненадобностью : )
и название уже давно пора подыскать правильное. отражающее.
...и выкинут все смартпойнтеры
Не хочешь - не пользуй (и не только смартпойнтеры), выбрасывать-то зачем?
ожидаю, когда же наконец добавят к стандарту garbage collector
От garbage collector меня тошнит не по-детски везде, где он есть. Зачем плюсы им похабить? C# и Java с ним есть, и достаточно.
Здравствуйте,
Мне нравится список инициализации https://crascit.com/2015/01/10/cpp-list-initialization/
Нехватало, особенно после питона если сразу переключатся. Помагает также реализовать парадигму "выноса данных из кода".
Лямбда-выражения/кложуры исспользовать пока не могу (не вижу отчетливого преимущества). Думал, почему так, и пришел к заключению, что надо понаблюдать как эти конструкции иссползуют люди, которые всегда имели возможность ползоватся лямбдами, к примеру. Межет чего научусь :)
Лямбда-выражения/кложуры исспользовать пока не могу (не вижу отчетливого преимущества)
не знаю как точно как в плюсах, но на шарпе код часто читается удобнее с лямбдой. Хотя конечно, дело привычки.
А иногда - не читается вообще...
И самое пробленое - отладка...
Пример - фильтрация классов плугинов... неприятно там...
И самое проблемное - отладка...
А в чём именно проблема?
Я тоже раньше думал, что на set в подобной записи нельзя точку останова сделать
int Kuku {get xx; set xx;}
А иногда - не читается вообще...
Ну можно и нормальный код написать нечитаемым.
А в чём именно проблема?
-----
Так не понятно когда и что происходит....
по крайней мере - не всегда понятно...
и чем крупнее решаемая задача - тем менее понятно...
лишние мозги нужны для отладки.
Так не понятно когда и что происходит....
А если лямбду переписать как функцию, будет понятнее? Если нет, то дело не в лямбде
Я вот тоже раньше любил, что бы все конструкторы вызывались явно и все параметры туда явно передавались.
А если лямбду переписать как функцию, будет понятнее?
-----
Как ни странно - при сложной лямбде - да, будет понятнее и будет возможность отладки по частям...
Я вот тоже раньше любил
-----
Соседнюю ветку почитай - там, похоже, до конструкторов еще топать и топать...
мне инициализации никогде не доставляли хлопот: их сделал один раз и забыл очень надолго.
с ламбдами познакомился впервые в шарпе, и идея мной воспринята так: если какие-то действия нужно выполнить только в одном месте, и только здесь это имеет смысл, то ламбда дает вам такую возможность. это удобно и при написании, и при чтении: не нужно листать в поисках функции, чтобы посмотреть, что она именно выполняет. все прямо здесь, смотрите. к синтаксису очень легко и быстро привыкается. в шарпе это органично и просто. посмотрите сюда
"группппа си++", или кто они там эти ясноголовые решили, что "хорошая штука, и нам бы сям бы надо". и придумали. теперь у них есть. а что есть - можете взглянуть
я только пролистал,
и всякое желание вдаваться отвалилось моментально. каким образом это кому-то может облегчить жизнь - не догадываюсь. усложнить - запросто! такое нужно сперва придумать как написать, затем самому попытаться прочитать и понять, а потом еще как-то и протестировать и определить, это тест прошел или завалился. не знаю даже, лучше будет, если это все будет один человек, или лучше по каждой ламбде создавать временный тиим.
Как ни странно - при сложной лямбде - да, будет понятнее и будет возможность отладки по частям...
А как ты сложность определяешь? По количеству строк?
Похоже я с твоей ситуацией еще не сталкивался.
А как ты сложность определяешь?
-----
Дать тебе что ли один из "переведенных" с Оракла на Постгрее запросов в реализации а-ля лямбда?
Там - не сложно... только - не работает...
Оракловский запрос - работает... в силу ошибок у оракла...
Постгреешный - не работает... не выполняется реляция 1-1...
Ну и как десяти-композитную лямбду с супер-субселектами разбирать?
Особенно - если не работает... и работать, в принципе, не может - там бяка в набитых руками данных...
А в результате - должна набится данными табличка с динамическим количеством колонок...
.... я только пролистал, и всякое желание вдаваться отвалилось моментально. каким образом это кому-то может облегчить жизнь - не догадываюсь.
Ваше сравнение не совсем корректно. В одном, это ссылка на описание синтаксиса (что подразумевает знание лямба выражений) , в другом на туториал. Возьмите туториал для С++ лямбда выражений и всё станет ясно и понятно.
Лямбда выражения в С++ реализованы на основе функторов и я считаю неплохо реализованно.
По сравнению с С# в С++ реализована идея захвата, что позваляет вам самим регулировать зону видимости переменных для лямбда выражений.
Лямбда выражения в С++ более гибкие (захват по ссылке , захват по значению) и предлагают больше возможностей (обобщённые лямбда выражения) по сравнению с С#.
Наверное и поэтому синтаксис С++ выглядит сложнее чем С#.
Дать тебе что ли один из "переведенных" с Оракла на Постгрее запросов в реализации а-ля лямбда?
не вижу никакой связи базы данных с лямбдой, если бы еще LINQ сказал, как то можно было понять. У нас вот студент такое писал, что никогда в голову не придет, но зато работало
Был у меня один оракле "спагетти" проект который должен был с MS SQL фигачить. Ну так просто кодогенератор сделал С# --> SQL с параметром тип базы.
Там запросы пару печатных страниц занимали и было их довольно дофига.
если бы еще LINQ сказал
-----
Таки да - ступил... но как вариант написания лямбды - вполне сгодится...
сделал С# --> SQL с параметром тип базы
-----
Дано: где-то с полтыщи не самых простых в рассчетной части страниц работающих с Ораклом...
Задача - сделать тоже самое, но работающее с Постгрее... забываем что база другой структуры...
Есть - узловая точка в которой управляется коннектирование...
Народ похерил точку подключения и пишет процедуру коннектирования к Ораклу и Постгрее на каждой странице...
чуть что поменяешь - все не работает... причем вылезет непонятно где... мать... мать... мать...
В паралельке буду вести лог глупостей...
пожалуйста, вот - описание синтаксиса
https://docs.microsoft.com/en-us/dotnet/csharp/language-re...
тем не менее все ясно и прямолинейно. потому что "свое", заложенное при проектировании языка. а в с++ ламбда - это костыли никому не нужные. без них легче ходить.
в принципе и это, и многое другое из неудобных вещей человек в состоянии освоить, и мы это регулярно видим в цирке. но там это - цель: показать, как ловко вот человек учился-учился, и смотрите, как он идет по канату. но реально перебраться с одной площадки на другую большинству гораздо проще и надежнее как-нибудь иначе.
забываем что база другой структуры...
Ну тогда успехов
пишет процедуру коннектирования к Ораклу и Постгрее на каждой странице...
ааа,.... островное модульное программирование Сколько месяцев таких спецов искали?
Мне как то прислали ссылку на тест отсюда
ну так я им ответил, что если это у них критерий хорошего программиста, то нам не по пути.
а про что еще нам бы здесь по***деть? пошел он нах, этот с++11, задолбал уже действительно. вот сабина завтра придет. говорят, шпермюл выставить можно: все заберет. и прочих шюток полон интернет. поглядим завтра, сколькоих деревом накроет. как ни предупреждай, обязательно найдется кто-нибудь, кого угораздит.
а можно опять же про грэту тунберг. ее там на нобелевку шведы же выдвигают. миротворщица, оказывается. за мир боронулась.
или оскар завтра распределят. тоже интересно. я бы в этом году никому не давал. в крайнем случае - корейцам за паразитов. изжил себя жанр. ютуб круче ; )
Здравствуйте.
Ну, кому-то этот язык уже надаел, а кому-то понадобился.) Понадобился этот язык для автоматизации торговых действий на рынке форекс. Я так понял, что МQL4/5 язык сильно похож на C/C++.
Здесь вот положил начало своему обучению:
https://sgr-tradeinvest.ru/mql4/shablon-sovetnika.html
Размышлял сделать Fernstudium, чтобы утраченное время, государством признанно было. Но, не уверен, понадобятся ли мне все те знания; к тому же 2 года учебы; экзамены.
Решил все таки начать с вышеупомянутого сайта, ну а там виднее будет.
Тут есть кто, кто еще только учит с++?
Понадобился этот язык для автоматизации торговых действий на рынке форекс
Сорри, не имею никакого понятия о задаче. Но просто интересно, отчего именно С++?
Я так понял что программный код МQL4, очень похож на с++ язык.
На том сайте выше есть примеры - знатокам с++, виднее, на что MQL4 больше похож.
знатокам с++, виднее, на что MQL4 больше похож
-----
Мне вот что интересно - как обосновывается то, что "знатокам С++ виднее" ?
Я, допустим, С++ - видел... а МКЛ4 - не видел - как Я должен иметь это "виднее"?
Ну если я разговариваю на немецком языке, то и в украинчюском языке встречу мне много знакомых слов;)
Ну если я разговариваю на русском языке, то и в украинчюском языке встречу мне много знакомых слов;)
На том сайте я вообще ничего не нашел полезного.
Вот немного получше
https://www.mql5.com/de/articles/1475
Относительно С++ ничего нельзя сказать, но вот С точно нужен.
Хотя
"Эта серия статей предназначена для трейдеров, которые ничего не знают о программировании, но хотят узнать, как можно быстрее, с минимальным временем и усилиями."
в украинчюском языке встречу мне много знакомых слов
-----
А разве это ответ на заданный вопрос?
Для ответа нужно показать как из знания русского/немецкого следует знание большого числа слов в... тундрюкском... языке.
Про то, что с тундрюкским языком ты не знаком, говорить будем отдельно - пока достаточно факта что Я его упомянул...
-----
То, что будет написано в MetaEditor'e, - это исходный код. То есть последовательность команд, которую будет выполнять терминал одну за другой сверху вниз. Но терминал не может выполнять исходные коды.
Марксиско-Ленинская философия была куда проще...
https://www.mql5.com/de/articles/1475
Спасибо!) Мне этот сайт знаком, только я решил начать свое обучение с другого сайта - там объясняется (мне) понятнее.
Самое главное иметь идею/иновацию, после чего можно так дверью хлопнуть, что весь мир содрогнет;))
Я не знаю где лучше именно Вам начинать обучение, пока просто пытаюсь понять что за фигня такая и с чем ее едятъ.
С или С++ так и непонятно
С++
https://eto-razvod.ru/mql5-programming/
"MQL5 все еще обновляется и дорабатывается, его считают “Си” подобным языком."
https://умный-инвестор.рф/metatrejder-5-otzyvy/
Но зато стало понятно зачем
Спасибо за ваше потраченное время - как буду дома, просмотрю все.
пока просто пытаюсь понять что за фигня такая и с чем ее едятъ.
-----
Готовая исполнительная система с предопределенными типами и поведением объектов...
Плюс - язык описания дополнительных объектов.
С или С++ так и непонятно
-----
А там без разницы - реализовать можно на обоих. На плюсах - чуть проще...
Но зато стало понятно зачем
-----
А чо? Рази есть друхое?
А чо? Рази есть друхое?
Цель просто нравится - учить программирование чтобы тебя могли проще нае..ь
Я не знаю где лучше именно Вам начинать обучение, пока просто пытаюсь понять что за фигня такая и с чем ее едятъ.
На том сайте чувствуется, что челов помогает человек своими уроками, бескорыстно.
"MQL5 все еще обновляется и дорабатывается, его считают “Си” подобным языком."
Пока еще сам не знаю, с 4 или 5 начинать. Дело в том что, в течении последних 5 месяцев, пользовался сервисом программирования. Создал советник и пару индикаторов - Все это сделано на 4. Сервисом пользоваться - это замечательно, но накладно, к тому же, порой приходится раскрывать свои азы... Вот и решил изучить язык программирования. Какую то часть своих идей мы автоматизировали, теперь осталось разобраться в том, что имею на руках. Но так как это мои
мысли, думаю, учиться будет легче.
Но зато стало понятно зачем
Вы меня испугали - думал что там про автоматизацию пишут..)
Цель просто нравится - учить программирование чтобы тебя могли проще нае..ь
Кто там, и чем занимаются -это уже дело собственных знаний и без-знаний. Да, мутные там людишки..)
Ой... Я - ужо... А где твоя эта... как ее... профанация
Да все нормально, будут вопросы, обращусь;)
учить программирование
-----
Там нет обучения программированию...
За одно - там нет и какой либо серьезной модели процесса...
Для понтов - можно слепить все тоже самое на любой базе, поддерживающей триггеры и сообщения во вне...
дело собственных знаний и без-знаний
-----
Об чем ты?
Тебе прямым текстом говорят - знаний - не будет - дадут только то, что надо для использования системы, то, что надо для понимания ее работы - не дадут и не планируюt...
По уровню - ты ожидаешь что тебя научат автомобилестроению, а тебе всучают курсы автолюбителей(водителей) японских микролитражек с неподъемным капотом...
Там нет обучения программированию...
Мне пока нужно только в том разобраться, что сам же и написал (с помощью программиста). Думаю всё остальное придет само по себе, ну или подтяну где нужно.
За одно - там нет и какой либо серьезной модели процесса...
Для понтов - можно слепить все тоже самое на любой базе, поддерживающей триггеры и сообщения во вне...
Может и нету, согласен. Там скорее мысли по трейденгу важнее.;)
Убедился - трейдер может обойтись без навыков программирования (воспользоваться сервисом) - а вот у программиста нет выбора, ему нужно знать рынок. Нет, если хороший клиент попадется, то может ему и повезет.
Тебе прямым текстом говорят - знаний - не будет - дадут только то, что надо для использования системы, то, что надо для понимания ее работы - не дадут и не планируюt...
Мой советник подключен к торговле, все нормально. К тому же, какая хер разница, на какой платформе писать советник. Нужно узнать какой платформой пользуется тот или иной БАНК и написать советник под ту платформу...
Или ты думаешь что на рынке вам вообще никакой возможности не дают...
Тогда придется писать либо аналог обработки команд в Винде, либо какую-то систему триггеров... В базах оно просто будет готовое...
у программиста нет выбора, ему нужно знать рынок
-----
Ему не нужно знать рынок - ему нужно уметь работать с информацией и квалификация программист предполагает наличие таких умений.
Сие подтверждено мною лично - зашел на биржу на денек и вышел с +3.000,-...
Не мое... не интересно мне там... Для понимания процесса и возможностей - сходил. Еще раз - просто незачем...
Для понимания процесса и возможностей - сходил
За день усё понять - гигант, маладецъ. Я так не могу
Зато сколько бы смог заработать