>>201745360 (OP)Скачай стандартный visual и не выёбывайся, а вообще кто как хочет так и дрочит, можно вообще кодить в блокноте, а компилировать на сайтах.
>>201745360 (OP)Под какую операционку? Под линупс - тысячи их: kdevelop, eclipse cdt, clion (платный), vim, emacs (лол). Под шиндовс - хз.
>>201745608Она тяжеленькпя для моего компа. У меня i3 2120, 4gb.>>201745702А не тяжелр будет там?>>201745636Там есть русский язык?
>>201745360 (OP)Вижуал самое то для неофита. Подсказки синтаксиса, подчеркивает любое даунство, разжевывает ошибки так, что, если хоть немного умеешь в ангельский и не даун — разберёшься
>>201746163Ну тогда даже хз, я кодить учился вообще на допотомном билдере 2000 года, который компилировал через раз правильный код.
>>201746Надо выучить минимум 100к слов, чтоб хотяб что-то на нем читать и я не могу это делать одновременно с изучением программирования.
>>201745360 (OP)>эксперЕментировал с php в блокноте>хочет вкатиться в C++>спрашивает какую IDE выбратьУ тебя нет шансов.
>>201746513Этот прав. Без свободного технического английского путь в погромирование для тебя закрыт. Учи язык
>>201748097От того что ты ошибок в синтаксисе делать не будешь, и разметка у тебя будет читаемая говнокода и логических ошибок меньше у тебя не станет. Так что это больше на маразм похоже.
>>201748359Ненене, маразм - это отвечать безграмотному дауну, который вкатывается в программирования спрашивая какую IDE ему поставить и будет ли там русек. ОП либо толстый тролль, либо клинический идиот.
>>201748239Ой, иди нахуй, сначала мне все пиздели, что линукс сложный, перекатился с винды вообще без проблем, потом про вим, ну своеобразный, но не более, вы дауны какие-то, короче.
>>201748594Ну, иногда, когда вкатываешься во что-то новое хочется сразу начать с нормального ПО, потому что переучиваться тоже время, а насчёт русского, сам я английский знаю достаточно что бы простыни читать, но постоянно его видеть тоже мозг устаёт. Да и может он имел ввиду просто интерфейс с поддержкой русской локализации.
>>201745360 (OP)Если не нужно формочки рисовать то продолжай ебошить в блокноте.Сам пользуюсь vs codium (опенсорс форк visual studio code), реально сила. Фигачь плагин на c/c++ intellisense, code runner, и еще всяких на удобство кодинга.
>>201750007>Зря. Самый четкий.{Нихуя, гораздо логичнее скобочки под скобочками ставить, чтобы видеть вложенность нормально.}
>>201750170На скрине вся вложенность заебись видна, даже даун разглядит цветные скобочки и стрелочки.
>>201750329Я так понял в 1990 это было актуально, чтобы легче закомменчивать форы и ифы, с современными инструментами это неактуально.
>>201750306Смешно, конечно, казалось бы пустяк, но невольно делишь мир на своих и чужих таким образом.>>201750323Ассиметрия, глаз мозолит.
>>201750722Мне больше мозолит висячая скобка.В k&r написано:Какое-то-условие-начало {...} //конецА в твоем воспринимается так:Прост-слово-само-по-себе{//какие то скобки сами по себе висят}
>>201750950Я честно говоря все на нем пишу. И игори под винду, и приложухи под андроид, и утилиты по обработке разных файлов, и файлокачалки, сейчас вот на emscripten и сайты делать начал. Удобно, все на одном языке.
>>201750950Да всякое.>>201751064Не, ну а чё, RAII, смартптры там и вот это всё, по сути вообще можно без new delete писать.
>>201750950>на большое колличество памятиНасколько я слышал для avr люди классы какие-то делают, х3 зачем там ооп, но вот такое есть.
>>201751248По мне так он самый няшный. Улучшенная ява. И не слишком заебенистый как все эти современные го-котлины-сложуры.
>>201751230>Не, ну а чё, RAII, смартптры там и вот это всё, по сути вообще можно без new delete писатьПричем тут 17 тогда?
>>201751291Да, можно писать на c++ под микроконтроллеры, если не лажать то можно много constexpr нахерачить и у тебя будет 0 оверхеда.
>>201751324Хз, мы наш проект прогоняли недавно, там в паре мест всего утечки, по хуйне короче.>>201751376Ну мб новые плюсы имелись ввиду, 11+
>>201750170Она и так табуляцией видна, но мы же хотим больше строк кода, верно? Чтобы потом открывать эту полотнину полупустого текста, скроллить её и дрочить
>>201751435С++ отдельная вселенная вообще, его можно 10 лет изучать и так и не изучишь. Оно тебе не надо, скорее всего.
>>201751418>Ну мб новые плюсы имелись ввиду, 11+Другое дело, но это всё не решает всех проблем. В том же расте с безопасным кодом можно накосячить.
>>201745360 (OP)vscode + clang + cmake (под виндой генерить nmake, под линуксом make)Наиболее "нейтральная" связка, у остальных слишком много специфических заебов.
>>201751622Создать владельца рекурсивной структуры, который потом в дропе развернёт стэк, как тривиальный пример, rc друг на друга.
>>201748010>потом можно потерять интерес к программированиюИ слава богу что ты интерес потеряешь. Нахуй такие не нужны.
>>201751579Ну можно, например, написать что-то типа f(smart_ptr(new Object()), Thing()) и типа т.к порядок вычисления аргументов не определён, может быть такnew Object()Thing()smart_ptr()и если Thing() выбросит исключение, то будет утечка. Но это пиздец тонкости уже, нормально пиши и нормально будет.auto ptr = smart_ptr(new Object());f(ptr, Thing())например.
>>201751621Ну можно вообще делать двойную табуляцию, с пустыми строками между плитками кода, по такой логике. Чем радикальнее, тем лучше
>>201745360 (OP)tldrСамые ценные советы по треду: изучи cmake, изучи флаги компилятора (особенно те, что -w{linter_falgs}).
>>201752025Ну это образно, smart_ptr принимает принимает поинтер и потом в деструкторе делет делает, больше нихуя о нём не известно типа.
>>201751787Да не, вон запилили уже:https://devblogs.microsoft.com/cppblog/clang-llvm-support-for-msbuild-projects/Хотя я не знаю что ты имел ввиду под "без линкера", платформенный тулсет тебе в любом случае нужен. (как и buildessentials/binutils под линуксами)
>>201752025А, или ты имеешь ввиду, что тупо аргументы передаём, а в функции уже создание smart_ptr происходит и проблема исчезает? Ну да, но это как пример, можно сделать код с утечкой, но гораздо тяжелее.>>201752239Что что?>>201752226В смысле?try catch сделал, а утечка осталась.
>>201752348>try catch сделал, а утечка осталась.Так не надо делать, пусть проваливается до конца, падает, виртуалку рестартуешь и вся память с нуля свободна.
>>201752348>можно сделать код с утечкойа можно не сделать. те кто не делают код с утечкой - получают много денег, а кто делает - пишет на JS и ПАЙТОНЕ
>>201752371Все работает, но если ты не знаешь язык заранее то привыкаешь к специфичной хуйне от которой потом тяжело отвыкать (а не зная о их существовании можно и проблем огрести).https://docs.microsoft.com/en-us/cpp/build/reference/microsoft-extensions-to-c-and-cpp?view=vs-2019https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Extensions.html#C_002b_002b-Extensionsclang - наиболее близкий к стандарту вариант
>>201752440Ну типа да, про то и говорю, что язык предоставил кучу возможностей не делать код с утечкой и писать вот такf(smart_ptr(new Object()), Thing()) вряд ли кто-то будет. Это специально надо так стараться.
>>201752467https://docs.microsoft.com/en-us/cpp/build/reference/za-ze-disable-language-extensions?view=vs-2019ну и гнутый можно разогнуть чтобы без выебонов был.
>>201752614>>201752634Ну так не надо использовать эксепшны как софт-ошибки. Эксепшн это фатальный крах, неконсистентный инвариант состояния.
>>201752693Можно. Но не вкатывальщику. Потому что, например, без экстеншена половина Windows.h отвалится, а большинство примеров/книг к нему обращаются.
>>201753259Он сейчас родит что-нибудь вроде "пользуйтесь ванильным позиксом, любой RAII поверх пилите сами". Забей, это тяжелая болезнь.
>>201752858А какое под него может быть ide? Это же динамическая интерпретируемая параша, пиши в блокноте с плдсветочкой и не выебывайся
>>201749107>пользуюсь vs codium (опенсорс форк visual studio code)В чём профит, чем не устроил обычный visual studio code?
>>201752745Невалидный динамик каст это у нас что? Значит ты кастишь не тот объект который был должен получить. Логично?
>>201753259Если ошибка записи у тебя штатная ситуация, которая подразумевает игнор-ретрай-аборт, то это и не ексепшном должно идти, а проверкой кодов возврата, состояния файлового драйвера и т.д. А эксепшн это значит что у тебя жесткий диск сгорел нахуй.
>>201754375Я так понимаю что у тебя сценарий типаclass Cat: Animal { meow() }class Dog: Animal {bark() }void meow(Animal& c) {try{std::dynamic_cast<Cat&>(c)->meow()}try {std::dynamic_cast<Dog&>(c)->bark()}}Но ты знаешь да пошло оно в таком случае.
>>201754566Лол, мультметоды делаются над произвольным типом с ref-семантикой. Но ты не можешь контроллировать использование своего кода за пределами собственно своего кода.
>>201754403> состояния файлового драйвераОхуительные истории, может еще число inode-контроллировать и всегда принудительно буферизацию вырубать чтобы самомальный filesystem велосипед не обосрался ненароком?
>>201754663Ладно будем считать что мне этого не понять. Видимо какой-то контейнер, который молча хавает в трай-катче когда в него что-то неподходящее положили, зато без падений. Пусть лучше потом портит данные.
>>201754717Это один из множества примеров. Посыл в том, что плюсы это не тот язык где нужно поверх абстракций языка накручивать еще и свои искуственные ограничения, конфликтующие с реальностью.
>>201754751Вообще то как раз в плюсах и приходится накручивать кучу ограничений от любителей пострелять в ногу.
>>201754845Ясно, у нас тут суперзвезда которая пишет нечитаемые портянки и оправдывает это якобы неграмотностью других.
>>201754704Он прав. На нагрузках тебе тот же ofstream может выдать фалс на открытие файла, но при ретрае ты можешь получить доступ. Для обычной приложухи это, наверное, перебор, а вот для нагруженных систем такие вещи встречаются.
>>201754830Если без исключений компиллировать на уровне объектника - то да. Но в нормальном режиме ты без этого размантирование носителя, например, не определишь. Если скажем у тебя на амазоновской тачке ECB диск отключился, или, тривиально, флешку вытащили из компа.
>>201754919Ну я вот не согласен. Функция чтения файла по сути возвращает тупл (данные, статус). Если во время чтения прочиталось меньше чем надо, и вылез статус ошибка чтения, спокойно исполняется логика где конечный автомат переходит в другое состояне или там посылается сообщение компоненту который отобразит попап на экране пользователя. Зачем тут городить исключения? Ну видимо кому-то скучно жить и ему нравится дебажить вон те утечки памяти при создании объктов через жопу.
>>201755153Смотря что ты пилишь. Например итерируемый адаптер до ECB/Hadoop/CephFS. В плюсах это обычно типизированный не-константный итератор, который соответственно можно использовать для записи в хранилище.Если ты жестко завяжешься на локальную/сетевую/цодовскую файловую систему то ты проебешь как консистентность, так и скорость (кеши у нас под LFRU по дефолту втыкаются), намертво привяжешься к конкретной реализации конкретной файловой системы. Банально это пускает по пизде быстрое масштабирование-развертывание-репликацию в уже работающей системе.
>>201755490Обычно mmap без оберток, ofstream это дохуя непредсказуемая вещь в конкретной реализации, когда он будет флашить буфер, а когда нет. Это если жесткий диск вообще используется, а не RAM-массив.
Самому нравится sublime text, а запускаю через командную строку, там удобнее выделение и подсветка, но начать лучше с visual studio, и ему подобных, а вообще сверху верно написали, IDE - дело вкуса
>>201755811Это просто была проверка на аутистов. Наверное можно было догадаться, что вместо модального попапа это может быть уведомление в области уведомлений или что вы там сейчас любите.
>>201755571>Обычно mmap без обертокох уж мне этот сишный онанизм.>ofstream это дохуя непредсказуемая вещь в конкретной реализации, когда он будет флашить буфер, а когда нетфлаш ты сам делаешь, а остальное есть с стандарте. нужны строгие гарантии - пишешь сам. не вижу причин самому допилить ofstream под mmap.
>>201755977Так о том и речь. Если ты пишешь что то большое распределенное и перфомансное - то для этого ты используешь то, что предлагают вендоры профильных решений. Банально ни одна контора не выделит бюджет на свой хадуп, по крайней мере в здравом уме.И обратный случай - ты пилишь что-то маленькое и пользуешься стандартной библиотекой со всеми ее исключениями и семантиками, потому что опять же ты не можешь выкатить конкурирующее доказуемо работоспособно изделие, оно само будет тяжелее твоего проекта.
>>201756013Что "это"? Возьми в своей ОС большой файл, начни копировать его на флешку и вытащи, у тебя не будет сообщения об ошибке копирования? Странно.
>>201756164>распределенное и перфомансноеэто шутка такая? посчитай цену запроса к локальному диску и к хадупу.
>>201756241Я тебя перестал понимать. На сях трудно тестировать гуй? Да пожалуй, но библиотеки компьютерного зрения есть, можно детектить где должен находиться попап и текст на нем. Или хотя бы найди соответствующее окно в ОС.
>>201756164ты говоришь про tput, а я про latency на высокой нагрузке. хадуп не даёт быстрого отклика.
>>201756443Может ты шизик и не знаешь что тесты бывают разные? Я тебе могу много про тесты рассказать
>>201756446Хадуп дает сравнительно хороший отклик в среднем, если развернут на жестком кластере и сравнимый с nfs если развернут на рамных дисках.
>>201757127>Хадуп дает сравнительно хороший отклик в среднемСука бля... когда же вы начнёте цифры-то писать.