С++11 -> ...
похоже уже на уиндоуз, визуал студио и пр. с каждым годом новые "стандарты".
хорошо ли это? на моей памяти (меня лично коснулось) был только "фортнан IV". остальные языки не претерпевают таких кардинальных изменений. скорее появляются новые языки. с новыми стандартами, парадигмами и ...ЦЕЛЕВЫМИ ПРИЛОЖЕНИЯМИ.
появление С++11 для меня было попыткой франкенштайна возродить умирающее. путем усложнения и без того не самого из простых.
сиходя из вышерассказанного предлагаю высказаться тем, кто сталкивается в повседневной жизни с новыми стандартами.
0. когда и с какой целью "ввели"?
1. чего конкретно ожидали от введения?
2. как "введение" происходило: запретили использование raw pointers, например? а как заставить использование ламбда?
3. если есть конкретный простой пример, или конкретные данные, позволяющие оценить успех/неуспех, то было бы здорово.
4. с наступающим всех нас, а то вообще!
появление С++11 для меня было попыткой франкенштайна возродить умирающее. путем усложнения и без того не самого из простых.
Заставь дурака богу молиться, так он и последнюю версию C++ использовать будет.
С++ вообще нет смысла польjjзовать - проблем существенно больше чем преимуществ. Если очень хочется эффективности, и без приставки ОО никак не обойтись, то старого доброго Си вполне достаточно: object-oriented programming in C И волки сыты, и овцы целы.
0. когда и с какой целью "ввели"?сделали лучше.
мне вот лямды в плюсах нравятся гораздо больше чем в шарпе.
...
но сам для себя я предпочитаю на шарпе баловаться. но это небольшие проекты.
А вот на работе у нас разработан большой проэкт на шарпе, как замена старому на плюсах. Так вот с прискорбием замечаю, что сложность (скорее запутанность для понимания) нового превышает плюсовый, И тормознутостью новый отличается в худшую сторону. Хотя есть и преимущества: ВПФ позволил автотестирование юзер интерфейса. Но пользователю ведь важна производительность (а не тесты), а стабильность ему - само собой разумеющееся.
...
ранее я бывало выражал недовольство библиотекой boost для плюсов, ну мол слишком сложно для простых вещей (как на танке в булочную за углом с\ездить), для элементарного действия в стеке вызовов - десяток строчек а то и больше! Так вот в шарпах (в нашем новом проекте) я вижу тоже самое! И всё это тормозит, причем так что не поддается оптимизации (за исключением - выбросить и переписать заново, что уже невозможно).
...
по мой-му этот изящный linq (который я очень ценю) всё таки таит в себе зло: на нем легко писать (не замечая этого, особенно думая только об изящной краткости кода) тормознутые программы. Редкие программисты сразу тестируют свой код на предельное количество данных, и тестеры тоже. А когда тормознутость вылезет - уже поздно что менять - слишком сложно.
Можно на шарпе написать какашку, которая будет сильно сложнее и сильно медленнее плюсов. Можно на плюсах написать какашку, которая будет сильно медленнее и сильно сложнее шарпов. Всё зависит от архитекторов и кодеров. Но в принципе языки - разные и по назначению, и по сути. Шарпы - мультипарадигменный язык (структурный, объектноориентированный, функциональный) для быстрой разработки энтерпрайза, серверно-базоданных штук и немного гуя. Плюсы - мощнейший хай-перформанс (чуть медлненнее чистого ЦЭ) для драйверов и прочей магии ядер и процессоров с более-менее чем-то похожим на объектно-ориентированность, плюс эдвансд уровень мета-программирования (читай шаблоны).
Я не писал, что есть "проблемы по скорости". Это твоя (неверная) интерпретация моего комментария. Я тебе на шарпах слабаю алгоритм, который будет до наносекунд так же быстр, как на плюсах. Вопрос в другом - плюсы под это заточены, шарп - нет, шарп заточен под другое.
Я не писал, что "плюсы хуже в ОО". Я писал, что плюсы дают что-то очень похожее на ОО. Почему плюсы не "чистый ОО язык"? Потому что int в плюсах - это не объект, а главная функция main (точка входа) не принадлежит никакому классу и не может принадлежать.
Я тебе на шарпах слабаю алгоритм, который будет до наносекунд так же быстр, как на плюсах
ну это если специально алгоритм пару лет подбирать
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/
Нехватало, особенно после питона если сразу переключатся. Помагает также реализовать парадигму "выноса данных из кода".
Лямбда-выражения/кложуры исспользовать пока не могу (не вижу отчетливого преимущества). Думал, почему так, и пришел к заключению, что надо понаблюдать как эти конструкции иссползуют люди, которые всегда имели возможность ползоватся лямбдами, к примеру. Межет чего научусь :)
Лямбда-выражения/кложуры исспользовать пока не могу (не вижу отчетливого преимущества)
не знаю как точно как в плюсах, но на шарпе код часто читается удобнее с лямбдой. Хотя конечно, дело привычки.
А если лямбду переписать как функцию, будет понятнее?
-----
Как ни странно - при сложной лямбде - да, будет понятнее и будет возможность отладки по частям...
Я вот тоже раньше любил
-----
Соседнюю ветку почитай - там, похоже, до конструкторов еще топать и топать...
мне инициализации никогде не доставляли хлопот: их сделал один раз и забыл очень надолго.
с ламбдами познакомился впервые в шарпе, и идея мной воспринята так: если какие-то действия нужно выполнить только в одном месте, и только здесь это имеет смысл, то ламбда дает вам такую возможность. это удобно и при написании, и при чтении: не нужно листать в поисках функции, чтобы посмотреть, что она именно выполняет. все прямо здесь, смотрите. к синтаксису очень легко и быстро привыкается. в шарпе это органично и просто. посмотрите сюда
"группппа си++", или кто они там эти ясноголовые решили, что "хорошая штука, и нам бы сям бы надо". и придумали. теперь у них есть. а что есть - можете взглянуть
я только пролистал,
и всякое желание вдаваться отвалилось моментально. каким образом это кому-то может облегчить жизнь - не догадываюсь. усложнить - запросто! такое нужно сперва придумать как написать, затем самому попытаться прочитать и понять, а потом еще как-то и протестировать и определить, это тест прошел или завалился. не знаю даже, лучше будет, если это все будет один человек, или лучше по каждой ламбде создавать временный тиим.
А как ты сложность определяешь?
-----
Дать тебе что ли один из "переведенных" с Оракла на Постгрее запросов в реализации а-ля лямбда?
Там - не сложно... только - не работает...
Оракловский запрос - работает... в силу ошибок у оракла...
Постгреешный - не работает... не выполняется реляция 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 года учебы; экзамены.
Решил все таки начать с вышеупомянутого сайта, ну а там виднее будет.
Тут есть кто, кто еще только учит с++?
На том сайте я вообще ничего не нашел полезного.
Вот немного получше
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,-...