Здравствуйте, CreatorCray, Вы писали:
CC>А в чём проблема то? range for у меня в С++17 прекрасно жрал любые контейнеры, включая самописные.
Не в том дело — до сих аглоритмы требуют итераторы, а не контейнеры. Но наконец-то спохватились, что это тупо. Теперь будут принимать контейнеры + возможно Range библиотеку протащат (подобие LINQ). Но сколько десятилетий спали?
CC>Потоки шмотоки! CreateThread наше всио!
Так и я то том же. Бедный язык, бедные стандартные средства — только API дёргать и остаётся.
P>>4) constexpr — серьёзно? CC>Серьёзно, полезная вещь временами.
А кто спорит? Но почему об этом должен заботиться я, а не компилер?
P>>5) auto — до сих пор не понимаю как фрики пропустили эту вещь. О боже, работу компилятора переложили на компилятор. Почему изначально этого небыло — вопрос века. К с++50 доведут до ума. CC>А что там доводить то? Работает как надо
Ну да, то-то его всё время правят от стандарта к стандарту. Осталось, чтобы ещё везде в шаблонах поддерживался и будет ок.
Здравствуйте, push, Вы писали:
P>С++ имеет одну очеь бедную стандартную библиотеку. И "N" других, не стандартных библиотек с "N" вариантами API. Это проблема.
Это единственный способ хоть как-то двигать технологии.
Любой стандарт — это смерть разума.
V>>Наоборот, только для плюсов есть всевозможные либы на абсолютно все востребованные направления. Ни для каких других языков такого набора готового функционала нет и не предвидится, ес-но. P>Нет _стандартных_ и _удобных_ средств и библиотек
Есть удобные и де-факто задающие тон в своей области.
А кто заикается о стандартах, когда речь о прикладных областх, а не базовых, тот, повторюсь, ни хрена не соображает в тех самых прикладных областях. ))
Потому что это именно и твоя задача тоже — разрабатывать прикладные библиотеки, если ты С++ программист. Например, наша контора живёт разработками библиотек. И таких полно.
M>>То есть приводить строки к нижнему регистру по месту использования, даже если помногу раз для каждой строки. Ну, работать будет. MTD>1. Преждевременная оптимизация зло
Это тут при чем? Чувак из видео прямым текстом сказал: "давайте напишем класс для хранения строк в нижнем регистре", видимо ему этот класс понадобился.
Эдак можно эту универсальную фразу везде пихать, не зная мотивов написания того или иного кода.
Презентация про quick sort — это предварительная оптимизация, есть же bubble sort!
MTD>2. Ты уверен, что умеешь писать быстрый код?
Нет
MTD>Во-первых, ты не знал, что можно сравнивать хеши, что быстрее, чем сравнивать целиком строки.
Ты меня с кем-то путаешь.
M>>Есть перегрузка с const char* — так не интересно. MTD>А мне не интересно везде c_str писать, кроме того,
Никто не обещал что будет интересно.
MTD>есть в стандартной библиотеки методы без перегрузки, например конструктор std::random_device
Зачет, хорошо что этот конструктор выполняется от силы один раз за все время работы приложения.
MTD>>>Вот про это я в самом начале и писал — люди совершенно оторвавшиеся от реальности. Все же хотят вместо: M>>Ааа, так ты в принципе против шаблонов — с этого и надо было начинать. MTD>Это из каких слов ты понял, ткни пальцем.
Из коммента
Здравствуйте, Muxa, Вы писали:
M>Это тут при чем? Чувак из видео прямым текстом сказал: "давайте напишем класс для хранения строк в нижнем регистре", видимо ему этот класс понадобился.
А я уверен, что он ошибается.
M>Презентация про quick sort — это предварительная оптимизация, есть же bubble sort!
Ты не поверишь, но в некоторых случаях bubble sort — оптимизация.
MTD>2. Ты уверен, что умеешь писать быстрый код? M>>>Нет
Зачем тогда так уверенно судишь о том, в чем не разбираешься?
M>Никто не обещал что будет интересно.
Я как любой нормальный разработчик ленив и мне за символы не платят.
M>>>Ааа, так ты в принципе против шаблонов — с этого и надо было начинать. MTD>>Это из каких слов ты понял, ткни пальцем. M>Из коммента
M>>Это тут при чем? Чувак из видео прямым текстом сказал: "давайте напишем класс для хранения строк в нижнем регистре", видимо ему этот класс понадобился. MTD>А я уверен, что он ошибается.
А, ну если ты в курсе для чего было написано именно так, а не иначе — то вопросов нет.
Прост, мне кажется что универсальных решений в программировании нет.
И говорить что XXX всегда лучше чем YYY — неправильно.
M>>Презентация про quick sort — это предварительная оптимизация, есть же bubble sort! MTD>Ты не поверишь, но в некоторых случаях bubble sort — оптимизация.
Поверю. Ключевое слово тут "в некоторых".
MTD>Упоролся чтоли? Я такой код лет 10 назад мог написать, но с тех пор программировать немного научился.
Тогда что ты имел в виду тут http://rsdn.org/forum/flame.comp/6944606.1
Здравствуйте, CreatorCray, Вы писали:
Pzz>>Хороший же это текст программы, что текстовым редактором не берется, а требует специального инструмента. CC>Не ну можешь конечно и камнем шурупы забивать. Но есть таки шуруповёрт с регулируемым усилием. CC>Зачем усложнять себе жизнь ненужными телодвижениями?
Достаточно натянутая аналогия. Если уж на то пошло, шуруп — это язык программирования, а любой достаточно адекватный редактор текстов — это шуроповерт с регулируемым усилием. Но вот оказывается, что некоторым шурупам нужен не шуруповерт, а токарно-ткацкий станок с цифровым програмным управлением, причем работает он не с каждым шурупом, сделанным согласно стандарту на шурупы, а лишь с шурупами определенной фирмы, и требует весь цех организовать под себя, выбирая все прочие инструменты и материалы согласно его требованиям. Да плюс еще, такой шуруп абы во что не закрутишь, дости должны быть той же фирмы да определенной версии.
Pzz>>Скорость компиляции должна заметно возрасти CC>Это довольно мало кого колышет. А вот навигация по коду — очень даже.
Ну вообще-то, C++ компилируется аццки долго. Даже по сравнению с C, не говоря уж о языках, которые действительно быстро компилируются.
Здравствуйте, AlexGin, Вы писали:
AG>Современный C++ здесь не при чём — от слова совсем.
Вы связей не видите. C++ базоый инструмент для остальных остальных инструментов сборки. И если он перестаёт где-то работать все остальные через некоторое время тоже престают работать на данной платформе. А если еще создаются дополнительные плюшка сторонние либы постепенно переходят на новые версии C++. Остальные по зависимостям от этих либ тоже начинает не поддерживать нужную платформу. Так что не только причем, C++ очень хороший рычаг. AG>Берем в MSVC — контекстное меню Properties проекта, там: Configuration Properties/General AG>далее — в строке Platform Toolset выбираем (из комбо-бокса), тулсет совместимый с WinXP.
А потом проверяем на WinXP и улыбаемся.
AG>Современные диски уже не превый год как могут хранить терабайты.
Это развращает. Взлянуть на браузеры или на visual studio этож позор. Далеко ходить не надо в эксплорере при нажатии правой кнопки мыши проискожит лютое мракобесие пред тем как откроется менюшка AG>Время 40-мегабайтных русских AT — давно прошло.
Всякие arduino негодуют.
Здравствуйте, MTD, Вы писали:
MTD>Страуструп, кстати, вполне адекватный мужик и в Дизайне и эволюции писал, что считает, что копирование по дефолту надо было отключить.
В этом я тоже с ним согласен. Но к сожалению это уже не исправить...
Здравствуйте, push, Вы писали:
V>>Конкретней, плиз. Есть огромный список драфтов для включения в будущие версии. Пройдись по ним и дай нам знать, что конкретно ты имел ввиду. P>Да что ж конкретней? Ничего же нет, всё надо — и xml, и сеть, и базы, и IPC человеческое, и RPC, и сериализация, и GUI, .... — короче тупо всё надо.
Т.е. предполагается добавить это всё в поставку компилятора? ) Естественно в виде статических библиотек, скомпилированных под все поддерживаемые данным компилятором архитектуры процессора? Так и представил себе в будущем предложение скачать компилятор C++ в сотню гигабайт... А уж какой размер и разносторонность команды, разрабатывающей такую стандартную библиотеку, будет...
Здравствуйте, push, Вы писали:
P>Не в том дело — до сих аглоритмы требуют итераторы, а не контейнеры. Но наконец-то спохватились, что это тупо. Теперь будут принимать контейнеры + возможно Range библиотеку протащат (подобие LINQ). Но сколько десятилетий спали?
Range — это да, это правильно и удобно (собственно в D подобное от рождения, вместо итераторов). А вот подобная работа с контейнерами уже не логична и я что-то не слышал о планах перехода на подобное.
Здравствуйте, Pzz, Вы писали:
Pzz>Достаточно натянутая аналогия. Если уж на то пошло, шуруп — это язык программирования, а любой достаточно адекватный редактор текстов — это шуроповерт с регулируемым усилием.
Редактор текста это простая отвёртка.
Нормальный же IDE даёт тебе всю нужную информацию прямо по месту, без необходимости пользоваться поиском и менять для этого контекст.
Pzz>Ну вообще-то, C++ компилируется аццки долго.
Меньше буста класть надо и будет компилироваться довольно таки быстро.
Pzz> Даже по сравнению с C, не говоря уж о языках, которые действительно быстро компилируются.
С быстро компилируется но кошмарно медленно и многословно пишется.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, push, Вы писали:
P>Так и я то том же. Бедный язык, бедные стандартные средства — только API дёргать и остаётся.
Ты хочешь странного. Если хочешь язык встроенный в платформу — бери C#
P>А кто спорит? Но почему об этом должен заботиться я, а не компилер?
Наверное потому, что программу пишешь ты, а не компилер.
P>Ну да, то-то его всё время правят от стандарта к стандарту. Осталось, чтобы ещё везде в шаблонах поддерживался и будет ок.
Чот я не помню чтоб с ним на практике какие то проблемы были.
Как только он появился я прошёлся по коду и везде где от него и decltype была польза — повставлял. Завелось сразу, работало как обещали.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Дело не в корпорации, а в самом языке, сильно неудобном для создания фреймворков. Ни ABI с компонентной моделью, ни рефлексии
Любое ABI+рефлексия прибивает оптимизации на корню.
Т.е., надо одновременно выкатывать как рефлексию ср-вами языка, так и способы ею не пользоваться. Дотнет шел к этому более десятка лет, для будущих стандартов С++ такое тоже готовят.
MS делала подобные расширения языка минимум дважды — один раз для COM-объектов, когда можно было не писать отдельные IDL, второй раз в виде C++/CX, с похожим подходом, когда файлы метаинформации генерятся в момент компиляции. Думаю, весь подобный опыт будет учтён.
НС>ни даже стандартных доккомментов.
Это утилитарная задача, которая не требует поддержки со стороны полноценного компилятора.
НС>Ну и отчасти в коммьюнити. Ни в одном другом языке, к примеру, нет такой страсти к переписыванию RTL.
Как минимум в дотнете и джаве наблюдается постоянное переписывание внутренностей базовых либ. Только почему это выдаётся за негатив, а не позитив? В чём плох факт постоянного совершенствования?
Ценность-то имеет человеческий труд, т.е. наши исходники, а они прекрасно обратно совместимы по версиям языка.
Здравствуйте, ononim, Вы писали:
O>У С++ нет комьюнити. Люди просто работают. Без блеска в глазах, подворотов на штанах и всего вот этого вот.
Ага, то-то меня в каждой теме, где я что-то про недостатки С++ или божественного Буста скажу меня обильно минусуют не приводя никаких аргументов. Прям вот как в этой теме. Еще вокруг С++ трется очень много быдла, которое двух слов связать не может, но мнение имеет, как вот это вот существо, например: http://rsdn.org/forum/flame.comp/6944520.1